diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 6e3bf7e..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,6 +0,0 @@
-# A sample Gemfile
-source "https://rubygems.org"
-gem 'guard'
-gem 'guard-livereload'
-
-# gem "rails"
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index 92b52bc..0000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,57 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- celluloid (0.16.0)
- timers (~> 4.0.0)
- coderay (1.1.0)
- em-websocket (0.5.1)
- eventmachine (>= 0.12.9)
- http_parser.rb (~> 0.6.0)
- eventmachine (1.0.4)
- ffi (1.9.6)
- formatador (0.2.5)
- guard (2.11.1)
- formatador (>= 0.2.4)
- listen (~> 2.7)
- lumberjack (~> 1.0)
- nenv (~> 0.1)
- notiffany (~> 0.0)
- pry (>= 0.9.12)
- shellany (~> 0.0)
- thor (>= 0.18.1)
- guard-livereload (2.4.0)
- em-websocket (~> 0.5)
- guard (~> 2.8)
- multi_json (~> 1.8)
- hitimes (1.2.2)
- http_parser.rb (0.6.0)
- listen (2.8.5)
- celluloid (>= 0.15.2)
- rb-fsevent (>= 0.9.3)
- rb-inotify (>= 0.9)
- lumberjack (1.0.9)
- method_source (0.8.2)
- multi_json (1.10.1)
- nenv (0.2.0)
- notiffany (0.0.3)
- nenv (~> 0.1)
- shellany (~> 0.0)
- pry (0.10.1)
- coderay (~> 1.1.0)
- method_source (~> 0.8.1)
- slop (~> 3.4)
- rb-fsevent (0.9.4)
- rb-inotify (0.9.5)
- ffi (>= 0.5.0)
- shellany (0.0.1)
- slop (3.6.0)
- thor (0.19.1)
- timers (4.0.1)
- hitimes
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- guard
- guard-livereload
diff --git a/Guardfile b/Guardfile
deleted file mode 100644
index 8c3922c..0000000
--- a/Guardfile
+++ /dev/null
@@ -1,34 +0,0 @@
-# A sample Guardfile
-# More info at https://github.com/guard/guard#readme
-
-## Uncomment and set this to only include directories you want to watch
-# directories %w(app lib config test spec feature)
-
-## Uncomment to clear the screen before every task
-# clearing :on
-
-## Guard internally checks for changes in the Guardfile and exits.
-## If you want Guard to automatically start up again, run guard in a
-## shell loop, e.g.:
-##
-## $ while bundle exec guard; do echo "Restarting Guard..."; done
-##
-## Note: if you are using the `directories` clause above and you are not
-## watching the project directory ('.'), the you will want to move the Guardfile
-## to a watched dir and symlink it back, e.g.
-#
-# $ mkdir config
-# $ mv Guardfile config/
-# $ ln -s config/Guardfile .
-#
-# and, you'll have to watch "config/Guardfile" instead of "Guardfile"
-
-guard 'livereload' do
- watch(%r{app/views/.+\.(erb|haml|slim)$})
- watch(%r{app/helpers/.+\.rb})
- watch(%r{public/.+\.(css|js|html)})
- watch(%r{config/locales/.+\.yml})
- watch(%r{.+\.(css|js|html)})
- # Rails Assets Pipeline
- watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html|png|jpg))).*}) { |m| "/assets/#{m[3]}" }
-end
diff --git a/cache/ArticlesGenerator-Readers b/cache/ArticlesGenerator-Readers
index 043846e..8098ff3 100644
Binary files a/cache/ArticlesGenerator-Readers and b/cache/ArticlesGenerator-Readers differ
diff --git a/cache/PagesGenerator-Readers b/cache/PagesGenerator-Readers
index 5adb2c9..9d92b71 100644
Binary files a/cache/PagesGenerator-Readers and b/cache/PagesGenerator-Readers differ
diff --git a/content/archlinux-made-simple.md b/content/archlinux-made-simple.md
deleted file mode 100644
index 183038f..0000000
--- a/content/archlinux-made-simple.md
+++ /dev/null
@@ -1,262 +0,0 @@
-Title: Archlinux made simple
-Date: 2012-10-05 14:48
-Author: Wxcafe
-Category: OSes
-Slug: archlinux-made-simple
-
-Archlinux est réputée être une distribution Linux très complexe a
-installer et a maintenir.
-
-Je vais tenter ici de vous convaincre que ce n'est pas le cas, et
-qu'elle peut se monter très intéressante et très instructive a installer
-tout autant qu'a utiliser.
-
-Il convient tout d'abord de rappeler a quels principes obéit Arch:
-
-1. Le KISS : Keep It Simple and Stupid, Archlinux tente de faire des
- programmes simples et utilisables par tous. Avec comme base de
- simplicité les utilisateurs de LFS... Mais il n'empêche qu'avec un peu
- de bonne volonté, la configuration n'est pas si compliquée!
-
-2. La philosophie UNIX : chaque programme est prévu pour ne remplir
- qu'une seule tâche. Bien entendu, cela ne concerne que les programmes
- conçus pour s’insérer dans la philosophie UNIX, et les installations de
- dépendances avec le gestionnaire de paquet d'Arch fonctionnent
- superbement bien.
-
-De plus, posons les bases d'Arch : le gestionnaire de paquets s'appelle
-pacman, et les commandes de base sont :
-
-- recherche d'un paquet :
-
- pacman -Ss paquet
-
-- installation d'un paquet :
-
- sudo pacman -S paquet
-
-- désinstallation d'un paquet :
-
- sudo pacman -R paquet
-
-- mise a jour de tous les paquets installés :
-
- sudo pacman -Syu paquet
-
-Archlinux est une distribution dite "rolling release", ce qui signifie
-qu'il n'y a pas de version a proprement dites, et que les paquets se
-mettent a jour en permanence, sans jamais changer la "version" d'Arch.
-Il n'y a d'ailleurs qu'une seule version de l'installeur sur le site,
-puisqu'une version plus ancienne n'aurait aucun sens.
-
-Arch n'offre pas d'interface graphique par défaut : après avoir installé
-le système, vous n'aurez qu'une invite de commande. Heureusement, je
-vais ici vous guider a travers l'installation d'une interface graphique
-(mate, le fork de gnome 2)
-
-L'installation d'Arch se fait par le réseau, veillez a avoir une
-connection WiFi ou filaire a proximité avant de suivre ce guide.
-
-Ce guide utilise SystemV, alors qu'Arch va prochainement passer sous
-systemd. N'ayant pas encore eu le temps d’expérimenter assez avec ce
-dernier, je ferais un tutoriel pour passer votre Arch a systemd bientôt.
-
-Bon, passons a l'explication de l'installation proprement dite :
-
-Tout d'abord, téléchargeons l'iso d'arch la plus récente :
-
- wget http://mir.archlinux.fr/iso/2012.09.07/archlinux-2012.09.07-dual.iso
-
-Ensuite, gravons cette image sur un disque USB :
-
- dd if=archlinux-2012.09.07-dual.iso of=/dev/sdX
-
-Après reboot de la machine sur l'iso en question et choix de
-l'architecture, nous sommes accueillis par un shell root.
-
-La première chose a faire est de paramétrer le clavier :
-
- loadkeys fr
-
-Puis nous pouvons passer a l'installation proprement dite.
-Partitionnement :
-
- cfdisk # cfdisk est suffisamment clair pour ne pas nécessiter d'explications
-
-formatage des partitions :
-
- mkfs.ext4 /dev/sda1 # partition root
-
- pacman -Syu btrfs-progs && mkfs.btrfs /dev/sda2 # partition home
-
- mkswap /dev/sda3 && swapon /dev/sda3 # partition de swap
-
-Montons les partitions nouvellement créées, puis installons le système :
-
- mount /dev/sda1 /mnt
-
- mkdir /mnt/home && mount /dev/sda2 /mnt/home
-
- dhclient eth0 # si vous utilisez une connection filaire, sinon voire http://wiki.archlinux.fr/Wifi#Configuration
-
- pacstrap /mnt base base-devel
-
- genfstab -p /mnt > /mnt/etc/fstab
-
-Allons prendre un café le temps que ça charge, puis installons les
-quelques paquets nécessaires a notre installation et au premier
-démarrage:
-
- pacstrap /mnt syslinux btrfs-progs wireless_tools dhclient
-
-Maintenant, passons sur notre install toute fraîche d'Arch :
-
- arch-chroot /mnt bash
-
-configurons les bases :
-
- echo HOSTNAME > /etc/hostname
-
- ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
-
- date MMJJhhmmAAAA
-
- hwclock --systohc
-
- vim /etc/locale.gen # Décommentez les lignes correspondant au français : fr_FR.UTF-8 et fr_FR.ISO-8859-1
-
- echo 'LANG="fr_FR.UTF-8"' > /etc/locale.conf
-
- locale-gen
-
- mkinitcpio -p linux
-
-Enfin, vérifions que syslinux est correctement configuré :
-
- vim /boot/syslinux/syslinux.cfg # il devrait y avoir "append root=/dev/sda1"
-
-Si tout est correct, installons syslinux, et paramétrons un mot de passe
-root :
-
- syslinux-install_update /dev/sda -mia
-
- passwd root
-
-Et voila, l'installation est terminée! Plus qu'a quitter la session et a
-redémarrer l'ordinateur!
-
- exit
- umount /mnt/home
- umount /mnt
- reboot
-
-Fini!
-
-Prenons une petite pause. La partie suivante de ce tutoriel consister en
-un paramétrage des principaux services nécessaires a l'utilisation d'un
-OS, disons, moyen :
-
-- Installation de MATE, le gestionnaire de bureau (voir
-[http://mate-desktop.org/][])
-
-- Installation de sudo et de networkmanager pour faire fonctionner les
-composants essentiels du système sans avoir a tout activer a la main a
-chaque démarrage
-
-- Installation de SLiM comme gestionnaire de login graphique, pour
-présenter une interface plus accueillante que la console, et
-configuration de celui-ci
-
-- Installation des principaux logiciels utiles non inclus dans mate ni
-base (yaourt, chromium, thunderbird, etc...).
-
-Ce guide est bien sur optionnel, si vous souhaitez utiliser Arch avec un
-gestionnaire de bureau autre que mate, ou sans, vous pouvez vous arrêter
-ici.
-
-Bon, reprenons.
-
-Nous sommes donc sur une demande de mot de passe. Entrez donc le mot de
-passe paramétré plus haut pour le root, puis retapez la commande
-utilisée plus tôt pour vous connecter a internet.
-
-Il convient d'ajouter le dépôt de MATE pour installer ce dernier, puis
-d'effectuer l'action en question :
-
- vim /etc/pacman.conf
-
-Ici, ajoutez les lignes suivantes :
-
- [mate]
- Server = http://repo.mate-desktop.org/archlinux/$arch
-
-Installons maintenant les paquets :
-
- pacman -Syu mate mate-extras dbus dbus-core alsa networkmanager sudo
-
-Ajoutons un compte utilisateur pour utiliser les composants du système
-sans tout crasher a chaque fois :
-
- useradd -g users -G wheel,audio,optical,lp,scanner,log,power,floppy,storage,games,video -m -s /bin/bash *votrenom*
- passwd *votrenom*
- su *votrenom*
-
-Il faut maintenant éditer le fichier \~/.xinitrc pour préciser a X.org
-ce que l'on veut utiliser :
-
- echo "exec ck-launch-session mate-session" > ~/.xinitrc
-
-Profitons en pour ajouter les démons système au lancement :
-
- vim /etc/rc.conf
-
-Ajoutez donc `dbus, alsa. hwclock` et `networkmanager` dans la section
-DAEMONS (entre les parenthèses, après crond normalement)
-
- DAEMONS=(syslog-ng network crond dbus alsa hwclock networkmanager)
-
-Pour éviter un reboot, il est ici possible de faire un
-
- su
-
-Puis un
-
- /etc/rc.d/dbus start && /etc/rc.d/alsa start && /etc/rc.d/networkmanager start
-
-Sinon, il est possible de juste redémarrer.
-Une fois cela fait, profitez de ce moment pour vous autoriser vous même
-a utiliser sudo. Loggez vous en root, et :
-
- vim /etc/sudoers
-
-Décommentez la ligne qui commence par \# %wheel ALL=(ALL)
-Sauvegardez le fichier, puis, après un `su *votrenom*`, tentez de faire
-un sudo ls /
-Normalement, vous devriez avoir un listing du dossier /
-Bon, maintenant, pourquoi ne pas tenter de lancer MATE?
-C'est simple comme bonjour :
-
- startx
-
-Et PAF! Voila un MATE desktop flambant neuf a configurer!
-Avant de faire ça, retournez sur un TTY (CTRL+ALT+Fx), loggez vous,
-puis installez SLiM (`sudo pacman -Syu slim`).
-Configurons le:
-
- echo "exec dbus-launch mate-session" > ~/.xinitrc && vim /etc/slim.conf
-
-Éditez la ligne
-"`sessions xfce4,icewm-session,wmaker,blackbox`" de facon a
-ce qu'elle ressemble a "`sessions mate-session`"
-Puis ajoutez slim dans /etc/rc.conf, dans la section DAEMONS.
-Normalement, tout devrait fonctionner!
-Ah oui, et pour installer thunderbird, firefox, chromium, etc...
-
- sudo pacman -Syu chromium thunderbird xchat firefox rhythmbox pidgin transmission-gtk vlc
-
-Voila! Et comme dirait [@Spartition][], c'est sale, mais qu'est-ce que c'est
-bon!
-A plus~
-
- [@Spartition]: https://twitter.com/spartition
- [http://mate-desktop.org/]: http://mate-desktop.org/
diff --git a/content/debuts-presentation-etc.md b/content/debuts-presentation-etc.md
deleted file mode 100644
index adce6b8..0000000
--- a/content/debuts-presentation-etc.md
+++ /dev/null
@@ -1,36 +0,0 @@
-Title: Débuts, présentation, etc...
-Date: 2012-08-18 20:27
-Author: Wxcafe
-Category: Notes
-Slug: debuts-presentation-etc
-
-Bonjour!
-
-Je m'appelle Wxcafé, et ça fait pas mal de temps que je sévis sur
-Twitter, mais aussi sur IRC (Je traîne pas mal sur
-irc.freenode.net/\#\#nolife et \#debian-fr)
-
-J'ai 17 ans, je suis donc étudiant (bac général), je vis a Paris, et je
-fais partie de ce genre de personne qui sont capables d'investir tout
-leur temps et leur énergie a s’intéresser a un sujet en particulier, et
-qui ne peuvent pas vivre sans leurs passions, avec une petite différence
-cependant, qui est que je m’intéresse a plusieurs choses :
-l'informatique, qui est un champ tellement large qu'on peut passer une
-vie a apprendre des choses dessus, et plus particulièrement à
-l'informatique avancée (Noyaux dérivés d'UNIX et de Linux, outils libres
-{bien que n'étant pas un barbu intégriste [ceci est un troll assumé. Les
-trolls seront a partir de maintenant indiqués avec le tag [tr]] du
-libre, je préfère utiliser de l'open-source si c'est possible},
-programmation en C, python et java, etc...) , mais aussi a
-l’électronique.
-
-Dans un tout autre registre, je m’intéresse aussi
-beaucoup aux différents aspects du féminisme et des égalités sexuelles
-(anti-homophobie/transphobie/biphobie/etc , anti-sexisme, et cætera) ,
-et a la culture dite "geek" en général.
-
-Je tenterai de poster ici le plus souvent possible, mais j'ai de gros
-problèmes en terme de régularité de post, donc ne vous inquiétez pas si
-vous ne voyez rien pendant deux semaines.
-
-Merci beaucoup de votre attention, et a bientôt!
diff --git a/content/gnulinux-pour-les-non-technophiles-ou-los-libre-pour-votre-grand-mere.md b/content/gnulinux-pour-les-non-technophiles-ou-los-libre-pour-votre-grand-mere.md
deleted file mode 100644
index 6842759..0000000
--- a/content/gnulinux-pour-les-non-technophiles-ou-los-libre-pour-votre-grand-mere.md
+++ /dev/null
@@ -1,84 +0,0 @@
-Title: GNU/Linux pour les non technophiles, ou l'OS libre pour votre grand-mère
-Date: 2012-08-22 20:33
-Author: Wxcafe
-Category: Teaching
-Slug: gnulinux-pour-les-non-technophiles-ou-los-libre-pour-votre-grand-mere
-
-GNU/Linux est un vaste et extraordinaire territoire technologique, mais
-je ne vais pas m'attarder ici sur les aspects profondément techniques de
-ce territoire pour faire plutôt une sorte d'introduction a ce qu'est
-vraiment GNU/Linux, pour les gens n'ayant aucune ou très peu de
-connaissances en informatique.
-
-GNU/Linux, que j’abrégerai ici en Linux pour plus de simplicité, est un
-Système d'Exploitation. Un système d'exploitation est, pour simplifier,
-un ensemble d'outils informatiques qui vous permettent d'utiliser votre
-ordinateur, ainsi, Windows est un système d'exploitation. L'abréviation
-de système d'exploitation (Operating System en anglais) est OS. Les 4
-principaux OS existants aujourd'hui sont Windows, Mac OS, GNU/Linux, et
-Solaris. Les trois derniers sont issus d'un autre système, plus ancien,
-nommé UNIX.
-
-De ce fait, on pourrait penser que Linux remplace complètement Windows
-une fois installé, et comprend une interface graphique, et toutes sortes
-d'utilitaires permettant a l'utilisateur d'utiliser le système (sous
-Windows, pensez a l'explorateur de fichiers, ou a Internet Explorer.
-Pour l'interface graphique, pensez a... Pensez que votre système affiche
-autre chose que des lignes de commande.) Or non, une fois installé,
-Linux en lui même ne vous afficherait aucune interface graphique, et
-s'il est effectivement livré avec des utilitaires, ils ne sont que des
-programmes en ligne de commande. Autant les utilisateurs avancés sauront
-s'en servir, et pourront argumenter que c'est plus efficace ou plus
-rapide, autant les utilisateurs basiques préfèrent une interface
-graphique. Alors comment en obtenir une?
-
-Ici, il convient de faire une précision importante. Si il n'existe
-qu'une seule version de Windows, ou de Mac OS, il existe en fait
-plusieurs centaines de "versions" différentes de Linux. Appelées
-distributions, ces dernière sont développées par des groupes
-complètement séparés, et se basent sur le fait que Linux soit
-entièrement placé sous licence libre (ce qui leur permet de l'utiliser a
-leur guise, a condition que leur travail soit lui aussi placé sous
-licence libre). De ce fait, de nombreuses distributions existent et se
-développent en parallèle. On peut ainsi citer [Debian][], qui est l'une
-des distributions les plus importantes, ou encore [Ubuntu][], qui est
-l'une des plus connues et des plus simples a utiliser.
-
-Ainsi, ces distributions intègrent une interface graphique. Cependant,
-grâce a la liberté dont bénéficient les développeurs sous Linux, il
-existe de nombreuses interfaces graphiques différentes : [Unity][], la
-nouvelle interface d'Ubuntu; [GNOME][] , une interface qui vise a la
-simplicité; ou encore [KDE][], une interface utilisateur ressemblant a
-Windows 7.
-
-Ainsi, le choix astronomique de distributions Linux a bien un sens :
-chacune d'entre elle intègre des outils différents. Par exemple, Debian
-intègre GNOME 2, qui est l'ancienne version de GNOME, ce qui la rend
-particulièrement stable. Ubuntu intègre Unity, ce qui en fait une
-distribution particulièrement intuitive. Linux Mint intègre Cinnamon,
-qui est une version dérivée de GNOME 3, ce qui permet encore une autre
-expérience. Et Arch Linux n'intègre pas d'interface graphique du tout,
-ce qui permet a l'utilisateur de choisir entre les multiples interfaces
-existantes.
-
-Ce qu'il est important de retenir de cela, c'est que Linux est un OS
-complètement libre, ce qui signifie que n'importe qui peut modifier et
-utiliser tout le code de Linux gratuitement et comme il l'entend. Ainsi,
-Linux est un OS qui est véritablement créé par des passionnés, pour tous
-et toutes. Surtout, il convient de retenir que Linux n'est pas compliqué
-a utiliser, ni a installer. Windows et Mac OS ne le sont pas non plus.
-Cependant, Linux donne la possibilité a l'utilisateur de le rendre
-affreusement complexe, mais aussi de le rendre adapté a ses besoins,
-quels que soient ceux ci. Et c'est la que réside l'incroyable puissance
-de ce Système d'Exploitation. Il est extraordinairement adaptable.
-
-N'hésitez donc pas a le présenter a vos proches, même s'ils ne sont pas
-technophiles. Ils pourraient adorer, et peut être même le devenir :)
-
-A bientôt!
-
- [Debian]: http://debian.org
- [Ubuntu]: http://ubuntu.com
- [Unity]: unity.ubuntu.com
- [GNOME]: gnome.org
- [KDE]: http://kde.org/
diff --git a/content/introduction-a-bash-en-tant-que-language-de-programmation.md b/content/introduction-a-bash-en-tant-que-language-de-programmation.md
deleted file mode 100644
index 17981af..0000000
--- a/content/introduction-a-bash-en-tant-que-language-de-programmation.md
+++ /dev/null
@@ -1,158 +0,0 @@
-Title: Introduction a bash en tant que language de programmation.
-Date: 2012-09-08 18:15
-Author: Wxcafe
-Category: Programmation
-Slug: introduction-a-bash-en-tant-que-language-de-programmation
-
-L’interpréteur de commandes bash (Bourne Again SHell)
-est possiblement le shell le plus connu, notamment grâce a son
-intégration en tant que shell par défaut dans les distributions Linux
-les plus répandues (Debian - Ubuntu, Fedora, OpenSUSE, Mandriva -
-Mageia, etc...).
-
-Cependant, il n'est souvent connu qu'en tant qu’interpréteur de
-commande. Alors qu'en réalité, le bash est un langage de programmation
-(presque) complet! Ainsi, il intègre les structures de contrôle
-habituelles ( pour mémoire, les structures de contrôle comprennent les
-conditions (les ifs), les boucles (les while), et les choix (les case),
-entre autres.), et est donc ce que l'on pourrait appeler un langage de
-script, interprété, de la même façon que python, a la difference près
-qu'il contient un prompt (un système d'entrée de commande interactif)
-bien plus complet et développé que python.
-
-Cependant, les programmes en bash ne sont executables que dans un
-environnement de type UNIX, et donc pas sous Windows (cygwin
-(cygwin.com) propose ceci dit un système permettant d'utiliser bash sous
-windows. Il faut malgré tout convenir que cet environnement est bien
-plus compliqué a manipuler, et globalement ne permet pas d'acceder a des
-portages de qualité satisfaisante.)
-
-Ainsi, il est possible de créer des fichiers .sh, contenant des
-instructions bash mises a la suite (de la même façon qu'un script BATCH
-Windows .bat), et faisant appel autant aux commandes internes de bash,
-aussi bien que les commandes externes mises en place par les programmes
-installés sur le système, exactement comme dans une invite de commande.
-Ainsi, pour appeller firefox, la commande 'firefox' lancera le petit
-panda roux directement dans la boite magique, tandis qu'un if
-[condition] suivi d'un then (quelque chose) lancera le fameux quelque
-chose suscité si la condition est vérifiée. Un peu comme en C, quoi.
-
-De cette façon, et avec quelques informations et connaissances, il est
-facile de comprendre le fonctionnement de la programmation en bash.
-Quelques exemples commentés:
-
- #!/bin/bash
- # La ligne du dessus est très importante, c'est elle qui dit a bash quel doit être
- # l'interpreteur des commandes écrites dans ce script. Ici, on dit a bash d'interpréter
- # lui même les commandes comprises dans ce script. On aurait tout de fois pu lui faire
- # executer du python, par exemple, en mettant #!/usr/bin/python a la place.
- echo "this is a test of bash as a simple script manager" # echo est une commande d'affichage de message.
- echo "what's your name, user?"
- read your_name # la commande read permet de demander a l'utilisateur de donner une
- # information, stockée dans la variable en paramètre.
- echo $your_name "is your name" # echo permet aussi d'afficher la valeur de variables.
- # Ici, on renvoie la variable remplie précédemment, suivie d'un message.
- exit # cet appel a exit n'est pas obligatoire, mais donne un aspect plus
- # propre au code. Il ne quittera pas la session de terminal, cependant.
-
-Voila. Ce script bash ne sert pas a grand chose, mais il a le mérite
-d'être clair quand aux capacités et a la simplicité du bash en tant que
-language de programmation. Alors en effet, nous n'avons ici absolument
-pas utilisé les capacités de bash en lui même, et n'avons fait que le
-renvoyer a des programmes externes (sauf read, il est vrai). Voyons
-maintenant la syntaxe de bash quand il s'agit d'utiliser les structures
-de contrôle:
-
- #!/bin/bash
- echo "welcome to this second bash program. would you please kindly enter the name of the machine you're running this on?"
- read host_name
- if [ $host_name == $HOSTNAME ] ## voici la syntaxe du if. Attention a bien penser a mettre les espaces avant la première variable, et après la seconde. La variable $HOSTNAME ici utilisée est une variable présente par défaut sur le système.
- then echo "you told the truth!"
- fi ## le fi est la commande fermant le if, tout comme le EndIf en basic. C'est un peu vieillot, mais important en bash.
- if [ $host_name != $HOSTNAME ] ## l'opérateur != est l'inverse de ==, il vérifie donc si les deux variables ne sont pas les mêmes.
- then echo "you lied!"
- fi
- exit
-
-Voila un petit programme permettant d'apprendre la syntaxe du if en
-bash. comme vous pouvez le voir, le language est plutôt lite, et la
-structure if n'est pas très difficile a prendre en main.
-
-Passons maintenant au while:
-
- #!/bin/bash
- echo "what is your name?"
- read name
- while [ 1 < 10 ] ## le while se présente sous la forme while (truc); do (machin); done. Les [] sont en fait des programmes differents, inclus dans bash.
- do echo "i love" $name
- done
- exit
-
-Ce petit programme permet d'observer les bases de while (qui est la
-boucle de base en bash).
-
-Le troisième opérateur de bash est case. Voyons:
-
- #!/bin/bash
- echo "please enter a number between one and five"
- read number
- case $number in
- 1)
- echo "the choosen number was one"
- ;;
- 2)
- echo "the choosen number was two"
- ;;
- 3)
- echo "the choosen number was three"
- ;;
- 4)
- echo "the choosen number was four"
- ;;
- 5)
- echo "the choosen number was five"
- ;;
- *)
- echo "this number is not correct"
- ;;
- esac
- exit
-
-case est un opérateur plus complexe a utiliser a bon escient, et sert a
-faire des ifs multiples sans avoir a taper des dizaines de lignes de
-code.
-(pour ceux qui auraient du mal avec cet opérateur, il faut comprendre
-que le code vérifie chacune des conditions : le 1) est validé si la
-valeur de \$number est 1, le 2) est validé si cette valeur est 2, etc..
-le \*) désigne toutes les valeurs, et est donc validé si aucune autre
-valeur n'a précédemment acceptée.
-
-Quelques notions manquent ici:
-- les nombres aléatoires sont générés par un appel a la variable
-\$RANDOM, qui renvoie un nombre aléatoire entre 0 et 32767 (un entier a
-16 bits donc). il est possible de faire des invocations a des nombres
-aléatoires plus grands, mais les méthodes permettant de faire cela sont
-plus complexes, et je ne les aborderai donc pas ici.
-- comme vous avez pu le constater, les variables sont désignées en tant
-que telles par l'utilisation d'un symbole \$ au début de leur nom.
-Ainsi, echo number renverra "number", tandis que echo \$number renverra
-le résultat de la variable \$number.
-être utilisées dans un programme bash.
-- comme vous avez pu le constater, les commandes doivent tenir en
-théorie en une ligne. Cependant, le caractère \\ permet de retourner a
-la ligne en faisant considérer a bash qu'il s'agit de la même ligne.
-
-Globalement, il faut admettre que bash n'a pas vocation a être un
-langage de programmation extrêmement développé. Sans framework
-graphique, avec peu de manières d'utiliser de grandes variables, ou
-encore une gestion de la mémoire risible, bash n'a rien d'un langage de
-développement professionnel.
-Cependant, le simple fait qu'il soit considéré comme un langage de
-programmation a part entière font de lui un langage de script d'une
-puissance incontestable, et sa simplicité et sa grande popularité font
-de lui un langage de choix pour apprendre la programmation simplement et
-sans trop se prendre la tête.
-
-J'espère que cet article aura été utile a certain-e-s, et je vous
-souhaite bonne chance dans votre découverte de la programmation (n'allez
-pas voir ceux qui font de l'orienté objet, c'est des méchants :3)
diff --git a/content/la-cryptographie-avec-pgp-et-principalement-gnupg.md b/content/la-cryptographie-avec-pgp-et-principalement-gnupg.md
deleted file mode 100644
index d93b36a..0000000
--- a/content/la-cryptographie-avec-pgp-et-principalement-gnupg.md
+++ /dev/null
@@ -1,177 +0,0 @@
-Title: La cryptographie avec PGP et principalement GnuPG
-Date: 2012-11-19 00:36
-Author: Wxcafe
-Category: Tutoriel
-Slug: la-cryptographie-avec-pgp-et-principalement-gnupg
-
-PGP (pour [pretty good privacy][]) est un système de
-chiffrement asymétrique (pour plus d'information sur le chiffrement
-asymétrique, voir [ici][]) utilisant en général les algorithmes RSA
-et/ou DSA, et pouvant servir a chiffrer tout fichier, mais aussi a
-signer des emails. Le système de signature consiste a s'identifier en
-tant que la personne que l'on est, en certifiant de son identité, et
-repose sur un système dit de *Web of Trust*.
-
-Ce concept de Web of Trust est simple: si je valide le code vous
-identifiant (votre clé), en certifiant que vous êtes qui vous êtes et
-que je vous connais, et que d'autres personnes m'ont déjà
-personnellement validé, les autres utilisateurs seront enclins a croire
-que vous êtes en effet la personne que vous prétendez être. Bien
-entendu, les utilisateurs validant trop de clés rapportées comme fausses
-voient la valeur de leurs signatures baissée, et toutes les clés signées
-par ces utilisateurs voient leur crédibilité baisser.
-Inversement, les "bons utilisateurs" voient la valeur de leurs
-signatures augmentée, ce qui augmente la crédibilité des clés qu'ils ont
-signées.
-
-Ceci dit, un email peut être a la fois signé et chiffré, de façon a être
-sûr, non seulement que l’expéditeur de l'email est bien celui qu'il dit
-être, mais aussi que l'email n'a pas été modifié entre l'envoi et
-la réception (en effet, avec un chiffrement de type RSA/DSA, une
-modification du corps de l'email rend ce dernier illisible, la clé
-publique ne correspondant plus a la phrase de passe du message), ce qui
-offre bien évidemment des avantages non négligeables dans un
-environnement ou la protection des échanges est importante (soit a peu
-près partout sur internet, si vous tenez a votre vie privée. Pensez a
-[quitter Gmail][] aussi, par exemple).
-
-Il est cependant a noter que les clés publiques sont généralement
-situées sur un serveur de clés publiques, tel pgp.mit.edu ou encore
-subkeys.pgp.net (certaines personnes préfèrent garder leur clés hors des
-serveurs de clés publiques, craignant une compromission de ces serveurs.
-Dans le cas d'utilisateurs normaux (c'est a dire n'échangeant pas de
-secrets classés secret-défense par email), la protection offerte par les
-serveurs de clé publiques est suffisante)
-
-L'une des implémentations les plus connues et utilisées de PGP est sans
-conteste GPG ([GNU Privacy Guard][]) , qui comme son nom l'indique fait
-partie du projet GNU, et qui (`` de façon surprenante pour un
-programme GNU``) est extrêmement efficace et claire.
-
-Après ces explications techniques, voici venue le
-moment intéressant/utile, a savoir l'application. Le chiffrement et la
-signature de mails doivent cependant attendre un petit peu, étant donné
-qu'il vous faut d'abord créer votre clé et la placer sur un serveur de
-clés publiques, de façon à ce que votre destinataire puisse vous
-identifier lorsqu'il recevra le mail, mais aussi a configurer votre
-client mail pour utiliser gpg (je baserai les explications de cet
-article sur Thunderbird, mais des explications efficaces sont trouvables
-facilement sur les interwebs).
-
-Tout d'abord, générons une clé GPG :
-
- gpg --gen-key
-
-GPG va vous demander les méthodes de chiffrement que vous voulez
-utiliser, le plus sur est de laisser la valeur par défaut. La question
-suivante est de savoir quelle taille votre clé doit faire, il est
-préférable de choisir la taille la plus importante possible (4096). GPG
-veut ensuite savoir quand votre clé doit expirer. La méthode simple est
-bien évidemment de ne jamais la faire expirer, il est cependant plus
-intéressant dans une logique de sécurité de régler cette durée a six
-mois/un an.
-
-Des informations personnelles vous sont ensuite demandées,
-concernant votre nom (mettez le vrai, tel qu'il apparaît sur votre carte
-d'identité, si vous souhaitez utiliser votre véritable identité), votre
-adresse mail (mettez la plus utilisée, vous pourrez en rajouter plus
-tard), et un mot de passe pour la clé (utilisez un mot de passe
-sécurisé!! Il est conseillé d'utiliser au moins 8 caractères, dont majuscules,
-minuscules, caractères spéciaux et nombres (vous pouvez utiliser la
-commande `makepasswd`, qui génère automatiquement un mot de
-passe)
-
-GPG va maintenant prendre un peu de temps pour générer le couple clé
-publique/clé privée, vous devriez profiter de ce temps pour effectuer
-des opérations autres sur votre ordinateur : taper des textes, lancer
-des films, écouter de la musique... De façon à augmenter les chances
-d'obtenir un nombre bien aléatoire (le générateur d'aléatoire se base
-sur la RAM pour obtenir des bits au hasard)
-
-Une fois cela fini, vous obtenez un couple clé publique/clé privée, que
-vous ne pouvez pas visualiser entièrement pour l'instant. Il est
-cependant possible (et recommandé) de les exporter pour les sauvegarder
-via une commande:
-
- gpg --armor --export --output=pubkey.gpg
-
-pour la clé publique, et
-
- gpg --armor --export-secret-keys --output=seckey.gpg
-
-pour la clé privée. Il est possible et même souhaitable de copier ces
-clés sur une clé USB, une carte SD, ou un autre support de stockage
-résistant, de façon a avoir une solution de sauvegarde, au cas ou vous
-perdiez ces clés sur ce PC.
-
-Cela fait, listons les informations sur votre clé publique :
-
- $ gpg --list-keys --fingerprint
- pub 4096R/27D81AC8 2012-11-17
- Key fingerprint = 6345 A91A FF89 97E0 13D0 96A9 9E2A 1917 27D8 1AC8
- uid Clément Hertling (Wxcafe)
- uid [jpeg image of size 14692]
- sub 4096R/9ED7F77F 2012-11-17
-
-La partie `pub` indique que c'est une clé publique, `4096R` indique que c'est
-une clé RSA sur 4096 bits. La partie `27D81AC8` est
-l'identifiant de la clé publique, `Key fingerprint = 6345 A91A FF89 97E0 13D0
-96A9 9E2A 1917 27D8 1AC8` est appelé fingerprint de la clé. Les champs
-`uid` sont des manières d'identifier la clé et la personne associée a
-celle-ci, et enfin le champ `sub` est indicateur d'une subkey, système
-uniquement pris en charge par GPG et non inclus dans les premières
-versions de PGP, donc non-implémentées dans nombre de clients pgp.
-Passons maintenant a la mise en place de cette clé publique sur un
-serveur de clés : nous utiliserons ici le serveur pgp.mit.edu.
-
- gpg --keyserver pgp.mit.edu --send-keys *ID de la clé a uploader*
-
-Maintenant que votre clé publique a été uploadée, vous pouvez l'utiliser
-pour signer et chiffrer vos emails!
-Installons donc l'extension Enigmail pour Thunderbird, permettant de
-chiffrer/signer vos emails de façon transparente. Il conviendra de
-paramétrer cette extension, via le menu OpenPGP dans Thunderbird, puis
-Setup Wizard (l'option entre Help et About OpenPGP). Normalement,
-Enigmail détecte votre installation de gpg automatiquement, si cependant
-ce n'était pas le cas, vous pouvez utiliser la clé exportée tout a
-l'heure (pubkey.gpg) en l'important (import key from file).
-
-Selon les options que vous avez utilisées, vos emails seront
-automatiquement signés et/ou chiffrés a l'envoi. Gardez cependant a
-l'esprit que si tout le monde peut lire les mails signés, il n'en est
-pas de même pour les mails chiffrés, pour lesquels il est nécessaire de
-posséder la clé publique du correspondant en question, et de posséder
-soi même une clé privée, donc d'utiliser OpenPGP aussi.
-Concernant les signatures de clés, elles fonctionnent de manière très
-simple :
-Vous devez télécharger la clé de votre correspondant, via un
-
- gpg --keyserver pgp.mit.edu --search-keys *ID de la clé de votre correspondant*
-
-(a noter que cette commande fonctionne aussi en cherchant une adresse
-email ou un nom. Cependant, en cherchant via l'identifiant de la clé,
-vous êtes sur de trouver votre correspondant. Globalement, l'email est
-lui aussi assez sûr en terme de recherche de clés, tandis que le nom
-donne rarement un résultat). L'étape suivante est de vérifier que votre
-correspondant est bien la personne qui est spécifiée sur sa clé. Pour
-cela, il convient d'avoir déjà vu physiquement cette personne et si
-possible d'avoir vu une pièce d'identité lui appartenant, et d'avoir une
-confirmation de cette personne que la clé que vous voyez lui appartient
-bien.
-Ceci fait, vous pouvez signer la clé via un
-
- gpg --sign *ID de la clé a signer*
-
-puis la renvoyer au serveur via
-
- gpg --keyserver pgp.mit.edu --send-key *ID de la clé a signer*
-
-Voila, la clé de votre correspondant est signée!
-
-Ce tutoriel sur PGP/GPG est terminé, et votre sécurité est améliorée
-grâce a cette superbe invention qu'est la cryptographie!
-
- [pretty good privacy]: http://fr.wikipedia.org/wiki/Pretty_Good_Privacy
- [ici]: http://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique
- [quitter Gmail]: http://www.hauteresolution.net/pourquoi-je-vais-quitter-gmail/
- [GNU Privacy Guard]: http://fr.wikipedia.org/wiki/GNU_Privacy_Guard
diff --git a/content/la-programmation-expliquee-simplement.md b/content/la-programmation-expliquee-simplement.md
deleted file mode 100644
index 5342b12..0000000
--- a/content/la-programmation-expliquee-simplement.md
+++ /dev/null
@@ -1,75 +0,0 @@
-Title: La programmation expliquée simplement
-Date: 2012-08-27 00:22
-Author: Wxcafe
-Category: Teaching
-Slug: la-programmation-expliquee-simplement
-
-Salut!
-Tout d'abord, je tiens a m'excuser de ne pas avoir eu le temps d'écrire
-récement, mais j'ai eu la chance d'avoir un PC a monter, donc j'ai passé
-pas mal de temps assez occupé.
-
-Enfin, après un certain temps a farfouiller au millieu des connecteurs
-SATA et a apprendre que, oui, l'alimentation sert aussi pour les disques
-durs, je suis de retour pour un court article.
-Du coup, je m'étais dit que j'allais reprendre sur le thème de
-l'informatique expliquée au grand public, en tentant d'aller un peu plus
-loin que la dernière fois sur le thème de la programmation
-Ce qu'il faut comprendre, c'est la facon dont fonctionne un ordinateur.
-Si a peu près tout le monde sait que "les ordinateurs, ils ne
-comprennent que les 1 et les 0!", peu de gens savent comment cela
-fonctionne en détail.
-
-Si vous êtes sur ce blog, il y a pas mal de chance que vous ayez déjà
-des notions de base en informatique. Ainsi, vous savez surement que les
-ordinateurs fonctionnent avec des programmes, qui sont composés de
-code.
-Ainsi, il faut comprendre que le code (source) est "compilé" en un
-fichier "binaire". Un fichier binaire est un fichier comprenant les
-instructions telles qu’exécutées par le processeur, et donc absolument
-illisible pour un humain.
-
-La compilation est le processus qui transforme le code source en
-binaire executable. Les binaires ont, sous Windows, l'extension .exe,
-tandis que sous les systèmes UNIX-like, ils n'ont pas d'extension
-particulière.
-Ceci étant dit, il faut comprendre que certains langages sont plus
-proches que d'autres du langage processeur, les langages les plus
-proches sont dits de "bas niveau". Les langages les plus éloignés sont
-donc dits de haut niveau.
-
-Par exemple, l'assembleur est l'un des languages de plus bas niveau,
-tandis que python par exemple est un langage de plus haut niveau. Les
-langages de haut niveau sont souvent bien plus simples a comprendre et a
-apprendre que les langages de bas niveau
-
-Ainsi, en C, un langage de niveau relativement bas, pour afficher
-"hello world" sur l'écran, le code nécessaire est :
-
- #include
- void main() {
- printf("hello world");
- return 0;
- }
-
-le même programme en python s'écrit :
-
- print "hello world"
-
-et n'a pas besoin d'être compilé , puisqu'il peut être intepreté
-directement.
-
-Python utilise en effet un système similaire a Java en ayant un
-interpréteur dit "runtime" ou "temps réel", qui interprète le programme
-sans le compiler. Java utilise un système légèrement différent, puisque
-le code a besoin d'être compilé, mais est interpreté par un interpréteur
-et non par le processeur.
-
-Cette méthode permet le fameux "code once, run everywhere", ce qui
-signifie que le même code est exécutable sur quasiment tous les systèmes
-d'exploitation (en fait, tous ceux sur lesquels l’interpréteur est
-disponible.)
-
-Voila, je vous laisse sur le fonctionnement de Java et de Python, et je
-vais me coucher.
-A bientôt!
diff --git a/content/la-separation-des-eglises-et-de-letat-une-idee-quelle-est-bonne.md b/content/la-separation-des-eglises-et-de-letat-une-idee-quelle-est-bonne.md
deleted file mode 100644
index 976d720..0000000
--- a/content/la-separation-des-eglises-et-de-letat-une-idee-quelle-est-bonne.md
+++ /dev/null
@@ -1,108 +0,0 @@
-Title: La séparation des églises et de l'état, une idée qu'elle est bonne?
-Date: 2012-12-13 03:08
-Author: Wxcafe
-Category: Ranting
-Slug: la-separation-des-eglises-et-de-letat-une-idee-quelle-est-bonne
-
-Aujourd'hui, et depuis 1901 (j'ai révisé mon histoire récemment), il
-existe une loi dite de séparation des églises et de l'état, qui consiste
-a faire en sorte que l'état n'ait rien a voir avec les differentes
-églises, pour de sombres histoires d'indépendance et de laïcité.
-(principes qui sont aujourd'hui en voie de disparition, mais ce n'est
-pas le propos qui nous occupe ici). Cela dit, cette bonne idée
-politique, si elle a évité a ses auteurs de nombreux tracas, et leur a
-surement permis de conserver une tête en état de fonctionnement bien
-reliée a leur colonne vertébrale, ne vous interesse que moyennement, et
-vous voudriez retourner répondre a vos mails sur Gmail et micro-blogguer
-(quel mot horrible...) sur twitter?
-
-Ça tombe bien, vous abordez justement le sujet véritable de cet article
-(non, mon blog n'est pas devenu un histoblog, désolé aux déçus...), a savoir
-la centralisation qui se met progressivement en place sur internet depuis
-quelques années : Twitter, Google, Facebook, Micro$oft, Apple, tous ces
-acteurs du web (et pas que, pour certains...) ont commencé a prendre
-pour manie de centraliser vos données : pour prendre un exemple simple,
-si vous utilisez Gmail (qui depuis quelque temps, lit aussi vos mails
-pour accorder la publicité, dites adieu a votre vie privée), vous avez
-un compte Google Talk, probablement aussi un Google+.
-
-L'outil le plus pratique aujourd'hui pour aggreger des flux RSS est
-Google Reader, et vous l'utilisez aussi probablement. Votre téléphone
-est un android? Ah, un Nexus? Vous avez donc toutes les applications
-google installées, et Chrome mobile comme navigateur par défaut, qui est
-synchronisé avec la version qui tourne sur votre PC (via les serveurs de
-Google, bien sur).
-Depuis peu, les recherches sur le moteur de recherche
-sont elles aussi ajoutées a votre profil, enregistrées a jamais par
-Google (qui n'est pas touchée, en tant que société américaine, par la
-"loi des 10 ans" francaise.). Vous commencez a voir le truc? Non, ne
-jetez pas ce telephone, enfin! (je refuse de rembourser tout smartphone
-ayant été perdu a cause de cet article) J'ai pris ici comme exemple
-Google, parce que c'est celui qui propose le plus de services, mais
-Apple avec iCloud, iTunes et son iPhone fait pareil, tout comme M$ avec
-WP8 et Skydrive.
-
-Twitter et Facebook n'ont de rôle dans ce sujet qu'en ce que vous leur
-fournissez des informations dont ils s'empressent de devenir seuls
-propriétaires (cf les Conditions d'Utilisation de ces deux services),
-puis de les revendre a des annonceurs faisant de la publicité
-ciblée. Le problème est simple a apprehender, vous ne voulez pas que
-l'un de ces services connaisse trop de choses sur vous (et ils recoupent
-très bien les informations venant de sources differentes), car il est
-évident qu'ils les vendent a des entreprises peu scrupuleuses quand
-a leurs engagements de confidentialité, quand a leurs securité
-aussi; mais surtout parce que depuis le 11 Septembre 2001 et le
-Patriot Act, toute entreprise américaine **doit**fournir toutes ses
-informations au gouvernement américain **sans aucune intervention d'un
-juge, ou de quelque institution de controle que ce soit.**
-
-Ce qui est, comme vous pouvez le comprendre, relativement
-problématique. (pour ceux qui a ce point se disent "je n'ai rien a
-cacher, donc je m'en fous si le gouvernement américain sait tout de
-moi", je vous conseille d'aller lire [cet article][] de Jean Marc
-Manach, plein de bon sens...) Pour éviter cela, vous avez plusieurs
-possibilités: utiliser des services concurrents pour tout (Facebook
-Mail, Skydrive, Twitter et Google Reader par exemple), tout en vous
-souvenant que comme ces entreprises sont toutes américaines, le
-gouvenrnement américain détient tout de même vos informations, et que ca
-lui prendra juste un peu plus de temps.
-
-Vous pouvez aussi n'utiliser que des entreprises francaises,
-mais cela ne regle que le problème du Patriot Act, et pas celui de
-la revente de vos données. Et puis essayez de trouver un service équivalent
-a Google Reader et fourni par une entreprise française, on en reparlera.
-Non, la véritable alternative, c'est d'héberger vos services vous
-même, d'avoir votre propre serveur sur lequel vous possedez le plus
-de services possibles, et d'utiliser des concurents ou des services
-libres au maximum pour les autres, ceux qui ne sont pas distribuables
-(par exemple, les cartes sont difficiles a mettre en commun,
-or plusieurs alternatives existent: Google Maps, ``Apple
-Maps``, Bing Maps, OpenStreetMaps, etc...).
-Beaucoup de ces services sont cependant très facilement
-décentralisables, surement parce qu'ils ont a la base étés conçus comme
-des services décentralisés. Ainsi les emails, le web, le chat (via XMPP)
-par exemple sont basés sur un système décentralisé.
-
-De plus, votre serveur peut vous servir a beaucoup d'autres des
-choses que vous feriez habituellement sur votre ordinateur
-personnel: conserver une présence sur IRC, compiler du code, faire
-du rendu vidéo, etc... En bref, un serveur peut vous servir
-a effectuer toutes les opérations que vous effectuez sur votre
-ordinateur sans les inconvénients de la consommation éléctrique
-ni du bruit, mais vous permet aussi de ne dépendre aucunement
-d'une entreprise américaine, et cependant de disposer de tous les
-services utiles offerts par ces dernières.
-
-Un serveur peut de plus vous permettre de controller parfaitement
-tous ces services, sans aucune limitation d'aucune sorte,
-voire de vous créer une page web. Bien entendu, il est bien plus
-utile d'avoir un serveur si vous avez aussi un nom de domaine.
-Heureusement, ils sont peu chers et souvent fournis avec le serveur.
-
-Dans de prochains articles, je vous expliquerai comment louer puis
-configurer votre serveur pour qu'il serve de serveur mail (IMAP/SMTP),
-web, base de données, et proxy. Cela dit, comme c'est un serveur sous
-linux, vous pouvez l'utiliser pour a peu près n'importe quoi.
-Voila, a bientôt!
-
- [cet article]: http://www.internetactu.net/2009/03/12/la-vie-privee-un-probleme-de-vieux-cons/
diff --git a/content/le-quenya-episode-o.md b/content/le-quenya-episode-o.md
deleted file mode 100644
index e854971..0000000
--- a/content/le-quenya-episode-o.md
+++ /dev/null
@@ -1,44 +0,0 @@
-Title: Le Quenya - Épisode ø
-Date: 2012-09-18 19:07
-Author: Wxcafe
-Category: Language
-Slug: le-quenya-episode-o
-
-Le Quenya est, pour ceux qui ne connaissent pas (comme moi jusqu’à il y
-a peu...), le nom que donnait Tolkien au dialecte principal parlé par
-les Elfes dans les différentes œuvres de l'auteur, dont Le Seigneur des
-Anneaux, le Hobbit, ou encore le Silmarillion. Il faut se rendre compte
-avant de commencer cet article que l'une des œuvres les plus
-impressionnantes de Tolkien, si ce n'est la plus grande, est
-l'impressionnant travail linguistique passé sur les différentes langues
-présentes dans son œuvre littéraire : L'elfique, qui est donc le quenya,
-la langue des nains, qui est appelé le khazalide, etc.
-
-En effet, a contrario des "langues" développées dans d'autres œuvres littéraires
-telles Eragon ou Harry Potter, où l'auteur-e se contente de lier un mot
-de français (ou d'anglais) a un mot de sa "langue", les langues de
-l'oeuvre de Tolkien sont des langues complètes. Elles possèdent des
-racines logiques, des systèmes de grammaire et de conjugaison propres,
-une logique inhérente dans la prononciation ou l'orthographe, et ainsi
-de suite.
-
-Un véritable rêve de linguiste donc, puisque ces langues sont
-pratiquement entièrement documentées par Tolkien lui même (voir
-l'appendice E du SdA, particulièrement instructif a ce sujet.)
-
-J'ai donc décidé d'apprendre le Quenya récemment, et je vais donc poster
-ici des résumés des cours que je suis ( disponibles [ici][] , une
-traduction en français est disponible [la][] en pdf ), et des infos ici
-toutes les deux semaines.
-
-Si ce sujet vous intéresse, le compte twitter @Quenya101 poste
-régulièrement des informations sur le sujet, et pour plus d'infos sur le
-sujet, vous pouvez en trouver [par ici][].
-
-Et en tant que première leçon, vous pouvez apprendre que ce mot que vous
-avez prononcé comme le Kenya tout le long de cet article se prononce en
-fait [Kwenïa], ou bien Qwenya!
-
- [ici]: http://folk.uib.no/hnohf/qcourse.htm
- [la]: http://www.ambar-eldaron.com/telechargements/integraleshelge.pdf
- [par ici]: olk.uib.no/hnohf/quenya.htm
diff --git a/content/les-differentes-couches-dun-systeme-dexploitation.md b/content/les-differentes-couches-dun-systeme-dexploitation.md
deleted file mode 100644
index 235077b..0000000
--- a/content/les-differentes-couches-dun-systeme-dexploitation.md
+++ /dev/null
@@ -1,94 +0,0 @@
-Title: Les différentes couches d'un système d'exploitation
-Date: 2012-09-06 23:29
-Author: Wxcafe
-Category: Teaching
-Slug: les-differentes-couches-dun-systeme-dexploitation
-
-Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques
-années (plus ou moins, parce que j'ai toujours un Windows en dual boot,
-principalement pour les jeux (possiblement plus pour longtemps, avec
-l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou
-moins bien mon système. Or il y a plusieurs choses a savoir sur les
-systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est
-le système de couches.
-
-Un système d'exploitation (de type UNIX, \enfin un vrai système quoi.
-\) incorpore plusieurs systèmes de couches.
-
-Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique,
-c'est a dire que tous les composants sont intégrés au kernel. Ce qui
-signifie que rien ne peut être ajouté au noyau sans recompiler celui ci.
-Or, quand on sait que le noyau comprend entre autres les drivers du
-matériel et des systèmes de fichier, cela peut poser des problèmes quand
-a la taille du kernel et a la licence libre de ce dernier.
-
-Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui
-signifie que des modules peuvent être chargé a tout moment en cours
-d’exécution, ce qui permet l'utilisation de nouveaux systèmes de
-fichiers a chaud, ou l'insertion de matériel et l'installation de
-drivers sans interrompre l’exécution du système (Windows utilise un
-système de fausse installation de drivers pour le matériel externe, et
-un système de pré-installation des drivers pour les périphériques dits
-"plug and play")
-
-Après le noyau intervient le système. Or, au tous premiers instants du
-boot, les systèmes GNU/Linux utilisent un système permettant de limiter
-l'utilisation de ressources systèmes si elles ne sont pas nécessaires,
-et incorpore ainsi un système dit de "runlevels"
-
-Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce
-runlevel permet de tester le bon démarrage du système sans avoir a
-effectuer de manipulation pour le ré-éteindre
-
-Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté
-étant donné que ce runlevel donne accès a un système en étant
-automatiquement loggé en tant que root, avec tous les autres
-utilisateurs désactivés, de même que tous les systèmes de réseaux
-
-Le runlevel 2 est appelé mode multi user, et vous mets en face d'un
-système classique. en ligne de commande, mais avec tous les systèmes de
-réseau désactivés.
-
-Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux
-activés.
-
-Le runlevel 4 n'est pas officiellement défini, et est censé être
-activable en fonction des besoins de l'utilisateur. Sur la plupart des
-distributions grand public, ce runlevel est lié au...
-
-Runlevel 5! Multi-user, networking, with working GUI! c'est le système
-tel que vous le connaissez, avec l'interface graphique et le système de
-login graphique.
-
-Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine
-quand il devient le runlevel courant.
-
-(Il est a noter que Debian, et donc toutes les distribs qui en sont
-dérivées, ne font pas de distinction entre les differents runlevels du 2
-au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login
-et une interface graphique, et un mode réseau fonctionnel, bref avec des
-fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)
-
-Il est possible de changer de runlevel grâce a la commande runlevel
-(oui, c'est évident...)
-
-Les systèmes Linux utilisent aussi un système dit de SandBox , qui en
-informatique est un système permettant d'isoler les processus les uns
-des autres. Ainsi, la pile réseau, qui est le système auquel les
-différents processus envoient les différents paquets qui doivent sortir
-de la machine , et qui redistribue ces paquets, est isolée du reste du
-système, en cela qu'aucun des autres processus ne peuvent modifier cette
-pile hors du runlevel 1 ou 2.
-
-De la même façon, le navigateur chrom/ium fait fonctionner tous les
-onglets, ainsi que toutes les extensions, dans des processus différents.
-Certaines distributions linux implémentent un système de cette sorte
-pour toutes les applications, ou seulement pour certaines. ainsi Chakra
-Linux a un système d'installation d'applications dans des disques
-virtuels, ce qui permet une sécurité totale du processus.
-
-Voila, j'espère vous en avoir appris un peu sur le fonctionnement des
-différentes couches de linux, et j'espère que cet article vous poussera
-a tester un peu votre système et a vous amuser avec les différents
-runlevels
-
diff --git a/content/les-systemes-de-fichiers.md b/content/les-systemes-de-fichiers.md
deleted file mode 100644
index 7003c88..0000000
--- a/content/les-systemes-de-fichiers.md
+++ /dev/null
@@ -1,123 +0,0 @@
-Title: Les systèmes de fichiers
-Date: 2012-09-25 10:28
-Author: Wxcafe
-Category: Teaching
-Slug: les-systemes-de-fichiers
-
-Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
-avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
-connaissez surement NTFS, EXT4, ou encore FAT32.
-
-Ces différents noms désignent en effet des systèmes de fichiers. Mais
-qu'est-ce qu'un système de fichiers?
-
-Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
-fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
-plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
-([kibioctet][]), en fonction du système de fichier utilisé.), qui est
-donc composé de bits, interprétés différemment en fonction du type de
-fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
-n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
-ou il commence ni où il s'arrête (je schématise un peu, mais c'est
-l'idée).
-
-Ainsi, le système de fichier donne un cadre et un standard à
-l'arborescence des fichiers. Par exemple, le système de fichier ext4
-utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
-disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
-et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
-de fichiers nécessitent l'inclusion de drivers dans le noyau pour
-pouvoir être pris en compte.
-
-Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
-reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
-près tout type de partition récente.
-
-Il convient de bien faire la différence entre le système de fichier et
-l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
-une entité virtuelle englobant la racine / et tous les fichiers et
-dossiers contenus dedans, le système de fichier permet a votre système
-GNU/Linux de distinguer les différents fichiers composants cette
-arborescence.
-
-Détaillons maintenant les types de fichiers les plus répandus:
-
-- FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
- soit la définition d'un système de fichier), remplissent leur rôle le
- plus simplement possible. Ne permettant (historiquement) que des noms de
- 8 caractères (plus extension de trois caractères), ni chiffrement, ni
- système de distinction d'utilisateurs (DOS étant un système
- mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
- utlisants respectivement des blocs de 16 et 32 Kio.
-
-- NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
- NT) est un système de fichier qui est apparu avec Windows XP, et qui
- était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
- FAT différentes capacités dont le chiffrement, les liens symboliques, la
- compression et les quotas pour les volumes, permettant de limiter la
- taille maximum occupée dans une partition.
-
-- ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
- Ne différant pas énormément de NTFS, je le mentionne principalement
- parce qu'il est prévu qu'il soit le défaut pour Windows 8.
- Il apporte principalement la redondance, c'est a dire que chaque
- fichier possède une somme de contrôle en 64 bits stockée dans un fichier
- séparé pour éviter les corruption de disque.
-
-- Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
- les plus utilisés sous linux pour le grand public. (Je traiterai ici
- d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
- fonctions que l'on peut attendre d'un système de fichiers moderne, ni
- plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
- acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
- "par extent", ce qui signifie que la création d'un fichier réserve
- automatiquement les zones contiguës de façon a réduire la fragmentation.
-
-- ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
- programmeur Hans Reiser, est a retenir pour avoir été le premier système
- de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
- 4 milliards. Le but de ce système est de créer un système polyvalent, a
- la fois système de fichiers et base de donnée (de part sa grande
- capacité en terme de nombre de fichiers et de l'utilisation d'un
- journal.)
-
-- Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
- l'allocation par extent, mais possède de plus un système de
- sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
- montées en même temps (système pratique et utile pour faire des
- snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
- taille des partitions, en les agrandissant ou en les rétrécissant, est
- compatible avec [LVM][], a un système de checking intégré (btrfsck), et
- utilise un algorithme de compression appelé LZ4, qui accélère les accès
- aux fichiers compressés d'environ 30% par rapport a LZO, le système
- utilisé dans ext4.
-
-- HFS+ : le système de fichier présent sur tous les macs a des capacités
- relativement standards, et ressemble énormément a l'ext3. Il supporte
- cependant les liens directs vers les dossiers, fonction rare sur les
- systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
- dans les années a venir
-
-- ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
- et \*BSD, est, tel Btrfs, a la fois un système de fichier et un
- remplaçant/compatible avec LVM, C'est un système de fichiers conçu
- principalement pour les serveurs, et il intègre ainsi un système de
- redondance des données pour éviter les corruptions, un mode RAID-Z
- (apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
- etc...
-
-Comme on a pu le voir, les systèmes de fichiers disponibles sont
-légions. Cependant, le plus adapté a Linux et a une utilisation grand
-public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
-n'est pas aujourd'hui proposé par défaut sur les distributions les plus
-utilisées, au profit de l'ext4, qui commence a accuser son âge...
-
-Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
-fonctionnement du système, sont en fait de première importance, et ce
-choix ne devrait pas être laissé au hasard, et être mis a jour
-régulièrement (pour éviter les failles de sécurité...)
-
-Bon courage, et bon choix pour votre prochain système.
-
- [kibioctet]: http://fr.wikipedia.org/wiki/Kibioctet#Multiples_normalis.C3.A9s
- [LVM]: http://fr.wikipedia.org/wiki/LVM
diff --git a/content/linformatique-a-lecole.md b/content/linformatique-a-lecole.md
deleted file mode 100644
index e7bf923..0000000
--- a/content/linformatique-a-lecole.md
+++ /dev/null
@@ -1,81 +0,0 @@
-Title: L'informatique a l'école
-Date: 2012-10-15 20:34
-Author: Wxcafe
-Category: Ranting
-Slug: linformatique-a-lecole
-
-Après avoir lu [cet article][] paru sur écrans.fr, et au vu des
-nombreuses réflexions que j'ai eu sur ce sujet au cours des années, je
-commence a me demander si la réponse logique ne serait pas d'enseigner
-les bases de l'informatique (bases d’électronique, de programmation et
-de logique formelle) dès le collège.
-
-En effet, l'exemple qui me revient toujours est celui des technoprêtres
-de warhammer 40 000, dans un univers ou la technologie est ritualisée et
-incomprise même des plus savants, qui se contentent de reproduire ce qui
-existe, et parfois par chance de retrouver un schéma explicatif lisible
-par une machine, et qu'ils ne comprennent pas eux mêmes, ou toute
-technologie est ointe d'onguents sacrés, entourée d'encens avant d'être
-péniblement actionnée par des assistants ne comprenant rien a cette
-technologie (ayant lu [Hackers - Heroes of the Computer Revolution][] de
-Steven Levy, c'est l'ambiance que l'on retrouve quand l'auteur décrit
-l'ambiance près des machines IBM au MIT, au début de l'ouvrage), et il
-me semble que de plus en plus la société se rapproche de cela.
-
-Cette culture de l’ingénierie, qui existait beaucoup lors des débuts de
-l'informatique (telle que décrite par exemple par Steve Wozniak dans son
-livre [iWoz][]) disparait pour laisser place a une culture de la
-consommation et de l'utilisation de contenus existants, et même a une
-certaine peur de la compréhension de la technologie. Ceux qui s'y
-intéressent sont considérés comme marginaux (combien de hackers créent
-des outils sur lesquels seront construits tous les systèmes du siècle a
-venir, tels des Dennis Ritchie en puissance? Combien d'entre eux ne sont
-pas intégrés a la société dite "normale"?), et on peut souvent observer
-les réactions de peur que lancent les actions des hackers, ne serait-ce
-que dans les journaux (combien de journaux 'mainstream' ont-ils parlés
-des hackers en bien, c'est a dire tels qu'ils sont réellement, depuis
-les années 80?) ou a la télévision.
-
-Ainsi, la culture et la connaissance de ces appareils que
-sont les ordinateurs, qui aujourd'hui se trouvent du fond de nos
-poches a dans l'espace en passant par l’intérieur des pacemakers
-jusqu’à être une composante indispensable de la société, se perdent et
-rendent ainsi la compréhension de ces appareils impossible (j'ai eu
-la désagréable surprise récemment de voir un camarade de classe
-me poser ingénument la question "Ah, mais en fait, quand tu installes
-Linux, ça change le fond d'écran et les icônes?". Au-delà du niveau,
-la misère de cette question est que cette personne n'avait probablement
-aucune idée de la façon dont fonctionnait son ordinateur, a part
-pour le fond d'écran en question et pour les fameuses icônes.) pour
-le grand public, et cet évolution crée de fait une sorte d'oligarchie de
-techno-comprenants, seuls capables de manier et de créer la technologie.
-
-C'est pour cela qu'il me semble intéressant, important, peut être même
-requis, d'inclure au programme du collège puis du lycée des cours
-d’électronique et d'informatique tels que décrits plus haut, de façon a
-ce que les élèves comprennent le monde qui les entoure. Car c'est la le
-but du cycle scolaire secondaire, me semble-t-il, et non pas de former
-des futurs travailleurs. Sinon, pourquoi y aurait-il des cours de
-musique, d'arts plastiques, ou encore de philosophie? Si le but du cycle
-secondaire est bien d'ouvrir l'esprit des élèves sur le monde et sur ce
-qui les entoure, alors les cours sur l'informatique s'imposent comme une
-évidence, puisque ceux-ci nous entourent aujourd'hui bien plus que quoi
-que soit d'autre...
-
-Ces cours seraient susceptibles de s’insérer en un mélange entre des
-cours de technologie (qui aujourd'hui sont bien plus orientés physique
-et machines-outils qu'informatique ou électronique, alors que la
-technologie d'aujourd'hui et vraisemblablement de demain aussi est
-l'informatique) et de physique, pour le côté électronique, et de façon a
-donner enfin aux cours de physique un intérêt quelconque, sortir au delà
-de la théorie et de l'abstraction complète que sont actuellement ces
-cours et passer un peu dans la réalisation, avec des arduinos par
-exemple.
-
-Vous aussi, intéressez vous a cela, de façon a ce que les jeunes ne
-finissent pas par ne rien comprendre a ce qui est aujourd'hui l'une des
-composante les plus importantes du monde tel qu'il est programmé.
-
- [cet article]: http://t.co/5PTfe6zu
- [Hackers - Heroes of the Computer Revolution]: http://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution
- [iWoz]: http://en.wikipedia.org/wiki/IWoz
diff --git a/content/update-a-propos-du-blog.md b/content/update-a-propos-du-blog.md
deleted file mode 100644
index 2d63b13..0000000
--- a/content/update-a-propos-du-blog.md
+++ /dev/null
@@ -1,34 +0,0 @@
-Title: Update a propos du blog
-Date: 2012-09-18 16:57
-Author: Wxcafe
-Category: Notes
-Slug: update-a-propos-du-blog
-
-Bonsoir! Un petit post pour faire un peu le point sur ce blog.
-Comme vous avez pu le remarquer, j'ai un peu de mal a tenir les délais
-que je m'étais fixés pour ce blog (un post tous les 8 jours), et après y
-avoir un tantinet réfléchi, ceci est du a deux points principaux :
-
-- Tout d'abord, le manque d'inspiration, tout simplement. C'est assez
-compliqué de trouver des sujets intéressants liés a l'informatique, et
-qui méritent un article. Je vous invite d'ailleurs a me suggérer des
-sujets via les commentaires ou twitter ([@Wxcafe][])
-
-- Ensuite, le délai de 8 jours est trop court pour me permettre de faire
-les recherches nécessaires, tout en manageant mes cours et mon temps
-libre.
-
-A cause de cela, j'ai pris la décision de changer le rythme de parution
-des articles a un \*minimum\* d'un post tous les 10 jours. Bien entendu,
-si j'ai de l'inspiration en trop, plus de posts sont envisageables.
-
-Voila. A part ca, je tiens a vous remercier de me lire (c'est assez
-étonnant de voir ca...), et je précise que je vais ajouter une page
-About Me, qui bien entendu rassemblera des informations sur moi, ma vie,
-mon oeuvre :P
-
-Ceci dit, je vais bosser un peu sur le prochain article.
-
-A plus tard!
-
- [@Wxcafe]: https://twitter.com/wxcafe
diff --git a/output/author/wxcafe3.html b/output/author/wxcafe3.html
deleted file mode 100644
index 8105624..0000000
--- a/output/author/wxcafe3.html
+++ /dev/null
@@ -1,1271 +0,0 @@
-
-
-
Archlinux est réputée être une distribution Linux très complexe a
-installer et a maintenir.
-
Je vais tenter ici de vous convaincre que ce n'est pas le cas, et
-qu'elle peut se monter très intéressante et très instructive a installer
-tout autant qu'a utiliser.
-
Il convient tout d'abord de rappeler a quels principes obéit Arch:
-
-
-
Le KISS : Keep It Simple and Stupid, Archlinux tente de faire des
- programmes simples et utilisables par tous. Avec comme base de
- simplicité les utilisateurs de LFS... Mais il n'empêche qu'avec un peu
- de bonne volonté, la configuration n'est pas si compliquée!
-
-
-
La philosophie UNIX : chaque programme est prévu pour ne remplir
- qu'une seule tâche. Bien entendu, cela ne concerne que les programmes
- conçus pour s’insérer dans la philosophie UNIX, et les installations de
- dépendances avec le gestionnaire de paquet d'Arch fonctionnent
- superbement bien.
-
-
-
De plus, posons les bases d'Arch : le gestionnaire de paquets s'appelle
-pacman, et les commandes de base sont :
-
-
-
recherche d'un paquet :
-
pacman-Sspaquet
-
-
-
-
-
-
installation d'un paquet :
-
sudopacman-Spaquet
-
-
-
-
-
-
désinstallation d'un paquet :
-
sudopacman-Rpaquet
-
-
-
-
-
-
mise a jour de tous les paquets installés :
-
sudopacman-Syupaquet
-
-
-
-
-
-
Archlinux est une distribution dite "rolling release", ce qui signifie
-qu'il n'y a pas de version a proprement dites, et que les paquets se
-mettent a jour en permanence, sans jamais changer la "version" d'Arch.
-Il n'y a d'ailleurs qu'une seule version de l'installeur sur le site,
-puisqu'une version plus ancienne n'aurait aucun sens.
-
Arch n'offre pas d'interface graphique par défaut : après avoir installé
-le système, vous n'aurez qu'une invite de commande. Heureusement, je
-vais ici vous guider a travers l'installation d'une interface graphique
-(mate, le fork de gnome 2)
-
L'installation d'Arch se fait par le réseau, veillez a avoir une
-connection WiFi ou filaire a proximité avant de suivre ce guide.
-
Ce guide utilise SystemV, alors qu'Arch va prochainement passer sous
-systemd. N'ayant pas encore eu le temps d’expérimenter assez avec ce
-dernier, je ferais un tutoriel pour passer votre Arch a systemd bientôt.
-
Bon, passons a l'explication de l'installation proprement dite :
-
Tout d'abord, téléchargeons l'iso d'arch la plus récente :
Et voila, l'installation est terminée! Plus qu'a quitter la session et a
-redémarrer l'ordinateur!
-
exit
-umount/mnt/home
-umount/mnt
-reboot
-
-
-
-
Fini!
-
Prenons une petite pause. La partie suivante de ce tutoriel consister en
-un paramétrage des principaux services nécessaires a l'utilisation d'un
-OS, disons, moyen :
Installation de sudo et de networkmanager pour faire fonctionner les
-composants essentiels du système sans avoir a tout activer a la main a
-chaque démarrage
-
-
-
Installation de SLiM comme gestionnaire de login graphique, pour
-présenter une interface plus accueillante que la console, et
-configuration de celui-ci
-
-
-
Installation des principaux logiciels utiles non inclus dans mate ni
-base (yaourt, chromium, thunderbird, etc...).
-
-
-
Ce guide est bien sur optionnel, si vous souhaitez utiliser Arch avec un
-gestionnaire de bureau autre que mate, ou sans, vous pouvez vous arrêter
-ici.
-
Bon, reprenons.
-
Nous sommes donc sur une demande de mot de passe. Entrez donc le mot de
-passe paramétré plus haut pour le root, puis retapez la commande
-utilisée plus tôt pour vous connecter a internet.
-
Il convient d'ajouter le dépôt de MATE pour installer ce dernier, puis
-d'effectuer l'action en question :
Sinon, il est possible de juste redémarrer.
-Une fois cela fait, profitez de ce moment pour vous autoriser vous même
-a utiliser sudo. Loggez vous en root, et :
-
vim/etc/sudoers
-
-
-
-
Décommentez la ligne qui commence par # %wheel ALL=(ALL)
-Sauvegardez le fichier, puis, après un su *votrenom*, tentez de faire
-un sudo ls /
-Normalement, vous devriez avoir un listing du dossier /
-Bon, maintenant, pourquoi ne pas tenter de lancer MATE?
-C'est simple comme bonjour :
-
startx
-
-
-
-
Et PAF! Voila un MATE desktop flambant neuf a configurer!
-Avant de faire ça, retournez sur un TTY (CTRL+ALT+Fx), loggez vous,
-puis installez SLiM (sudo pacman -Syu slim).
-Configurons le:
Éditez la ligne
-"sessions xfce4,icewm-session,wmaker,blackbox" de facon a
-ce qu'elle ressemble a "sessions mate-session"
-Puis ajoutez slim dans /etc/rc.conf, dans la section DAEMONS.
-Normalement, tout devrait fonctionner!
-Ah oui, et pour installer thunderbird, firefox, chromium, etc...
Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
-avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
-connaissez surement NTFS, EXT4, ou encore FAT32.
-
Ces différents noms désignent en effet des systèmes de fichiers. Mais
-qu'est-ce qu'un système de fichiers?
-
Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
-fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
-plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
-(kibioctet), en fonction du système de fichier utilisé.), qui est
-donc composé de bits, interprétés différemment en fonction du type de
-fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
-n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
-ou il commence ni où il s'arrête (je schématise un peu, mais c'est
-l'idée).
-
Ainsi, le système de fichier donne un cadre et un standard à
-l'arborescence des fichiers. Par exemple, le système de fichier ext4
-utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
-disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
-et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
-de fichiers nécessitent l'inclusion de drivers dans le noyau pour
-pouvoir être pris en compte.
-
Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
-reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
-près tout type de partition récente.
-
Il convient de bien faire la différence entre le système de fichier et
-l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
-une entité virtuelle englobant la racine / et tous les fichiers et
-dossiers contenus dedans, le système de fichier permet a votre système
-GNU/Linux de distinguer les différents fichiers composants cette
-arborescence.
-
Détaillons maintenant les types de fichiers les plus répandus:
-
-
-
FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
- soit la définition d'un système de fichier), remplissent leur rôle le
- plus simplement possible. Ne permettant (historiquement) que des noms de
- 8 caractères (plus extension de trois caractères), ni chiffrement, ni
- système de distinction d'utilisateurs (DOS étant un système
- mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
- utlisants respectivement des blocs de 16 et 32 Kio.
-
-
-
NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
- NT) est un système de fichier qui est apparu avec Windows XP, et qui
- était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
- FAT différentes capacités dont le chiffrement, les liens symboliques, la
- compression et les quotas pour les volumes, permettant de limiter la
- taille maximum occupée dans une partition.
-
-
-
ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
- Ne différant pas énormément de NTFS, je le mentionne principalement
- parce qu'il est prévu qu'il soit le défaut pour Windows 8.
- Il apporte principalement la redondance, c'est a dire que chaque
- fichier possède une somme de contrôle en 64 bits stockée dans un fichier
- séparé pour éviter les corruption de disque.
-
-
-
Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
- les plus utilisés sous linux pour le grand public. (Je traiterai ici
- d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
- fonctions que l'on peut attendre d'un système de fichiers moderne, ni
- plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
- acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
- "par extent", ce qui signifie que la création d'un fichier réserve
- automatiquement les zones contiguës de façon a réduire la fragmentation.
-
-
-
ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
- programmeur Hans Reiser, est a retenir pour avoir été le premier système
- de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
- 4 milliards. Le but de ce système est de créer un système polyvalent, a
- la fois système de fichiers et base de donnée (de part sa grande
- capacité en terme de nombre de fichiers et de l'utilisation d'un
- journal.)
-
-
-
Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
- l'allocation par extent, mais possède de plus un système de
- sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
- montées en même temps (système pratique et utile pour faire des
- snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
- taille des partitions, en les agrandissant ou en les rétrécissant, est
- compatible avec LVM, a un système de checking intégré (btrfsck), et
- utilise un algorithme de compression appelé LZ4, qui accélère les accès
- aux fichiers compressés d'environ 30% par rapport a LZO, le système
- utilisé dans ext4.
-
-
-
HFS+ : le système de fichier présent sur tous les macs a des capacités
- relativement standards, et ressemble énormément a l'ext3. Il supporte
- cependant les liens directs vers les dossiers, fonction rare sur les
- systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
- dans les années a venir
-
-
-
ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
- et *BSD, est, tel Btrfs, a la fois un système de fichier et un
- remplaçant/compatible avec LVM, C'est un système de fichiers conçu
- principalement pour les serveurs, et il intègre ainsi un système de
- redondance des données pour éviter les corruptions, un mode RAID-Z
- (apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
- etc...
-
-
-
Comme on a pu le voir, les systèmes de fichiers disponibles sont
-légions. Cependant, le plus adapté a Linux et a une utilisation grand
-public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
-n'est pas aujourd'hui proposé par défaut sur les distributions les plus
-utilisées, au profit de l'ext4, qui commence a accuser son âge...
-
Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
-fonctionnement du système, sont en fait de première importance, et ce
-choix ne devrait pas être laissé au hasard, et être mis a jour
-régulièrement (pour éviter les failles de sécurité...)
-
Bon courage, et bon choix pour votre prochain système.
Le Quenya est, pour ceux qui ne connaissent pas (comme moi jusqu’à il y
-a peu...), le nom que donnait Tolkien au dialecte principal parlé par
-les Elfes dans les différentes œuvres de l'auteur, dont Le Seigneur des
-Anneaux, le Hobbit, ou encore le Silmarillion. Il faut se rendre compte
-avant de commencer cet article que l'une des œuvres les plus
-impressionnantes de Tolkien, si ce n'est la plus grande, est
-l'impressionnant travail linguistique passé sur les différentes langues
-présentes dans son œuvre littéraire : L'elfique, qui est donc le quenya,
-la langue des nains, qui est appelé le khazalide, etc.
-
En effet, a contrario des "langues" développées dans d'autres œuvres littéraires
-telles Eragon ou Harry Potter, où l'auteur-e se contente de lier un mot
-de français (ou d'anglais) a un mot de sa "langue", les langues de
-l'oeuvre de Tolkien sont des langues complètes. Elles possèdent des
-racines logiques, des systèmes de grammaire et de conjugaison propres,
-une logique inhérente dans la prononciation ou l'orthographe, et ainsi
-de suite.
-
Un véritable rêve de linguiste donc, puisque ces langues sont
-pratiquement entièrement documentées par Tolkien lui même (voir
-l'appendice E du SdA, particulièrement instructif a ce sujet.)
-
J'ai donc décidé d'apprendre le Quenya récemment, et je vais donc poster
-ici des résumés des cours que je suis ( disponibles ici , une
-traduction en français est disponible la en pdf ), et des infos ici
-toutes les deux semaines.
-
Si ce sujet vous intéresse, le compte twitter @Quenya101 poste
-régulièrement des informations sur le sujet, et pour plus d'infos sur le
-sujet, vous pouvez en trouver par ici.
-
Et en tant que première leçon, vous pouvez apprendre que ce mot que vous
-avez prononcé comme le Kenya tout le long de cet article se prononce en
-fait [Kwenïa], ou bien Qwenya!
Bonsoir! Un petit post pour faire un peu le point sur ce blog.
-Comme vous avez pu le remarquer, j'ai un peu de mal a tenir les délais
-que je m'étais fixés pour ce blog (un post tous les 8 jours), et après y
-avoir un tantinet réfléchi, ceci est du a deux points principaux :
-
-
-
Tout d'abord, le manque d'inspiration, tout simplement. C'est assez
-compliqué de trouver des sujets intéressants liés a l'informatique, et
-qui méritent un article. Je vous invite d'ailleurs a me suggérer des
-sujets via les commentaires ou twitter (@Wxcafe)
-
-
-
Ensuite, le délai de 8 jours est trop court pour me permettre de faire
-les recherches nécessaires, tout en manageant mes cours et mon temps
-libre.
-
-
-
A cause de cela, j'ai pris la décision de changer le rythme de parution
-des articles a un *minimum* d'un post tous les 10 jours. Bien entendu,
-si j'ai de l'inspiration en trop, plus de posts sont envisageables.
-
Voila. A part ca, je tiens a vous remercier de me lire (c'est assez
-étonnant de voir ca...), et je précise que je vais ajouter une page
-About Me, qui bien entendu rassemblera des informations sur moi, ma vie,
-mon oeuvre :P
-
Ceci dit, je vais bosser un peu sur le prochain article.
L’interpréteur de commandes bash (Bourne Again SHell)
-est possiblement le shell le plus connu, notamment grâce a son
-intégration en tant que shell par défaut dans les distributions Linux
-les plus répandues (Debian - Ubuntu, Fedora, OpenSUSE, Mandriva -
-Mageia, etc...).
-
Cependant, il n'est souvent connu qu'en tant qu’interpréteur de
-commande. Alors qu'en réalité, le bash est un langage de programmation
-(presque) complet! Ainsi, il intègre les structures de contrôle
-habituelles ( pour mémoire, les structures de contrôle comprennent les
-conditions (les ifs), les boucles (les while), et les choix (les case),
-entre autres.), et est donc ce que l'on pourrait appeler un langage de
-script, interprété, de la même façon que python, a la difference près
-qu'il contient un prompt (un système d'entrée de commande interactif)
-bien plus complet et développé que python.
-
Cependant, les programmes en bash ne sont executables que dans un
-environnement de type UNIX, et donc pas sous Windows (cygwin
-(cygwin.com) propose ceci dit un système permettant d'utiliser bash sous
-windows. Il faut malgré tout convenir que cet environnement est bien
-plus compliqué a manipuler, et globalement ne permet pas d'acceder a des
-portages de qualité satisfaisante.)
-
Ainsi, il est possible de créer des fichiers .sh, contenant des
-instructions bash mises a la suite (de la même façon qu'un script BATCH
-Windows .bat), et faisant appel autant aux commandes internes de bash,
-aussi bien que les commandes externes mises en place par les programmes
-installés sur le système, exactement comme dans une invite de commande.
-Ainsi, pour appeller firefox, la commande 'firefox' lancera le petit
-panda roux directement dans la boite magique, tandis qu'un if
-[condition] suivi d'un then (quelque chose) lancera le fameux quelque
-chose suscité si la condition est vérifiée. Un peu comme en C, quoi.
-
De cette façon, et avec quelques informations et connaissances, il est
-facile de comprendre le fonctionnement de la programmation en bash.
-Quelques exemples commentés:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
#!/bin/bash
-# La ligne du dessus est très importante, c'est elle qui dit a bash quel doit être
-# l'interpreteur des commandes écrites dans ce script. Ici, on dit a bash d'interpréter
-# lui même les commandes comprises dans ce script. On aurait tout de fois pu lui faire
-# executer du python, par exemple, en mettant #!/usr/bin/python a la place.
-echo"this is a test of bash as a simple script manager"# echo est une commande d'affichage de message.
-echo"what's your name, user?"
-read your_name # la commande read permet de demander a l'utilisateur de donner une
-# information, stockée dans la variable en paramètre.
-echo$your_name"is your name"# echo permet aussi d'afficher la valeur de variables.
-# Ici, on renvoie la variable remplie précédemment, suivie d'un message.
-exit# cet appel a exit n'est pas obligatoire, mais donne un aspect plus
-# propre au code. Il ne quittera pas la session de terminal, cependant.
-
-
-
-
Voila. Ce script bash ne sert pas a grand chose, mais il a le mérite
-d'être clair quand aux capacités et a la simplicité du bash en tant que
-language de programmation. Alors en effet, nous n'avons ici absolument
-pas utilisé les capacités de bash en lui même, et n'avons fait que le
-renvoyer a des programmes externes (sauf read, il est vrai). Voyons
-maintenant la syntaxe de bash quand il s'agit d'utiliser les structures
-de contrôle:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
#!/bin/bash
-echo"welcome to this second bash program. would you please kindly enter the name of the machine you're running this on?"
-read host_name
-if[$host_name==$HOSTNAME]## voici la syntaxe du if. Attention a bien penser a mettre les espaces avant la première variable, et après la seconde. La variable $HOSTNAME ici utilisée est une variable présente par défaut sur le système.
-then echo"you told the truth!"
-fi## le fi est la commande fermant le if, tout comme le EndIf en basic. C'est un peu vieillot, mais important en bash.
-if[$host_name !=$HOSTNAME]## l'opérateur != est l'inverse de ==, il vérifie donc si les deux variables ne sont pas les mêmes.
-then echo"you lied!"
-fi
-exit
-
-
-
-
Voila un petit programme permettant d'apprendre la syntaxe du if en
-bash. comme vous pouvez le voir, le language est plutôt lite, et la
-structure if n'est pas très difficile a prendre en main.
-
Passons maintenant au while:
-
1
-2
-3
-4
-5
-6
-7
#!/bin/bash
-echo"what is your name?"
-read name
-while[ 1 < 10 ]## le while se présente sous la forme while (truc); do (machin); done. Les [] sont en fait des programmes differents, inclus dans bash.
-do echo"i love"$name
-done
-exit
-
-
-
-
Ce petit programme permet d'observer les bases de while (qui est la
-boucle de base en bash).
#!/bin/bash
-echo"please enter a number between one and five"
-read number
-case$number in
-1)
-echo"the choosen number was one"
-;;
-2)
-echo"the choosen number was two"
-;;
-3)
-echo"the choosen number was three"
-;;
-4)
-echo"the choosen number was four"
-;;
-5)
-echo"the choosen number was five"
-;;
-*)
-echo"this number is not correct"
-;;
-esac
-exit
-
-
-
-
case est un opérateur plus complexe a utiliser a bon escient, et sert a
-faire des ifs multiples sans avoir a taper des dizaines de lignes de
-code.
-(pour ceux qui auraient du mal avec cet opérateur, il faut comprendre
-que le code vérifie chacune des conditions : le 1) est validé si la
-valeur de \$number est 1, le 2) est validé si cette valeur est 2, etc..
-le *) désigne toutes les valeurs, et est donc validé si aucune autre
-valeur n'a précédemment acceptée.
-
Quelques notions manquent ici:
-- les nombres aléatoires sont générés par un appel a la variable
-\$RANDOM, qui renvoie un nombre aléatoire entre 0 et 32767 (un entier a
-16 bits donc). il est possible de faire des invocations a des nombres
-aléatoires plus grands, mais les méthodes permettant de faire cela sont
-plus complexes, et je ne les aborderai donc pas ici.
-- comme vous avez pu le constater, les variables sont désignées en tant
-que telles par l'utilisation d'un symbole \$ au début de leur nom.
-Ainsi, echo number renverra "number", tandis que echo \$number renverra
-le résultat de la variable \$number.
-être utilisées dans un programme bash.
-- comme vous avez pu le constater, les commandes doivent tenir en
-théorie en une ligne. Cependant, le caractère \ permet de retourner a
-la ligne en faisant considérer a bash qu'il s'agit de la même ligne.
-
Globalement, il faut admettre que bash n'a pas vocation a être un
-langage de programmation extrêmement développé. Sans framework
-graphique, avec peu de manières d'utiliser de grandes variables, ou
-encore une gestion de la mémoire risible, bash n'a rien d'un langage de
-développement professionnel.
-Cependant, le simple fait qu'il soit considéré comme un langage de
-programmation a part entière font de lui un langage de script d'une
-puissance incontestable, et sa simplicité et sa grande popularité font
-de lui un langage de choix pour apprendre la programmation simplement et
-sans trop se prendre la tête.
-
J'espère que cet article aura été utile a certain-e-s, et je vous
-souhaite bonne chance dans votre découverte de la programmation (n'allez
-pas voir ceux qui font de l'orienté objet, c'est des méchants :3)
Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques
-années (plus ou moins, parce que j'ai toujours un Windows en dual boot,
-principalement pour les jeux (possiblement plus pour longtemps, avec
-l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou
-moins bien mon système. Or il y a plusieurs choses a savoir sur les
-systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est
-le système de couches.
-
Un système d'exploitation (de type UNIX, \<troll>enfin un vrai système quoi.
-\</troll>) incorpore plusieurs systèmes de couches.
-
Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique,
-c'est a dire que tous les composants sont intégrés au kernel. Ce qui
-signifie que rien ne peut être ajouté au noyau sans recompiler celui ci.
-Or, quand on sait que le noyau comprend entre autres les drivers du
-matériel et des systèmes de fichier, cela peut poser des problèmes quand
-a la taille du kernel et a la licence libre de ce dernier.
-
Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui
-signifie que des modules peuvent être chargé a tout moment en cours
-d’exécution, ce qui permet l'utilisation de nouveaux systèmes de
-fichiers a chaud, ou l'insertion de matériel et l'installation de
-drivers sans interrompre l’exécution du système (Windows utilise un
-système de fausse installation de drivers pour le matériel externe, et
-un système de pré-installation des drivers pour les périphériques dits
-"plug and play")
-
Après le noyau intervient le système. Or, au tous premiers instants du
-boot, les systèmes GNU/Linux utilisent un système permettant de limiter
-l'utilisation de ressources systèmes si elles ne sont pas nécessaires,
-et incorpore ainsi un système dit de "runlevels"
-
Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce
-runlevel permet de tester le bon démarrage du système sans avoir a
-effectuer de manipulation pour le ré-éteindre
-
Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté
-étant donné que ce runlevel donne accès a un système en étant
-automatiquement loggé en tant que root, avec tous les autres
-utilisateurs désactivés, de même que tous les systèmes de réseaux
-
Le runlevel 2 est appelé mode multi user, et vous mets en face d'un
-système classique. en ligne de commande, mais avec tous les systèmes de
-réseau désactivés.
-
Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux
-activés.
-
Le runlevel 4 n'est pas officiellement défini, et est censé être
-activable en fonction des besoins de l'utilisateur. Sur la plupart des
-distributions grand public, ce runlevel est lié au...
-
Runlevel 5! Multi-user, networking, with working GUI! c'est le système
-tel que vous le connaissez, avec l'interface graphique et le système de
-login graphique.
-
Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine
-quand il devient le runlevel courant.
-
(Il est a noter que Debian, et donc toutes les distribs qui en sont
-dérivées, ne font pas de distinction entre les differents runlevels du 2
-au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login
-et une interface graphique, et un mode réseau fonctionnel, bref avec des
-fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)
-
Il est possible de changer de runlevel grâce a la commande runlevel
-(oui, c'est évident...)
-
Les systèmes Linux utilisent aussi un système dit de SandBox , qui en
-informatique est un système permettant d'isoler les processus les uns
-des autres. Ainsi, la pile réseau, qui est le système auquel les
-différents processus envoient les différents paquets qui doivent sortir
-de la machine , et qui redistribue ces paquets, est isolée du reste du
-système, en cela qu'aucun des autres processus ne peuvent modifier cette
-pile hors du runlevel 1 ou 2.
-
De la même façon, le navigateur chrom/ium fait fonctionner tous les
-onglets, ainsi que toutes les extensions, dans des processus différents.
-Certaines distributions linux implémentent un système de cette sorte
-pour toutes les applications, ou seulement pour certaines. ainsi Chakra
-Linux a un système d'installation d'applications dans des disques
-virtuels, ce qui permet une sécurité totale du processus.
-
Voila, j'espère vous en avoir appris un peu sur le fonctionnement des
-différentes couches de linux, et j'espère que cet article vous poussera
-a tester un peu votre système et a vous amuser avec les différents
-runlevels
Salut!
-Tout d'abord, je tiens a m'excuser de ne pas avoir eu le temps d'écrire
-récement, mais j'ai eu la chance d'avoir un PC a monter, donc j'ai passé
-pas mal de temps assez occupé.
-
Enfin, après un certain temps a farfouiller au millieu des connecteurs
-SATA et a apprendre que, oui, l'alimentation sert aussi pour les disques
-durs, je suis de retour pour un court article.
-Du coup, je m'étais dit que j'allais reprendre sur le thème de
-l'informatique expliquée au grand public, en tentant d'aller un peu plus
-loin que la dernière fois sur le thème de la programmation
-Ce qu'il faut comprendre, c'est la facon dont fonctionne un ordinateur.
-Si a peu près tout le monde sait que "les ordinateurs, ils ne
-comprennent que les 1 et les 0!", peu de gens savent comment cela
-fonctionne en détail.
-
Si vous êtes sur ce blog, il y a pas mal de chance que vous ayez déjà
-des notions de base en informatique. Ainsi, vous savez surement que les
-ordinateurs fonctionnent avec des programmes, qui sont composés de
-code.
-Ainsi, il faut comprendre que le code (source) est "compilé" en un
-fichier "binaire". Un fichier binaire est un fichier comprenant les
-instructions telles qu’exécutées par le processeur, et donc absolument
-illisible pour un humain.
-
La compilation est le processus qui transforme le code source en
-binaire executable. Les binaires ont, sous Windows, l'extension .exe,
-tandis que sous les systèmes UNIX-like, ils n'ont pas d'extension
-particulière.
-Ceci étant dit, il faut comprendre que certains langages sont plus
-proches que d'autres du langage processeur, les langages les plus
-proches sont dits de "bas niveau". Les langages les plus éloignés sont
-donc dits de haut niveau.
-
Par exemple, l'assembleur est l'un des languages de plus bas niveau,
-tandis que python par exemple est un langage de plus haut niveau. Les
-langages de haut niveau sont souvent bien plus simples a comprendre et a
-apprendre que les langages de bas niveau
-
Ainsi, en C, un langage de niveau relativement bas, pour afficher
-"hello world" sur l'écran, le code nécessaire est :
et n'a pas besoin d'être compilé , puisqu'il peut être intepreté
-directement.
-
Python utilise en effet un système similaire a Java en ayant un
-interpréteur dit "runtime" ou "temps réel", qui interprète le programme
-sans le compiler. Java utilise un système légèrement différent, puisque
-le code a besoin d'être compilé, mais est interpreté par un interpréteur
-et non par le processeur.
-
Cette méthode permet le fameux "code once, run everywhere", ce qui
-signifie que le même code est exécutable sur quasiment tous les systèmes
-d'exploitation (en fait, tous ceux sur lesquels l’interpréteur est
-disponible.)
-
Voila, je vous laisse sur le fonctionnement de Java et de Python, et je
-vais me coucher.
-A bientôt!
GNU/Linux est un vaste et extraordinaire territoire technologique, mais
-je ne vais pas m'attarder ici sur les aspects profondément techniques de
-ce territoire pour faire plutôt une sorte d'introduction a ce qu'est
-vraiment GNU/Linux, pour les gens n'ayant aucune ou très peu de
-connaissances en informatique.
-
GNU/Linux, que j’abrégerai ici en Linux pour plus de simplicité, est un
-Système d'Exploitation. Un système d'exploitation est, pour simplifier,
-un ensemble d'outils informatiques qui vous permettent d'utiliser votre
-ordinateur, ainsi, Windows est un système d'exploitation. L'abréviation
-de système d'exploitation (Operating System en anglais) est OS. Les 4
-principaux OS existants aujourd'hui sont Windows, Mac OS, GNU/Linux, et
-Solaris. Les trois derniers sont issus d'un autre système, plus ancien,
-nommé UNIX.
-
De ce fait, on pourrait penser que Linux remplace complètement Windows
-une fois installé, et comprend une interface graphique, et toutes sortes
-d'utilitaires permettant a l'utilisateur d'utiliser le système (sous
-Windows, pensez a l'explorateur de fichiers, ou a Internet Explorer.
-Pour l'interface graphique, pensez a... Pensez que votre système affiche
-autre chose que des lignes de commande.) Or non, une fois installé,
-Linux en lui même ne vous afficherait aucune interface graphique, et
-s'il est effectivement livré avec des utilitaires, ils ne sont que des
-programmes en ligne de commande. Autant les utilisateurs avancés sauront
-s'en servir, et pourront argumenter que c'est plus efficace ou plus
-rapide, autant les utilisateurs basiques préfèrent une interface
-graphique. Alors comment en obtenir une?
-
Ici, il convient de faire une précision importante. Si il n'existe
-qu'une seule version de Windows, ou de Mac OS, il existe en fait
-plusieurs centaines de "versions" différentes de Linux. Appelées
-distributions, ces dernière sont développées par des groupes
-complètement séparés, et se basent sur le fait que Linux soit
-entièrement placé sous licence libre (ce qui leur permet de l'utiliser a
-leur guise, a condition que leur travail soit lui aussi placé sous
-licence libre). De ce fait, de nombreuses distributions existent et se
-développent en parallèle. On peut ainsi citer Debian, qui est l'une
-des distributions les plus importantes, ou encore Ubuntu, qui est
-l'une des plus connues et des plus simples a utiliser.
-
Ainsi, ces distributions intègrent une interface graphique. Cependant,
-grâce a la liberté dont bénéficient les développeurs sous Linux, il
-existe de nombreuses interfaces graphiques différentes : Unity, la
-nouvelle interface d'Ubuntu; GNOME , une interface qui vise a la
-simplicité; ou encore KDE, une interface utilisateur ressemblant a
-Windows 7.
-
Ainsi, le choix astronomique de distributions Linux a bien un sens :
-chacune d'entre elle intègre des outils différents. Par exemple, Debian
-intègre GNOME 2, qui est l'ancienne version de GNOME, ce qui la rend
-particulièrement stable. Ubuntu intègre Unity, ce qui en fait une
-distribution particulièrement intuitive. Linux Mint intègre Cinnamon,
-qui est une version dérivée de GNOME 3, ce qui permet encore une autre
-expérience. Et Arch Linux n'intègre pas d'interface graphique du tout,
-ce qui permet a l'utilisateur de choisir entre les multiples interfaces
-existantes.
-
Ce qu'il est important de retenir de cela, c'est que Linux est un OS
-complètement libre, ce qui signifie que n'importe qui peut modifier et
-utiliser tout le code de Linux gratuitement et comme il l'entend. Ainsi,
-Linux est un OS qui est véritablement créé par des passionnés, pour tous
-et toutes. Surtout, il convient de retenir que Linux n'est pas compliqué
-a utiliser, ni a installer. Windows et Mac OS ne le sont pas non plus.
-Cependant, Linux donne la possibilité a l'utilisateur de le rendre
-affreusement complexe, mais aussi de le rendre adapté a ses besoins,
-quels que soient ceux ci. Et c'est la que réside l'incroyable puissance
-de ce Système d'Exploitation. Il est extraordinairement adaptable.
-
N'hésitez donc pas a le présenter a vos proches, même s'ils ne sont pas
-technophiles. Ils pourraient adorer, et peut être même le devenir :)
Je m'appelle Wxcafé, et ça fait pas mal de temps que je sévis sur
-Twitter, mais aussi sur IRC (Je traîne pas mal sur
-irc.freenode.net/##nolife et #debian-fr)
-
J'ai 17 ans, je suis donc étudiant (bac général), je vis a Paris, et je
-fais partie de ce genre de personne qui sont capables d'investir tout
-leur temps et leur énergie a s’intéresser a un sujet en particulier, et
-qui ne peuvent pas vivre sans leurs passions, avec une petite différence
-cependant, qui est que je m’intéresse a plusieurs choses :
-l'informatique, qui est un champ tellement large qu'on peut passer une
-vie a apprendre des choses dessus, et plus particulièrement à
-l'informatique avancée (Noyaux dérivés d'UNIX et de Linux, outils libres
-{bien que n'étant pas un barbu intégriste [ceci est un troll assumé. Les
-trolls seront a partir de maintenant indiqués avec le tag [tr]] du
-libre, je préfère utiliser de l'open-source si c'est possible},
-programmation en C, python et java, etc...) , mais aussi a
-l’électronique.
-
Dans un tout autre registre, je m’intéresse aussi
-beaucoup aux différents aspects du féminisme et des égalités sexuelles
-(anti-homophobie/transphobie/biphobie/etc , anti-sexisme, et cætera) ,
-et a la culture dite "geek" en général.
-
Je tenterai de poster ici le plus souvent possible, mais j'ai de gros
-problèmes en terme de régularité de post, donc ne vous inquiétez pas si
-vous ne voyez rien pendant deux semaines.
Le Quenya est, pour ceux qui ne connaissent pas (comme moi jusqu’à il y
-a peu...), le nom que donnait Tolkien au dialecte principal parlé par
-les Elfes dans les différentes œuvres de l'auteur, dont Le Seigneur des
-Anneaux, le Hobbit, ou encore le Silmarillion. Il faut se rendre compte
-avant de commencer cet article que l'une des œuvres les plus
-impressionnantes de Tolkien, si ce n'est la plus grande, est
-l'impressionnant travail linguistique passé sur les différentes langues
-présentes dans son œuvre littéraire : L'elfique, qui est donc le quenya,
-la langue des nains, qui est appelé le khazalide, etc.
-
En effet, a contrario des "langues" développées dans d'autres œuvres littéraires
-telles Eragon ou Harry Potter, où l'auteur-e se contente de lier un mot
-de français (ou d'anglais) a un mot de sa "langue", les langues de
-l'oeuvre de Tolkien sont des langues complètes. Elles possèdent des
-racines logiques, des systèmes de grammaire et de conjugaison propres,
-une logique inhérente dans la prononciation ou l'orthographe, et ainsi
-de suite.
-
Un véritable rêve de linguiste donc, puisque ces langues sont
-pratiquement entièrement documentées par Tolkien lui même (voir
-l'appendice E du SdA, particulièrement instructif a ce sujet.)
-
J'ai donc décidé d'apprendre le Quenya récemment, et je vais donc poster
-ici des résumés des cours que je suis ( disponibles ici , une
-traduction en français est disponible la en pdf ), et des infos ici
-toutes les deux semaines.
-
Si ce sujet vous intéresse, le compte twitter @Quenya101 poste
-régulièrement des informations sur le sujet, et pour plus d'infos sur le
-sujet, vous pouvez en trouver par ici.
-
Et en tant que première leçon, vous pouvez apprendre que ce mot que vous
-avez prononcé comme le Kenya tout le long de cet article se prononce en
-fait [Kwenïa], ou bien Qwenya!
Disclaimer: Ce billet est écrit après le visionnage de la conférence de Moxie
-Marlinspike suivante: More Tricks for Defeating SSL,
-présentée a la DefCon 17 (en 2011), et la lecture du billet suivant:
-A Critique of Lavabit,
-ce qui peut avoir l'effet de rendre légèrement parano. Si vous considérez que
-c'est le cas ici, veuillez ne pas tenir compte de ce billet (et vous pouvez dès
-a présent dire coucou aux différentes personnes qui écoutent votre connection)
-
Si vous venez ici souvent (vous devriez), et que vous utilisez SSL pour vous
-connecter a ce site (vous devriez, vraiment, dans ce cas), vous avez peut être
-remarqué quelque chose récemment : il se trouve que le certificat qui permet de
-desservir ce site a changé.
-
Cela fait suite aux évènements évoqués dans le Disclaimer, mais aussi a des
-doigts sortis d'un endroit particulier du corps de l'admin/auteur de ce "blog",
-qui a pris enfin les 5 minutes nécessaires a la compréhension superficielle
-du fonctionnement de SSL, et les 10 nécessaires a la mise en place d'un système
-fonctionnel utilisant cette compréhension récemment acquise.
-
Bref, le certificat a changé. Mais de quelle façon, vous demandez vous peut
-être (ou pas, mais bon, je vais expliquer de toute façon). Et bien c'est très
-simple : il existait auparavant un certificat pour wxcafe.net, un pour
-paste.wxcafe.net, un pour mail.wxcafe.net, etc... Bref, un certificat
-différent pour chaque sous-domaine.
-
Il s'avère que c'est a la fois très peu pratique a utiliser (les utilisateurs
-doivent ajouter chaque certificat a leur navigateur séparément, chaque
-changement de sous-domaine conduit a un message d'erreur, etc) et pas plus
-sécurisé que d'avoir un seul certificat wildcard. J'ai donc généré un certificat
-pour *.wxcafe.net hier, et il sera dorénavant utilisé pour tous les
-sous-domaine de wxcafe.net; et un certificat pour wxcafe.net, qui ne matche
-pas *.wxcafe.net, et qui sera donc utilisé... bah pour wxcafe.net.
-
Il serait préférable de faire des redirections automatiques des adresses http
-vers les adresses https, cependant, étant donné que le certificat est
-self-signed, il me semble préférable que l'arrivée sur le site ne commence pas
-par une page firefox disant "Something's Wrong!", et ces redirections ne seront
-donc pas mises en place.
-
De plus, après la lecture de l'article de blog sur Lavabit dont le lien est plus
-haut, il semble intéressant (et assez important) de faire en sorte que le
-serveur utilise en priorité (et si possible, uniquement) des ciphers supportant
-PFS, soit EDH et EECDH (Ephemeral Diffie-Helmann et la version Elliptic Curves
-de ce même algorithme). Cela permet de faire en sorte que toutes les
-communications avec ce serveur soient future-proof, c'est a dire que, même si
-quelqu'un récupérait la clé privée, elle ne serait pas utile pour déchiffrer les
-communications passées.
-
Bon, maintenant que les explications basiques sont faites, voyons
-l'implémentation :
-Pour générer la clé, tout d'abord, il convient d'utiliser les commandes
-suivantes:
-
sudoopensslgenrsa-outexample.key4096
-# nous utilisons ici une clé de 4096 bits, la taille est laissée a votre appréciation
-sudoopensslreq-new-keyexample.key-outexample.csr
-# OpenSSL va ici vous demander de nombreuses informations, "Common Name" devant contenir le FQDN
-sudoopensslX509-req-days1095-inexample.csr-signkeyexample.key-outexample.crt
-# enfin, nous générons la clé, d'une durée de vie de 3 ans
-
-
-
-
Bien entendu, si vous voulez utiliser une clé wildcard, il vous faut préciser
-*.example.com comme common name.
-Une fois la clé générée, il faut dire aux différents services de l'utiliser, et
-de n'utiliser que des ciphers PFS. La méthode dépend donc du service.
-Je vais lister ici les methodes pour quelques services que j'utilise :
# tout d'abord, lancez la commande suivante :
-sudoopenssldhparam-out/etc/prosody/certs/dh-2048.pem2048
-# ensuite, pour chaque VirtualHost dans /etc/prosody/prosody.conf :
-ssl={
- dhparam="/etc/prosody/certs/dh-2048.pem";
- key="/etc/certs/example.com.key";
- certificate="/etc/certs/example.com.crt";
-}
-# la cipher suite de prosody utilise par défaut EDH et EECDH
-
Voila. Pour d'autres protocoles/services, je vous invite a RTFM^W vous reporter
-au manuel approprié.
-
Cela étant dit, je conseille a tout le monde d'aller voir la conférence dans le
-disclaimer, et tant qu'a faire la conférence du même hacker SSL and the future
-of Authenticity qui parle de son
-implémentation d'une technologie "remplaçant" le système de CAs qui existe
-actuellement.
Comme vous avez pu le remarquer, ce blog a "un peu" changé récemment.
-
Du coup, expliquons. J'ai récemment monté serverporn, et ai par la même
-occasion découvert pelican. J'ai tout de suite accroché a ce générateur de
-site statique en python, du fait de son efficacité, de sa facilité d'utilisation
-et de sa grande customisation. En gros, pelican est un logiciel qui prend des
-fichiers markdown ou reStructuredText, les passe a la moulinette d'un "thème"
-constitué de templates pour les fichiers html et l'organisation du projet et
-d'une partie "statique" contenant le css, et les autres fichiers nécessaires au
-projet, et en fait des pages html.
Sachant que les fichiers .html sont en réalité des fichiers suivant la syntaxe
-django, et utilisent des variables particulières telles {{ article.content }},
-par exemple. La syntaxe complète est très bien documentée dans la doc de
-pelican.
-
L'un des grands avantages de pelican est aussi la facilité qu'il offre quand a
-la mise a jour du blog.
-En effet, il offre un système de Makefiles permettant, grâce a de nombreuses
-cibles de compilation, de régénérer le site entier, de ne générer que les
-fichiers modifiés depuis la dernière génération, de générer uniquement les
-fichiers n'existant pas la dernière fois, etc...
-La gestion du projet en devient donc très simple, puisque après avoir écrit un
-article, il suffit de faire un make html pour mettre a jour le blog.
-
De plus, le système de wordpress commençait a ne plus me convenir, du fait du
-manque de customisation, du fait que ça soit du PHP (beurk), etc. La, avec
-pelican, je contrôle bien plus ce qui est mis sur le serveur (puisque c'est moi
-qui ait modifié les templates et le css), c'est lisible (puisque c'est du
-python, par opposition au PHP...), et c'est plus "efficace". Le markdown est
-très pratique, je peux utiliser mon éditeur de texte de prédilection pour faire
-les articles, je n'ai pas besoin d'un accès continu au net, bref, c'est plus
-efficace.
-
En ce qui concerne les points négatifs :
-
-
-
Perte des commentaires:
- Je vous propose de vous référer a l'article de Gordontesos ici quand a
- mon avis sur ce sujet.
-
-
-
Perte du bouton flattr:
- Il va bientôt être remis, c'est juste un manque de temps de ma part, mais vu
- que toutes les pages passent par les mêmes templates, c'est assez facile a
- faire.
-
-
-
Perte du spam:
- Pourquoi c'est dans les points négatifs, ca?
-
-
-
Temps d'adaptation et d'appréhension du système:
- Oui, pendant encore un certain temps, il y aura des glitchs plus ou moins
- réguliers sur le blog, c'est parce que j'apprend a me servir de ce système
- et que j'apprend du css et du html. Ca arrive, ca passera, mais dans tous
- les cas ca me permet d'apprendre plein de choses, donc je mets plutôt ca
- dans la catëgorie positive.
-
-
-
Voila, c'est mon retour d'expérience sur pelican. A plus.
Juste une petite note pour annoncer le prochain article, consacré a la
-fabrication d'une PirateBox basée sur un Raspberry Pi. Voila, a bientôt
-sur le blog!
Bonsoir! Un petit post pour faire un peu le point sur ce blog.
-Comme vous avez pu le remarquer, j'ai un peu de mal a tenir les délais
-que je m'étais fixés pour ce blog (un post tous les 8 jours), et après y
-avoir un tantinet réfléchi, ceci est du a deux points principaux :
-
-
-
Tout d'abord, le manque d'inspiration, tout simplement. C'est assez
-compliqué de trouver des sujets intéressants liés a l'informatique, et
-qui méritent un article. Je vous invite d'ailleurs a me suggérer des
-sujets via les commentaires ou twitter (@Wxcafe)
-
-
-
Ensuite, le délai de 8 jours est trop court pour me permettre de faire
-les recherches nécessaires, tout en manageant mes cours et mon temps
-libre.
-
-
-
A cause de cela, j'ai pris la décision de changer le rythme de parution
-des articles a un *minimum* d'un post tous les 10 jours. Bien entendu,
-si j'ai de l'inspiration en trop, plus de posts sont envisageables.
-
Voila. A part ca, je tiens a vous remercier de me lire (c'est assez
-étonnant de voir ca...), et je précise que je vais ajouter une page
-About Me, qui bien entendu rassemblera des informations sur moi, ma vie,
-mon oeuvre :P
-
Ceci dit, je vais bosser un peu sur le prochain article.
Je m'appelle Wxcafé, et ça fait pas mal de temps que je sévis sur
-Twitter, mais aussi sur IRC (Je traîne pas mal sur
-irc.freenode.net/##nolife et #debian-fr)
-
J'ai 17 ans, je suis donc étudiant (bac général), je vis a Paris, et je
-fais partie de ce genre de personne qui sont capables d'investir tout
-leur temps et leur énergie a s’intéresser a un sujet en particulier, et
-qui ne peuvent pas vivre sans leurs passions, avec une petite différence
-cependant, qui est que je m’intéresse a plusieurs choses :
-l'informatique, qui est un champ tellement large qu'on peut passer une
-vie a apprendre des choses dessus, et plus particulièrement à
-l'informatique avancée (Noyaux dérivés d'UNIX et de Linux, outils libres
-{bien que n'étant pas un barbu intégriste [ceci est un troll assumé. Les
-trolls seront a partir de maintenant indiqués avec le tag [tr]] du
-libre, je préfère utiliser de l'open-source si c'est possible},
-programmation en C, python et java, etc...) , mais aussi a
-l’électronique.
-
Dans un tout autre registre, je m’intéresse aussi
-beaucoup aux différents aspects du féminisme et des égalités sexuelles
-(anti-homophobie/transphobie/biphobie/etc , anti-sexisme, et cætera) ,
-et a la culture dite "geek" en général.
-
Je tenterai de poster ici le plus souvent possible, mais j'ai de gros
-problèmes en terme de régularité de post, donc ne vous inquiétez pas si
-vous ne voyez rien pendant deux semaines.
L’interpréteur de commandes bash (Bourne Again SHell)
-est possiblement le shell le plus connu, notamment grâce a son
-intégration en tant que shell par défaut dans les distributions Linux
-les plus répandues (Debian - Ubuntu, Fedora, OpenSUSE, Mandriva -
-Mageia, etc...).
-
Cependant, il n'est souvent connu qu'en tant qu’interpréteur de
-commande. Alors qu'en réalité, le bash est un langage de programmation
-(presque) complet! Ainsi, il intègre les structures de contrôle
-habituelles ( pour mémoire, les structures de contrôle comprennent les
-conditions (les ifs), les boucles (les while), et les choix (les case),
-entre autres.), et est donc ce que l'on pourrait appeler un langage de
-script, interprété, de la même façon que python, a la difference près
-qu'il contient un prompt (un système d'entrée de commande interactif)
-bien plus complet et développé que python.
-
Cependant, les programmes en bash ne sont executables que dans un
-environnement de type UNIX, et donc pas sous Windows (cygwin
-(cygwin.com) propose ceci dit un système permettant d'utiliser bash sous
-windows. Il faut malgré tout convenir que cet environnement est bien
-plus compliqué a manipuler, et globalement ne permet pas d'acceder a des
-portages de qualité satisfaisante.)
-
Ainsi, il est possible de créer des fichiers .sh, contenant des
-instructions bash mises a la suite (de la même façon qu'un script BATCH
-Windows .bat), et faisant appel autant aux commandes internes de bash,
-aussi bien que les commandes externes mises en place par les programmes
-installés sur le système, exactement comme dans une invite de commande.
-Ainsi, pour appeller firefox, la commande 'firefox' lancera le petit
-panda roux directement dans la boite magique, tandis qu'un if
-[condition] suivi d'un then (quelque chose) lancera le fameux quelque
-chose suscité si la condition est vérifiée. Un peu comme en C, quoi.
-
De cette façon, et avec quelques informations et connaissances, il est
-facile de comprendre le fonctionnement de la programmation en bash.
-Quelques exemples commentés:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
#!/bin/bash
-# La ligne du dessus est très importante, c'est elle qui dit a bash quel doit être
-# l'interpreteur des commandes écrites dans ce script. Ici, on dit a bash d'interpréter
-# lui même les commandes comprises dans ce script. On aurait tout de fois pu lui faire
-# executer du python, par exemple, en mettant #!/usr/bin/python a la place.
-echo"this is a test of bash as a simple script manager"# echo est une commande d'affichage de message.
-echo"what's your name, user?"
-read your_name # la commande read permet de demander a l'utilisateur de donner une
-# information, stockée dans la variable en paramètre.
-echo$your_name"is your name"# echo permet aussi d'afficher la valeur de variables.
-# Ici, on renvoie la variable remplie précédemment, suivie d'un message.
-exit# cet appel a exit n'est pas obligatoire, mais donne un aspect plus
-# propre au code. Il ne quittera pas la session de terminal, cependant.
-
-
-
-
Voila. Ce script bash ne sert pas a grand chose, mais il a le mérite
-d'être clair quand aux capacités et a la simplicité du bash en tant que
-language de programmation. Alors en effet, nous n'avons ici absolument
-pas utilisé les capacités de bash en lui même, et n'avons fait que le
-renvoyer a des programmes externes (sauf read, il est vrai). Voyons
-maintenant la syntaxe de bash quand il s'agit d'utiliser les structures
-de contrôle:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
#!/bin/bash
-echo"welcome to this second bash program. would you please kindly enter the name of the machine you're running this on?"
-read host_name
-if[$host_name==$HOSTNAME]## voici la syntaxe du if. Attention a bien penser a mettre les espaces avant la première variable, et après la seconde. La variable $HOSTNAME ici utilisée est une variable présente par défaut sur le système.
-then echo"you told the truth!"
-fi## le fi est la commande fermant le if, tout comme le EndIf en basic. C'est un peu vieillot, mais important en bash.
-if[$host_name !=$HOSTNAME]## l'opérateur != est l'inverse de ==, il vérifie donc si les deux variables ne sont pas les mêmes.
-then echo"you lied!"
-fi
-exit
-
-
-
-
Voila un petit programme permettant d'apprendre la syntaxe du if en
-bash. comme vous pouvez le voir, le language est plutôt lite, et la
-structure if n'est pas très difficile a prendre en main.
-
Passons maintenant au while:
-
1
-2
-3
-4
-5
-6
-7
#!/bin/bash
-echo"what is your name?"
-read name
-while[ 1 < 10 ]## le while se présente sous la forme while (truc); do (machin); done. Les [] sont en fait des programmes differents, inclus dans bash.
-do echo"i love"$name
-done
-exit
-
-
-
-
Ce petit programme permet d'observer les bases de while (qui est la
-boucle de base en bash).
#!/bin/bash
-echo"please enter a number between one and five"
-read number
-case$number in
-1)
-echo"the choosen number was one"
-;;
-2)
-echo"the choosen number was two"
-;;
-3)
-echo"the choosen number was three"
-;;
-4)
-echo"the choosen number was four"
-;;
-5)
-echo"the choosen number was five"
-;;
-*)
-echo"this number is not correct"
-;;
-esac
-exit
-
-
-
-
case est un opérateur plus complexe a utiliser a bon escient, et sert a
-faire des ifs multiples sans avoir a taper des dizaines de lignes de
-code.
-(pour ceux qui auraient du mal avec cet opérateur, il faut comprendre
-que le code vérifie chacune des conditions : le 1) est validé si la
-valeur de \$number est 1, le 2) est validé si cette valeur est 2, etc..
-le *) désigne toutes les valeurs, et est donc validé si aucune autre
-valeur n'a précédemment acceptée.
-
Quelques notions manquent ici:
-- les nombres aléatoires sont générés par un appel a la variable
-\$RANDOM, qui renvoie un nombre aléatoire entre 0 et 32767 (un entier a
-16 bits donc). il est possible de faire des invocations a des nombres
-aléatoires plus grands, mais les méthodes permettant de faire cela sont
-plus complexes, et je ne les aborderai donc pas ici.
-- comme vous avez pu le constater, les variables sont désignées en tant
-que telles par l'utilisation d'un symbole \$ au début de leur nom.
-Ainsi, echo number renverra "number", tandis que echo \$number renverra
-le résultat de la variable \$number.
-être utilisées dans un programme bash.
-- comme vous avez pu le constater, les commandes doivent tenir en
-théorie en une ligne. Cependant, le caractère \ permet de retourner a
-la ligne en faisant considérer a bash qu'il s'agit de la même ligne.
-
Globalement, il faut admettre que bash n'a pas vocation a être un
-langage de programmation extrêmement développé. Sans framework
-graphique, avec peu de manières d'utiliser de grandes variables, ou
-encore une gestion de la mémoire risible, bash n'a rien d'un langage de
-développement professionnel.
-Cependant, le simple fait qu'il soit considéré comme un langage de
-programmation a part entière font de lui un langage de script d'une
-puissance incontestable, et sa simplicité et sa grande popularité font
-de lui un langage de choix pour apprendre la programmation simplement et
-sans trop se prendre la tête.
-
J'espère que cet article aura été utile a certain-e-s, et je vous
-souhaite bonne chance dans votre découverte de la programmation (n'allez
-pas voir ceux qui font de l'orienté objet, c'est des méchants :3)
Le chiffrement SSL pour les services en ligne est un problème relativement
-récent, par rapport a l’histoire d’Internet. Sa mise en place pose
-problème : les protocoles existants ne s’accommodent qu’assez mal de recevoir
-soudainement un flot de données chiffrées, mais développer de nouveaux
-protocoles est complexe et n’apporte rien d’intéressant. Pour palier a ce
-problème, deux solutions sont apparues.
-
Le première consiste à faire écouter les services sur un
-autre port, dans un tunnel SSL. De cette façon, le service existant écoute
-normalement, mais il ne répond pas directement aux requêtes. A la place, un
-tunnel SSL est mis en place, et les requêtes et les réponses passent dans le
-tunnel (ou elles apparaissent donc chiffrées pour l’extérieur). Cela permet de
-proposer un service chiffré en modifiant de façon minimale le programme, au prix
-de devoir aussi changer tous les clients, et de devoir les orienter sur un autre
-port.
-
L’autre approche qui a été utilisée est une approche d’upgrade. La
-communication commence en mode non chiffré, puis le client demande l’upgrade de
-la connexion vers le mode chiffré s’il le supporte, les deux machines
-machines font un handshake SSL et la communication continue a travers le
-tunnel SSL. Le service peut continuer a écouter sur son port habituel, et seuls
-les clients capables de passer en SSL le feront, ce qui permet de faire la “mise
-a jour” en douceur.
-
Il est souvent demandé quelle est la meilleure méthode pour mettre en place un
-service – laisser un port pour le SSL et un pour le trafic non chiffré, ou bien
-un seul, avec STARTTLS, qui upgrade les connexions si nécessaire.
-La réponse est que STARTTLS est plus interessant, pour plusieurs raisons. Tout
-d’abord, il permet de n’utiliser qu’un seul port : ça permet de simplifier la
-configuration du firewall. En plus de ça, il permet aux clients “anciens” (ceux
-qui ne supportent pas SSL, donc ceux qui devraient être changés) de toujours se
-connecter, même si cela signifie que leurs informations seront transmises en
-clair. Surtout, il permet d’éviter aux utilisateurs d’avoir a configurer leurs
-clients. Si le client supporte le chiffrement, il l’activera de lui même s’il
-voit qu’il est disponible.
-Bref, mettez en place du STARTTLS, et pas du SSL. C’est mieux pour la sécurité
-de tout le monde.
Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
-avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
-connaissez surement NTFS, EXT4, ou encore FAT32.
-
Ces différents noms désignent en effet des systèmes de fichiers. Mais
-qu'est-ce qu'un système de fichiers?
-
Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
-fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
-plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
-(kibioctet), en fonction du système de fichier utilisé.), qui est
-donc composé de bits, interprétés différemment en fonction du type de
-fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
-n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
-ou il commence ni où il s'arrête (je schématise un peu, mais c'est
-l'idée).
-
Ainsi, le système de fichier donne un cadre et un standard à
-l'arborescence des fichiers. Par exemple, le système de fichier ext4
-utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
-disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
-et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
-de fichiers nécessitent l'inclusion de drivers dans le noyau pour
-pouvoir être pris en compte.
-
Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
-reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
-près tout type de partition récente.
-
Il convient de bien faire la différence entre le système de fichier et
-l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
-une entité virtuelle englobant la racine / et tous les fichiers et
-dossiers contenus dedans, le système de fichier permet a votre système
-GNU/Linux de distinguer les différents fichiers composants cette
-arborescence.
-
Détaillons maintenant les types de fichiers les plus répandus:
-
-
-
FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
- soit la définition d'un système de fichier), remplissent leur rôle le
- plus simplement possible. Ne permettant (historiquement) que des noms de
- 8 caractères (plus extension de trois caractères), ni chiffrement, ni
- système de distinction d'utilisateurs (DOS étant un système
- mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
- utlisants respectivement des blocs de 16 et 32 Kio.
-
-
-
NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
- NT) est un système de fichier qui est apparu avec Windows XP, et qui
- était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
- FAT différentes capacités dont le chiffrement, les liens symboliques, la
- compression et les quotas pour les volumes, permettant de limiter la
- taille maximum occupée dans une partition.
-
-
-
ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
- Ne différant pas énormément de NTFS, je le mentionne principalement
- parce qu'il est prévu qu'il soit le défaut pour Windows 8.
- Il apporte principalement la redondance, c'est a dire que chaque
- fichier possède une somme de contrôle en 64 bits stockée dans un fichier
- séparé pour éviter les corruption de disque.
-
-
-
Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
- les plus utilisés sous linux pour le grand public. (Je traiterai ici
- d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
- fonctions que l'on peut attendre d'un système de fichiers moderne, ni
- plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
- acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
- "par extent", ce qui signifie que la création d'un fichier réserve
- automatiquement les zones contiguës de façon a réduire la fragmentation.
-
-
-
ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
- programmeur Hans Reiser, est a retenir pour avoir été le premier système
- de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
- 4 milliards. Le but de ce système est de créer un système polyvalent, a
- la fois système de fichiers et base de donnée (de part sa grande
- capacité en terme de nombre de fichiers et de l'utilisation d'un
- journal.)
-
-
-
Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
- l'allocation par extent, mais possède de plus un système de
- sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
- montées en même temps (système pratique et utile pour faire des
- snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
- taille des partitions, en les agrandissant ou en les rétrécissant, est
- compatible avec LVM, a un système de checking intégré (btrfsck), et
- utilise un algorithme de compression appelé LZ4, qui accélère les accès
- aux fichiers compressés d'environ 30% par rapport a LZO, le système
- utilisé dans ext4.
-
-
-
HFS+ : le système de fichier présent sur tous les macs a des capacités
- relativement standards, et ressemble énormément a l'ext3. Il supporte
- cependant les liens directs vers les dossiers, fonction rare sur les
- systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
- dans les années a venir
-
-
-
ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
- et *BSD, est, tel Btrfs, a la fois un système de fichier et un
- remplaçant/compatible avec LVM, C'est un système de fichiers conçu
- principalement pour les serveurs, et il intègre ainsi un système de
- redondance des données pour éviter les corruptions, un mode RAID-Z
- (apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
- etc...
-
-
-
Comme on a pu le voir, les systèmes de fichiers disponibles sont
-légions. Cependant, le plus adapté a Linux et a une utilisation grand
-public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
-n'est pas aujourd'hui proposé par défaut sur les distributions les plus
-utilisées, au profit de l'ext4, qui commence a accuser son âge...
-
Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
-fonctionnement du système, sont en fait de première importance, et ce
-choix ne devrait pas être laissé au hasard, et être mis a jour
-régulièrement (pour éviter les failles de sécurité...)
-
Bon courage, et bon choix pour votre prochain système.
Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques
-années (plus ou moins, parce que j'ai toujours un Windows en dual boot,
-principalement pour les jeux (possiblement plus pour longtemps, avec
-l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou
-moins bien mon système. Or il y a plusieurs choses a savoir sur les
-systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est
-le système de couches.
-
Un système d'exploitation (de type UNIX, \<troll>enfin un vrai système quoi.
-\</troll>) incorpore plusieurs systèmes de couches.
-
Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique,
-c'est a dire que tous les composants sont intégrés au kernel. Ce qui
-signifie que rien ne peut être ajouté au noyau sans recompiler celui ci.
-Or, quand on sait que le noyau comprend entre autres les drivers du
-matériel et des systèmes de fichier, cela peut poser des problèmes quand
-a la taille du kernel et a la licence libre de ce dernier.
-
Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui
-signifie que des modules peuvent être chargé a tout moment en cours
-d’exécution, ce qui permet l'utilisation de nouveaux systèmes de
-fichiers a chaud, ou l'insertion de matériel et l'installation de
-drivers sans interrompre l’exécution du système (Windows utilise un
-système de fausse installation de drivers pour le matériel externe, et
-un système de pré-installation des drivers pour les périphériques dits
-"plug and play")
-
Après le noyau intervient le système. Or, au tous premiers instants du
-boot, les systèmes GNU/Linux utilisent un système permettant de limiter
-l'utilisation de ressources systèmes si elles ne sont pas nécessaires,
-et incorpore ainsi un système dit de "runlevels"
-
Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce
-runlevel permet de tester le bon démarrage du système sans avoir a
-effectuer de manipulation pour le ré-éteindre
-
Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté
-étant donné que ce runlevel donne accès a un système en étant
-automatiquement loggé en tant que root, avec tous les autres
-utilisateurs désactivés, de même que tous les systèmes de réseaux
-
Le runlevel 2 est appelé mode multi user, et vous mets en face d'un
-système classique. en ligne de commande, mais avec tous les systèmes de
-réseau désactivés.
-
Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux
-activés.
-
Le runlevel 4 n'est pas officiellement défini, et est censé être
-activable en fonction des besoins de l'utilisateur. Sur la plupart des
-distributions grand public, ce runlevel est lié au...
-
Runlevel 5! Multi-user, networking, with working GUI! c'est le système
-tel que vous le connaissez, avec l'interface graphique et le système de
-login graphique.
-
Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine
-quand il devient le runlevel courant.
-
(Il est a noter que Debian, et donc toutes les distribs qui en sont
-dérivées, ne font pas de distinction entre les differents runlevels du 2
-au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login
-et une interface graphique, et un mode réseau fonctionnel, bref avec des
-fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)
-
Il est possible de changer de runlevel grâce a la commande runlevel
-(oui, c'est évident...)
-
Les systèmes Linux utilisent aussi un système dit de SandBox , qui en
-informatique est un système permettant d'isoler les processus les uns
-des autres. Ainsi, la pile réseau, qui est le système auquel les
-différents processus envoient les différents paquets qui doivent sortir
-de la machine , et qui redistribue ces paquets, est isolée du reste du
-système, en cela qu'aucun des autres processus ne peuvent modifier cette
-pile hors du runlevel 1 ou 2.
-
De la même façon, le navigateur chrom/ium fait fonctionner tous les
-onglets, ainsi que toutes les extensions, dans des processus différents.
-Certaines distributions linux implémentent un système de cette sorte
-pour toutes les applications, ou seulement pour certaines. ainsi Chakra
-Linux a un système d'installation d'applications dans des disques
-virtuels, ce qui permet une sécurité totale du processus.
-
Voila, j'espère vous en avoir appris un peu sur le fonctionnement des
-différentes couches de linux, et j'espère que cet article vous poussera
-a tester un peu votre système et a vous amuser avec les différents
-runlevels
Salut!
-Tout d'abord, je tiens a m'excuser de ne pas avoir eu le temps d'écrire
-récement, mais j'ai eu la chance d'avoir un PC a monter, donc j'ai passé
-pas mal de temps assez occupé.
-
Enfin, après un certain temps a farfouiller au millieu des connecteurs
-SATA et a apprendre que, oui, l'alimentation sert aussi pour les disques
-durs, je suis de retour pour un court article.
-Du coup, je m'étais dit que j'allais reprendre sur le thème de
-l'informatique expliquée au grand public, en tentant d'aller un peu plus
-loin que la dernière fois sur le thème de la programmation
-Ce qu'il faut comprendre, c'est la facon dont fonctionne un ordinateur.
-Si a peu près tout le monde sait que "les ordinateurs, ils ne
-comprennent que les 1 et les 0!", peu de gens savent comment cela
-fonctionne en détail.
-
Si vous êtes sur ce blog, il y a pas mal de chance que vous ayez déjà
-des notions de base en informatique. Ainsi, vous savez surement que les
-ordinateurs fonctionnent avec des programmes, qui sont composés de
-code.
-Ainsi, il faut comprendre que le code (source) est "compilé" en un
-fichier "binaire". Un fichier binaire est un fichier comprenant les
-instructions telles qu’exécutées par le processeur, et donc absolument
-illisible pour un humain.
-
La compilation est le processus qui transforme le code source en
-binaire executable. Les binaires ont, sous Windows, l'extension .exe,
-tandis que sous les systèmes UNIX-like, ils n'ont pas d'extension
-particulière.
-Ceci étant dit, il faut comprendre que certains langages sont plus
-proches que d'autres du langage processeur, les langages les plus
-proches sont dits de "bas niveau". Les langages les plus éloignés sont
-donc dits de haut niveau.
-
Par exemple, l'assembleur est l'un des languages de plus bas niveau,
-tandis que python par exemple est un langage de plus haut niveau. Les
-langages de haut niveau sont souvent bien plus simples a comprendre et a
-apprendre que les langages de bas niveau
-
Ainsi, en C, un langage de niveau relativement bas, pour afficher
-"hello world" sur l'écran, le code nécessaire est :
et n'a pas besoin d'être compilé , puisqu'il peut être intepreté
-directement.
-
Python utilise en effet un système similaire a Java en ayant un
-interpréteur dit "runtime" ou "temps réel", qui interprète le programme
-sans le compiler. Java utilise un système légèrement différent, puisque
-le code a besoin d'être compilé, mais est interpreté par un interpréteur
-et non par le processeur.
-
Cette méthode permet le fameux "code once, run everywhere", ce qui
-signifie que le même code est exécutable sur quasiment tous les systèmes
-d'exploitation (en fait, tous ceux sur lesquels l’interpréteur est
-disponible.)
-
Voila, je vous laisse sur le fonctionnement de Java et de Python, et je
-vais me coucher.
-A bientôt!
GNU/Linux est un vaste et extraordinaire territoire technologique, mais
-je ne vais pas m'attarder ici sur les aspects profondément techniques de
-ce territoire pour faire plutôt une sorte d'introduction a ce qu'est
-vraiment GNU/Linux, pour les gens n'ayant aucune ou très peu de
-connaissances en informatique.
-
GNU/Linux, que j’abrégerai ici en Linux pour plus de simplicité, est un
-Système d'Exploitation. Un système d'exploitation est, pour simplifier,
-un ensemble d'outils informatiques qui vous permettent d'utiliser votre
-ordinateur, ainsi, Windows est un système d'exploitation. L'abréviation
-de système d'exploitation (Operating System en anglais) est OS. Les 4
-principaux OS existants aujourd'hui sont Windows, Mac OS, GNU/Linux, et
-Solaris. Les trois derniers sont issus d'un autre système, plus ancien,
-nommé UNIX.
-
De ce fait, on pourrait penser que Linux remplace complètement Windows
-une fois installé, et comprend une interface graphique, et toutes sortes
-d'utilitaires permettant a l'utilisateur d'utiliser le système (sous
-Windows, pensez a l'explorateur de fichiers, ou a Internet Explorer.
-Pour l'interface graphique, pensez a... Pensez que votre système affiche
-autre chose que des lignes de commande.) Or non, une fois installé,
-Linux en lui même ne vous afficherait aucune interface graphique, et
-s'il est effectivement livré avec des utilitaires, ils ne sont que des
-programmes en ligne de commande. Autant les utilisateurs avancés sauront
-s'en servir, et pourront argumenter que c'est plus efficace ou plus
-rapide, autant les utilisateurs basiques préfèrent une interface
-graphique. Alors comment en obtenir une?
-
Ici, il convient de faire une précision importante. Si il n'existe
-qu'une seule version de Windows, ou de Mac OS, il existe en fait
-plusieurs centaines de "versions" différentes de Linux. Appelées
-distributions, ces dernière sont développées par des groupes
-complètement séparés, et se basent sur le fait que Linux soit
-entièrement placé sous licence libre (ce qui leur permet de l'utiliser a
-leur guise, a condition que leur travail soit lui aussi placé sous
-licence libre). De ce fait, de nombreuses distributions existent et se
-développent en parallèle. On peut ainsi citer Debian, qui est l'une
-des distributions les plus importantes, ou encore Ubuntu, qui est
-l'une des plus connues et des plus simples a utiliser.
-
Ainsi, ces distributions intègrent une interface graphique. Cependant,
-grâce a la liberté dont bénéficient les développeurs sous Linux, il
-existe de nombreuses interfaces graphiques différentes : Unity, la
-nouvelle interface d'Ubuntu; GNOME , une interface qui vise a la
-simplicité; ou encore KDE, une interface utilisateur ressemblant a
-Windows 7.
-
Ainsi, le choix astronomique de distributions Linux a bien un sens :
-chacune d'entre elle intègre des outils différents. Par exemple, Debian
-intègre GNOME 2, qui est l'ancienne version de GNOME, ce qui la rend
-particulièrement stable. Ubuntu intègre Unity, ce qui en fait une
-distribution particulièrement intuitive. Linux Mint intègre Cinnamon,
-qui est une version dérivée de GNOME 3, ce qui permet encore une autre
-expérience. Et Arch Linux n'intègre pas d'interface graphique du tout,
-ce qui permet a l'utilisateur de choisir entre les multiples interfaces
-existantes.
-
Ce qu'il est important de retenir de cela, c'est que Linux est un OS
-complètement libre, ce qui signifie que n'importe qui peut modifier et
-utiliser tout le code de Linux gratuitement et comme il l'entend. Ainsi,
-Linux est un OS qui est véritablement créé par des passionnés, pour tous
-et toutes. Surtout, il convient de retenir que Linux n'est pas compliqué
-a utiliser, ni a installer. Windows et Mac OS ne le sont pas non plus.
-Cependant, Linux donne la possibilité a l'utilisateur de le rendre
-affreusement complexe, mais aussi de le rendre adapté a ses besoins,
-quels que soient ceux ci. Et c'est la que réside l'incroyable puissance
-de ce Système d'Exploitation. Il est extraordinairement adaptable.
-
N'hésitez donc pas a le présenter a vos proches, même s'ils ne sont pas
-technophiles. Ils pourraient adorer, et peut être même le devenir :)
J'avais dit il y a un certain temps que j'allais écrire un tutoriel expliquant
-comment gérer ses mails soi-même. Il se trouve que j'ai récemment décidé de
-changer le serveur qui héberge (entre autres) ce blog, et que ce dernier héberge
-aussi mes emails. J'ai donc totalement changé d'infrastructure quand a la
-gestion de mon système de mails.
-
Ainsi, j'ai décidé de passer de Postfix a OpenSMTPd, changement que je voulais
-effectuer depuis un certain temps. OpenSMTPd est un
-projet originaire d'OpenBSD qui a pour but de fournir un
-serveur SMTP fiable, simple, rapide, et surtout sécurisé (les même buts que ceux
-qu'a le projet OpenBSD, globalement).
-
Pour rappel, le système d'emails fonctionne d'une façon très simple : votre MUA
-(Mail User Agent, ou client email) contacte le MTA (Mail Transport Agent, ou
-serveur SMTP) de votre fournisseur email, qui contacte le MTA du fournisseur du
-destinataire, qui lui même contacte le MDA (Mail Delivery Agent) qui délivre le
-mail au destinataire.
-
Si vous avez bien suivi, vous pouvez voir que je n'ai pas parlé de récupération
-ni de lecture des mails. C'est pour une raison simple, qui est que ces taches
-sont remplies par d'autres services encore (IMAP/POP pour la récupération depuis
-le serveur, des yeux pour la lecture).
-
Or ce qui nous intéresse ici, ce n'est pas simplement d'envoyer et de recevoir
-des emails mais bien aussi de pouvoir les récupérer et les lire, et c'est pour
-ça que ce tutoriel ne parlera pas que d'OpenSMTPd mais aussi de
-Dovecot qui fait office de serveur IMAP et
-amavis/spamassassin
-pour filtrer les mails entrants et sortants.
-Le schéma suivant explique la façon dont les mails sont gérés sur le système
Normalement, ceci devrait être a peu près clair.
-Pour expliquer vite fait, les emails entrants (venant des utilisateurs mais
-aussi d'autres correspondants) sont transmis a OpenSMTPd, qui envoie tout a
-amavis, qui vérifie a la fois les spams et les malwares pour les mails
-venants de l'exterieur, et qui signe avec DKIM pour les mails venants de
-nos utilisateurs, puis qui rentransmet les mails filtrés/signés a OpenSMTPd,
-qui a ce moment-ci trie en fonction de la destination : les mails gérés
-par le domaine vont via dovecot dans les boites mail des destinataires
-locaux, les mails exterieurs vont directement vers le MTA du serveur
-distant.
-
Voyons comment mettre cela en place. Tout d'abord, il faut décider de la façon
-dont les différents services vont communiquer.
-
Déjà, amavis étant configuré par défaut pour écouter (en SMTP) sur le port
-10024 et répondre sur le port 10025 quand il s'agit de filtrer et
-écouter sur le port 10026 et répondre sur le port 10027 quand il s'agit de
-signer, nous allons profiter de cette configuration et donc lui parler en SMTP
-sur ces ports.
-
Quand a Dovecot, nous allons lui transmettre les emails en LMTP (Local Mail
-Transfer Protocol), non pas sur un port mais via un socket (dans ce cas précis,
-/var/run/dovecot/lmtp).
-
Ainsi, pour reprendre le schéma présenté plus haut :
Maintenant que la théorie est claire, mettons en place tout cela. Je me baserai
-ici sur le fait que vous utilisiez une plateforme Debian ou OpenBSD. Pour
-d'autres plateformes, la configuration devrait être sensiblement la même
-
(Vous aurez besoin de certificats SSL pour ce guide, même self-signés.
-Si vous ne savez pas comment en créer, vous pouvez aller voir ce
-post)
-
Tout d'abord, commençons par installer les programmes nécessaires :
Tout d'abord, le paragraphe nommé "Certs" contient les déclaration
- d'emplacement des certificats SSL.
-
Ensuite, le paragraphe contenant les ports externes sur lesquels nous écoutons :
- port 25 avec TLS optionel et ports 465 et 587 avec TLS obligatoire
-
Les alias sont définis juste après
-
Le paragraphe suivant contient les ports locaux sur lesquels nous écoutons :
- 10025 (port de sortie du filtre de amavis) dont on taggue les mails sortants
- comme "Filtered" et 10027 (port de sortie des mails signés par amavis) dont on
- taggue les mails sortants comme "Signed"
-
Nous avons ensuite le paragraphe qui traite les mails rentrants. Si le mail
- traité est taggué comme Filtered, alors il a été vérifié par amavis, et on
- peut donc le transmettre au destinataire. Sinon, c'est qu'il n'a pas encore
- été vérifié par amavis, donc on lui transmet pour analyse (sur le port 10024
- donc). Il est important de mettre les déclarations dans ce sens, car la
- première règle qui matche l'état du paquet est appliquée. Ici, la deuxième
- ligne matchant tous les mails arrivant et la première seulement ceux filtrés,
- inverser leur sens voudrait dire que les mails seraient toujours renvoyés a
- amavis
-
Enfin, le dernier paragraphe traite les mails sortants. De la même façon que
- pour le paragraphe précédent, si le mail sortant est déjà taggué comme Signed
- on le transmet au MTA du destinataire, sinon il n'a pas encore été signé par
- DKIM par amavis et on le transmet donc a amavis pour qu'il le signe. Le
- problème de l'ordre des lignes se pose encore, pour la même raison qu'au
- dessus.
-
-
Nous allons maintenant configurer dovecot. Comme nous l'avons vu, dovecot doit
-écouter en LMTP via la socket /var/run/dovecot/lmtp et transmettre les
-emails a la boite email de l'utilisateur. Il serait aussi interessant
-qu'il nous permette de récuperer les mails. Pour cette configuration, on ne
-mettra en place que du IMAPS. Cependant, si vous voulez mettre en place du
-POP3[s], différents guides sont trouvables facilement sur internet.
-
/etc/dovecot/dovecot.conf
-
## Dovecot configuration file
-
-# basic config
-info_log_path=/var/log/dovecot-info.log
-log_path=/var/log/dovecot.log
-log_timestamp="%Y-%m-%d %H:%M:%S "
-mail_location=maildir:%h/mail
-
-# authentication
-passdb{
- driver=pam
-}
-userdb{
- driver=passwd
-}
-
-# the protocols we use
-protocols=imaplmtpsieve
-
-# ssl config
-ssl_cert=</etc/certs/exem.pl.cert
-ssl_key=</etc/certs/exem.pl.key
-ssl_cipher_list=HIGH+kEDH:HIGH+kEECDH:HIGH:!PSK:!SRP:!3DES:!aNULL
-ssl=yes
-
-## configuring services
-# disables imap login without SSL (yes dovecot is dumb that way)
-serviceimap-login{
- inet_listenerimap{
- port=0
- }
-}
-
-servicelmtp{
- unix_listenerlmtp{
- mode=0666
- }
-}
-
-## configuring protocols
-# the dovecot lda, we set it to use sieve
-protocollda{
- mail_plugins=$mail_pluginssieve
-}
-
-protocollmtp{
- postmaster_address=whoever@exem.pl
- mail_plugins=$mail_pluginssieve
-}
-
-plugin{
- sieve=~/.dovecot.sieve
- sieve_dir=~/sieve
-}
-
-
-
-
ATTENTION: Sous OpenBSD, remplacez
-
passdb{
- driver=pam
-}
-
-
-
-
par
-
passdb{
- driver=bsdauth
-}
-
-
-
-
pour identifier les utilisateurs système
-
Ici aussi, voyons comment ce fichier est structuré :
-
-
Tout d'abord, les configurations de base : ou iront les logs, comment formater
- leur datation, et l'endroit ou seront stockés les mails des utilisateurs.
-
Nous configurons ensuite la gestion de l'authentification des utilisateurs.
- Ici nous identifions les utilisateurs avec le fichier /etc/passwd et leurs
- mots de passe avec PAM (ou BSDAuth)
-
Nous configurons ensuite les protocoles que nous servons. Ici, nous voulons de
- l'IMAPS, du LMTP local et Sieve (qui sert pour trier les messages).
-
Nous configurons le SSL
-
Le section suivante contient la configuration des services. Nous avons en
- premier lieu le service IMAP, dont la configuration sert uniquement a
- désactiver IMAP. En effet, dovecot ne permet d'activer IMAPS qu'en activant
- IMAP avec. Comme nous ne voulons pas d'IMAP sans SSL, nous le désactivons.
- La configuration de lmtp sert a attribuer des permissions plus correctes au
- fifo qu'il utilise
-
Nous configurons maintenant les protocoles, pour faire fonctionner Sieve
-
enfin, nous configurons le plugin sieve en lui indiquant quel fichier et
- quel dossier utiliser pour sa configuration.
-
-
Enfin, il nous reste a configurer amavis. Comme expliqué, amavis va nous servir
-a deux choses : signer les emails sortants, et filtrer les emails entrants. Il
-doit donc écouter sur les port 10026 pour les signatures et 10024 pour le
-filtrage, et répondre respectivement sur les ports 10027 et 10025 (le tout, en
-SMTP. Comme toutes les transactions se font sur le loopback, il n'y a aucun
-risque a utiliser des protocoles non chiffrés.
-Pour OpenBSD, pensez a copier la configuration par défaut depuis
-/usr/local/share/examples/amavisd-new/amavisd.conf et ajoutez les
-modifications nécessaires a la fin du fichier.
A nouveau, expliquons ce fichier :
-- le premier paragraphe définit que nous voulons qu'amavis signe les emails
- sortants, vérifie la signature DKIM des emails rentrants, et l'endroit ou se
- trouve la clé privée servant a signer les emails.
-- le second définit les options DKIM que nous souhaitons utiliser comme défaut.
- Je vous invite a consulter la RFC 4871
-- nous définissons ensuite les ports sur lesquels nous allons écouter, puis les
- paramètres que nous utiliserons pour les emails venant de nos utilisateurs :
- ils seront traités comme "originating" et nous ne vérifierons pas l'OS duquel
- ils viennent.
-- nous savons que les emails venants du port 10026 sont sortants, nous les
- traitons donc comme tel
-- le paragraphe suivant décrit le traitement que nous faisons subir aux emails
- sortants : tout d'abord, nous réaffirmons qu'ils viennent bien de notre
- serveur. Nous autorisons les disclaimers (voire encore une fois la RFC
- 4871. Nous déclarons l'adresse a
- prévenir en cas de spam/virus venants de notre système, et que nous voulons
- être prévenus. Nous déclarons ou envoyer les mails une fois signés et filtrés,
- puis qu'il est nécessaire de convertir les emails au format 7 bits avant de
- les envoyer au MTA, que nous autorisons tous les types et noms de fichiers, et
- les notifications de succès d'envoi. Et voila!
-
Vous avez pu remarquer qu'a aucun moment nous ne configurions ni la signature
-des emails sortants ni le filtrage des emails entrants. Ces paramètres sont en
-fait inclus par défaut dans amavis.
-
Il nous reste cependant quelques opérations a faire, encore.
-Tout d'abord, il nous faut générer notre clé DKIM. Pour cela, il existe
-différentes méthodes, j'ai personnellement utilisé opendkim (un
-tutorial)
-mais de nombreuses autre méthodes existent.
-Il nous reste encore a configurer spamassassin :
-
#rewrite_header Subject *****SPAM*****
-# report_safe 1
-required_score2.0
-# use_bayes 1
-# bayes_auto_learn 1
-# bayes_ignore_header X-Bogosity
-# bayes_ignore_header X-Spam-Flag
-# bayes_ignore_header X-Spam-Status
-ifpluginMail::SpamAssassin::Plugin::Shortcircuit
-# shortcircuit USER_IN_WHITELIST on
-# shortcircuit USER_IN_DEF_WHITELIST on
-# shortcircuit USER_IN_ALL_SPAM_TO on
-# shortcircuit SUBJECT_IN_WHITELIST on
-# shortcircuit USER_IN_BLACKLIST on
-# shortcircuit USER_IN_BLACKLIST_TO on
-# shortcircuit SUBJECT_IN_BLACKLIST on
-shortcircuitALL_TRUSTEDoff
-# shortcircuit BAYES_99 spam
-# shortcircuit BAYES_00 ham
-
-endif#Mail::SpamAssassin::Plugin::Shortcircuit
-
-
-
-
Comme vous pouvez le voir, les modifications se résument globalement a baisser
-le required_score pour ma part.
-
Pour finir, activez les services nécessaires : opensmtpd, dovecot, amavisd, et
-spamassassin, et tout devrait fonctionner parfaitement
-
-
\ No newline at end of file
diff --git a/output/feeds/feed.language.xml b/output/feeds/feed.language.xml
deleted file mode 100644
index a424677..0000000
--- a/output/feeds/feed.language.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/2012-09-18T19:07:00+02:00Le Quenya - Épisode ø2012-09-18T19:07:00+02:00Wxcafetag:,2012-09-18:home/wxcafe/code/blog-source/output/posts/le-quenya-episode-o/<p>Le Quenya est, pour ceux qui ne connaissent pas (comme moi jusqu’à il y
-a peu...), le nom que donnait Tolkien au dialecte principal parlé par
-les Elfes dans les différentes œuvres de l'auteur, dont Le Seigneur des
-Anneaux, le Hobbit, ou encore le Silmarillion. Il faut se rendre compte
-avant de commencer cet article que l'une des œuvres les plus
-impressionnantes de Tolkien, si ce n'est la plus grande, est
-l'impressionnant travail linguistique passé sur les différentes langues
-présentes dans son œuvre littéraire : L'elfique, qui est donc le quenya,
-la langue des nains, qui est appelé le khazalide, etc. </p>
-<p>En effet, a contrario des "langues" développées dans d'autres œuvres littéraires
-telles Eragon ou Harry Potter, où l'auteur-e se contente de lier un mot
-de français (ou d'anglais) a un mot de sa "langue", les langues de
-l'oeuvre de Tolkien sont des langues complètes. Elles possèdent des
-racines logiques, des systèmes de grammaire et de conjugaison propres,
-une logique inhérente dans la prononciation ou l'orthographe, et ainsi
-de suite. </p>
-<p>Un véritable rêve de linguiste donc, puisque ces langues sont
-pratiquement entièrement documentées par Tolkien lui même (voir
-l'appendice E du SdA, particulièrement instructif a ce sujet.)</p>
-<p>J'ai donc décidé d'apprendre le Quenya récemment, et je vais donc poster
-ici des résumés des cours que je suis ( disponibles <a href="http://folk.uib.no/hnohf/qcourse.htm">ici</a> , une
-traduction en français est disponible <a href="http://www.ambar-eldaron.com/telechargements/integraleshelge.pdf">la</a> en pdf ), et des infos ici
-toutes les deux semaines.</p>
-<p>Si ce sujet vous intéresse, le compte twitter @Quenya101 poste
-régulièrement des informations sur le sujet, et pour plus d'infos sur le
-sujet, vous pouvez en trouver <a href="olk.uib.no/hnohf/quenya.htm">par ici</a>.</p>
-<p>Et en tant que première leçon, vous pouvez apprendre que ce mot que vous
-avez prononcé comme le Kenya tout le long de cet article se prononce en
-fait [Kwenïa], ou bien Qwenya!</p>
\ No newline at end of file
diff --git a/output/feeds/feed.notes.xml b/output/feeds/feed.notes.xml
deleted file mode 100644
index 1873405..0000000
--- a/output/feeds/feed.notes.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/2014-05-30T08:25:00+02:00SSL ou la sécurité sur l'internet2014-05-30T08:25:00+02:00Wxcafetag:,2014-05-30:home/wxcafe/code/blog-source/output/posts/SSL-ou-la-securite-sur-internet/<p><em>Disclaimer: Ce billet est écrit après le visionnage de la conférence de Moxie
-Marlinspike suivante: <a href="https://www.youtube.com/watch?v=ibF36Yyeehw">More Tricks for Defeating SSL</a>,
-présentée a la DefCon 17 (en 2011), et la lecture du billet suivant:
-<a href="http://www.thoughtcrime.org/blog/lavabit-critique/">A Critique of Lavabit</a>,
-ce qui peut avoir l'effet de rendre légèrement parano. Si vous considérez que
-c'est le cas ici, veuillez ne pas tenir compte de ce billet (et vous pouvez dès
-a présent dire coucou aux différentes personnes qui écoutent votre connection)</em></p>
-<p>Si vous venez ici souvent (vous devriez), et que vous utilisez SSL pour vous
-connecter a ce site (vous devriez, vraiment, dans ce cas), vous avez peut être
-remarqué quelque chose récemment : il se trouve que le certificat qui permet de
-desservir ce site a changé.</p>
-<p>Cela fait suite aux évènements évoqués dans le <em>Disclaimer</em>, mais aussi a des
-doigts sortis d'un endroit particulier du corps de l'admin/auteur de ce "blog",
-qui a pris <strong>enfin</strong> les 5 minutes nécessaires a la compréhension superficielle
-du fonctionnement de SSL, et les 10 nécessaires a la mise en place d'un système
-fonctionnel utilisant cette compréhension récemment acquise.</p>
-<p>Bref, le certificat a changé. Mais de quelle façon, vous demandez vous peut
-être (ou pas, mais bon, je vais expliquer de toute façon). Et bien c'est très
-simple : il existait auparavant un certificat pour <code>wxcafe.net</code>, un pour
-<code>paste.wxcafe.net</code>, un pour <code>mail.wxcafe.net</code>, etc... Bref, un certificat
-différent pour chaque sous-domaine.</p>
-<p>Il s'avère que c'est a la fois très peu pratique a utiliser (les utilisateurs
-doivent ajouter chaque certificat a leur navigateur séparément, chaque
-changement de sous-domaine conduit a un message d'erreur, etc) et pas plus
-sécurisé que d'avoir un seul certificat wildcard. J'ai donc généré un certificat
-pour <code>*.wxcafe.net</code> hier, et il sera dorénavant utilisé pour tous les
-sous-domaine de <code>wxcafe.net</code>; et un certificat pour <code>wxcafe.net</code>, qui ne matche
-pas <code>*.wxcafe.net</code>, et qui sera donc utilisé... bah pour <code>wxcafe.net</code>.</p>
-<p>Il serait préférable de faire des redirections automatiques des adresses http
-vers les adresses https, cependant, étant donné que le certificat est
-self-signed, il me semble préférable que l'arrivée sur le site ne commence pas
-par une page firefox disant "Something's Wrong!", et ces redirections ne seront
-donc pas mises en place.</p>
-<p>De plus, après la lecture de l'article de blog sur Lavabit dont le lien est plus
-haut, il semble intéressant (et assez important) de faire en sorte que le
-serveur utilise en priorité (et si possible, uniquement) des ciphers supportant
-PFS, soit EDH et EECDH (Ephemeral Diffie-Helmann et la version Elliptic Curves
-de ce même algorithme). Cela permet de faire en sorte que toutes les
-communications avec ce serveur soient future-proof, c'est a dire que, même si
-quelqu'un récupérait la clé privée, elle ne serait pas utile pour déchiffrer les
-communications passées.</p>
-<p>Bon, maintenant que les explications basiques sont faites, voyons
-l'implémentation : <br />
-Pour générer la clé, tout d'abord, il convient d'utiliser les commandes
-suivantes: </p>
-<div class="highlight"><pre><span class="n">sudo</span> <span class="n">openssl</span> <span class="n">genrsa</span> <span class="o">-</span><span class="n">out</span> <span class="n">example</span><span class="p">.</span><span class="n">key</span> <span class="mi">4096</span>
-<span class="cp"># nous utilisons ici une clé de 4096 bits, la taille est laissée a votre appréciation</span>
-<span class="n">sudo</span> <span class="n">openssl</span> <span class="n">req</span> <span class="o">-</span><span class="n">new</span> <span class="o">-</span><span class="n">key</span> <span class="n">example</span><span class="p">.</span><span class="n">key</span> <span class="o">-</span><span class="n">out</span> <span class="n">example</span><span class="p">.</span><span class="n">csr</span>
-<span class="cp"># OpenSSL va ici vous demander de nombreuses informations, "Common Name" devant contenir le FQDN</span>
-<span class="n">sudo</span> <span class="n">openssl</span> <span class="n">X509</span> <span class="o">-</span><span class="n">req</span> <span class="o">-</span><span class="n">days</span> <span class="mi">1095</span> <span class="o">-</span><span class="n">in</span> <span class="n">example</span><span class="p">.</span><span class="n">csr</span> <span class="o">-</span><span class="n">signkey</span> <span class="n">example</span><span class="p">.</span><span class="n">key</span> <span class="o">-</span><span class="n">out</span> <span class="n">example</span><span class="p">.</span><span class="n">crt</span>
-<span class="cp"># enfin, nous générons la clé, d'une durée de vie de 3 ans</span>
-</pre></div>
-
-
-<p>Bien entendu, si vous voulez utiliser une clé wildcard, il vous faut préciser
-<code>*.example.com</code> comme common name.
-Une fois la clé générée, il faut dire aux différents services de l'utiliser, et
-de n'utiliser que des ciphers PFS. La méthode dépend donc du service.
-Je vais lister ici les methodes pour quelques services que j'utilise :</p>
-<h3>apache :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/apache2/mods_enabled/ssl.conf</span>
-<span class="cp"># [...]</span>
-<span class="n">SSLProtocol</span> <span class="n">all</span> <span class="o">-</span><span class="n">SSLv2</span> <span class="o">-</span><span class="n">SSLv3</span>
-<span class="n">SSLHonorCipherOrder</span> <span class="n">on</span>
-<span class="n">SSLCipherSuite</span> <span class="s">"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \</span>
-<span class="s"> EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \</span>
-<span class="s"> EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"</span>
-<span class="cp"># [...]</span>
-<span class="cp"># /etc/apache2/sites-enabled/default-ssl</span>
-<span class="cp"># [...]</span>
-<span class="n">SSLEngine</span> <span class="n">on</span>
-<span class="n">SSLCertificateFile</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">SSLCertificateKeyFile</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="cp"># [...]</span>
-</pre></div>
-
-
-<h3>nginx :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/nginx/nginx.conf </span>
-<span class="cp"># [...]</span>
-<span class="n">ssl_protocols</span> <span class="n">TLSv1</span> <span class="n">TLSv1</span><span class="mf">.1</span> <span class="n">TLSv1</span><span class="mf">.2</span><span class="p">;</span>
-<span class="n">ssl_prefer_server_ciphers</span> <span class="n">on</span><span class="p">;</span>
-<span class="n">ssl_ciphers</span> <span class="s">"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \</span>
-<span class="s"> EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \</span>
-<span class="s"> EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"</span><span class="p">;</span>
-<span class="cp"># [...]</span>
-<span class="cp"># /etc/nginx/sites-enabled/default-ssl</span>
-<span class="cp"># [...]</span>
-<span class="n">ssl</span> <span class="n">on</span><span class="p">;</span>
-<span class="n">ssl_certificate</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">ssl_certificate_key</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="cp"># [...]</span>
-</pre></div>
-
-
-<h3>prosody (jabber) :</h3>
-<div class="highlight"><pre><span class="cp"># tout d'abord, lancez la commande suivante :</span>
-<span class="n">sudo</span> <span class="n">openssl</span> <span class="n">dhparam</span> <span class="o">-</span><span class="n">out</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">prosody</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">dh</span><span class="o">-</span><span class="mf">2048.</span><span class="n">pem</span> <span class="mi">2048</span>
-<span class="cp"># ensuite, pour chaque VirtualHost dans /etc/prosody/prosody.conf :</span>
-<span class="n">ssl</span> <span class="o">=</span> <span class="p">{</span>
- <span class="n">dhparam</span> <span class="o">=</span> <span class="s">"/etc/prosody/certs/dh-2048.pem"</span><span class="p">;</span>
- <span class="n">key</span> <span class="o">=</span> <span class="s">"/etc/certs/example.com.key"</span><span class="p">;</span>
- <span class="n">certificate</span> <span class="o">=</span> <span class="s">"/etc/certs/example.com.crt"</span><span class="p">;</span>
-<span class="p">}</span>
-<span class="cp"># la cipher suite de prosody utilise par défaut EDH et EECDH</span>
-</pre></div>
-
-
-<h3>postfix (email) :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/postfix/main.cf</span>
-<span class="cp"># [...]</span>
-<span class="n">smtpd_tls_cert_file</span> <span class="o">=</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">smtpd_tls_key_file</span> <span class="o">=</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="n">tls_preempt_cipherlist</span> <span class="o">=</span> <span class="n">yes</span>
-<span class="n">smtpd_tls_eecdh_grade</span> <span class="o">=</span> <span class="n">strong</span>
-<span class="n">smtdp_tls_mandatory_ciphers</span> <span class="o">=</span> <span class="n">high</span>
-<span class="n">smtpd_tls_mandatory_exclude_ciphers</span> <span class="o">=</span> <span class="n">aNULL</span><span class="p">,</span> <span class="n">eNULL</span><span class="p">,</span> <span class="n">MD5</span><span class="p">,</span> <span class="n">LOW</span><span class="p">,</span> <span class="mi">3</span><span class="n">DES</span><span class="p">,</span> <span class="n">EXP</span><span class="p">,</span> <span class="n">PSK</span><span class="p">,</span> <span class="n">SRP</span><span class="p">,</span> <span class="n">DSS</span>
-<span class="n">smtpd_tls_security_level</span> <span class="o">=</span> <span class="n">encrypt</span>
-<span class="n">smtpd_tls_mandatory_protocols</span> <span class="o">=</span> <span class="o">!</span><span class="n">SSLv2</span><span class="p">,</span> <span class="o">!</span><span class="n">SSLv3</span>
-<span class="n">smtpd_use_tls</span> <span class="o">=</span> <span class="n">yes</span>
-<span class="cp"># [...]</span>
-</pre></div>
-
-
-<h3>dovecot (imap) :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/dovecot/dovecot.conf </span>
-<span class="cp"># [...]</span>
-<span class="n">ssl_cert</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">ssl_key</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="n">ssl_cipher_list</span> <span class="o">=</span> <span class="n">HIGH</span><span class="o">+</span><span class="n">kEDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">+</span><span class="n">kEECDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">:!</span><span class="n">PSK</span><span class="o">:!</span><span class="n">SRP</span><span class="o">:!</span><span class="mi">3</span><span class="n">DES</span><span class="o">:!</span><span class="n">aNULL</span>
-</pre></div>
-
-
-<p>Voila. Pour d'autres protocoles/services, je vous invite a RTFM^W vous reporter
-au manuel approprié.</p>
-<p>Cela étant dit, je conseille a tout le monde d'aller voir la conférence dans le
-disclaimer, et tant qu'a faire la conférence du même hacker <a href="https://www.youtube.com/watch?v=8N4sb-SEpcg">SSL and the future
-of Authenticity</a> qui parle de son
-implémentation d'une technologie "remplaçant" le système de CAs qui existe
-actuellement.</p>Redesign du blog, etc2013-06-12T19:14:00+02:00wxcafetag:,2013-06-12:home/wxcafe/code/blog-source/output/posts/redesign-du-blog/<p>Comme vous avez pu le remarquer, ce blog a "un peu" changé récemment.</p>
-<p>Du coup, expliquons. J'ai récemment monté <a href="http://serverporn.fr">serverporn</a>, et ai par la même
-occasion découvert <a href="http://getpelican.com">pelican</a>. J'ai tout de suite accroché a ce générateur de
-site statique en python, du fait de son efficacité, de sa facilité d'utilisation
-et de sa grande customisation. En gros, pelican est un logiciel qui prend des
-fichiers markdown ou reStructuredText, les passe a la moulinette d'un "thème"
-constitué de templates pour les fichiers html et l'organisation du projet et
-d'une partie "statique" contenant le css, et les autres fichiers nécessaires au
-projet, et en fait des pages html. </p>
-<p>Globalement, un thème est constitué ainsi :</p>
-<div class="highlight"><pre><span class="n">th</span><span class="err">è</span><span class="n">me</span>
-<span class="err">├──</span> <span class="k">static</span>
-<span class="err">│</span> <span class="err">├─</span> <span class="n">css</span>
-<span class="err">│</span> <span class="err">│</span> <span class="err">└─</span> <span class="p">[</span><span class="n">css</span> <span class="n">files</span><span class="p">]</span>
-<span class="err">│</span> <span class="err">├─</span> <span class="n">img</span>
-<span class="err">│</span> <span class="err">│</span> <span class="err">└─</span> <span class="p">[</span><span class="n">image</span> <span class="n">files</span><span class="p">]</span>
-<span class="err">│</span> <span class="err">└─</span> <span class="n">js</span>
-<span class="err">│</span> <span class="err">└─</span> <span class="p">[</span><span class="n">javascript</span> <span class="n">files</span><span class="p">]</span>
-<span class="err">└──</span> <span class="n">template</span>
- <span class="err">├─</span> <span class="n">base</span><span class="p">.</span><span class="n">html</span>
- <span class="err">├─</span> <span class="n">index</span><span class="p">.</span><span class="n">html</span>
- <span class="err">├─</span> <span class="n">page</span><span class="p">.</span><span class="n">html</span>
- <span class="err">├─</span> <span class="p">[...]</span>
- <span class="err">└─</span> <span class="n">article</span><span class="p">.</span><span class="n">html</span>
-</pre></div>
-
-
-<p>Sachant que les fichiers .html sont en réalité des fichiers suivant la syntaxe
-django, et utilisent des variables particulières telles <code>{{ article.content }}</code>,
-par exemple. La syntaxe complète est très bien documentée dans la <a href="http://docs.getpelican.com/en/3.2/themes.html#templates-and-variables">doc</a> de
-pelican.</p>
-<p>L'un des grands avantages de pelican est aussi la facilité qu'il offre quand a
-la mise a jour du blog.<br />
-En effet, il offre un système de Makefiles permettant, grâce a de nombreuses
-cibles de compilation, de régénérer le site entier, de ne générer que les
-fichiers modifiés depuis la dernière génération, de générer uniquement les
-fichiers n'existant pas la dernière fois, etc...
-La gestion du projet en devient donc très simple, puisque après avoir écrit un
-article, il suffit de faire un <code>make html</code> pour mettre a jour le blog.</p>
-<p>De plus, le système de wordpress commençait a ne plus me convenir, du fait du
-manque de customisation, du fait que ça soit du PHP (beurk), etc. La, avec
-pelican, je contrôle bien plus ce qui est mis sur le serveur (puisque c'est moi
-qui ait modifié les templates et le css), c'est lisible (puisque c'est du
-python, par opposition au PHP...), et c'est plus "efficace". Le markdown est
-très pratique, je peux utiliser mon éditeur de texte de prédilection pour faire
-les articles, je n'ai pas besoin d'un accès continu au net, bref, c'est plus
-efficace.</p>
-<p>En ce qui concerne les points négatifs : </p>
-<ul>
-<li>
-<p>Perte des commentaires:
- Je vous propose de vous référer a l'article de Gordontesos <a href="http://gordon.re/hacktivisme/la-necessite-des-commentaires.html">ici</a> quand a
- mon avis sur ce sujet.</p>
-</li>
-<li>
-<p>Perte du bouton flattr:
- Il va bientôt être remis, c'est juste un manque de temps de ma part, mais vu
- que toutes les pages passent par les mêmes templates, c'est assez facile a
- faire.</p>
-</li>
-<li>
-<p>Perte du spam:
- Pourquoi c'est dans les points négatifs, ca?</p>
-</li>
-<li>
-<p>Temps d'adaptation et d'appréhension du système:
- Oui, pendant encore un certain temps, il y aura des glitchs plus ou moins
- réguliers sur le blog, c'est parce que j'apprend a me servir de ce système
- et que j'apprend du css et du html. Ca arrive, ca passera, mais dans tous
- les cas ca me permet d'apprendre plein de choses, donc je mets plutôt ca
- dans la catëgorie positive.</p>
-</li>
-</ul>
-<p>Voila, c'est mon retour d'expérience sur pelican. A plus. </p>Update2013-01-05T18:32:00+01:00Wxcafetag:,2013-01-05:home/wxcafe/code/blog-source/output/posts/update/<p>Juste une petite note pour annoncer le prochain article, consacré a la
-fabrication d'une PirateBox basée sur un Raspberry Pi. Voila, a bientôt
-sur le blog!</p>Update a propos du blog2012-09-18T16:57:00+02:00Wxcafetag:,2012-09-18:home/wxcafe/code/blog-source/output/posts/update-a-propos-du-blog/<p>Bonsoir! Un petit post pour faire un peu le point sur ce blog.<br />
-Comme vous avez pu le remarquer, j'ai un peu de mal a tenir les délais
-que je m'étais fixés pour ce blog (un post tous les 8 jours), et après y
-avoir un tantinet réfléchi, ceci est du a deux points principaux :</p>
-<ul>
-<li>
-<p>Tout d'abord, le manque d'inspiration, tout simplement. C'est assez
-compliqué de trouver des sujets intéressants liés a l'informatique, et
-qui méritent un article. Je vous invite d'ailleurs a me suggérer des
-sujets via les commentaires ou twitter (<a href="https://twitter.com/wxcafe">@Wxcafe</a>)</p>
-</li>
-<li>
-<p>Ensuite, le délai de 8 jours est trop court pour me permettre de faire
-les recherches nécessaires, tout en manageant mes cours et mon temps
-libre.</p>
-</li>
-</ul>
-<p>A cause de cela, j'ai pris la décision de changer le rythme de parution
-des articles a un *minimum* d'un post tous les 10 jours. Bien entendu,
-si j'ai de l'inspiration en trop, plus de posts sont envisageables.</p>
-<p>Voila. A part ca, je tiens a vous remercier de me lire (c'est assez
-étonnant de voir ca...), et je précise que je vais ajouter une page
-About Me, qui bien entendu rassemblera des informations sur moi, ma vie,
-mon oeuvre :P</p>
-<p>Ceci dit, je vais bosser un peu sur le prochain article.</p>
-<p>A plus tard!</p>Débuts, présentation, etc...2012-08-18T20:27:00+02:00Wxcafetag:,2012-08-18:home/wxcafe/code/blog-source/output/posts/debuts-presentation-etc/<p>Bonjour!</p>
-<p>Je m'appelle Wxcafé, et ça fait pas mal de temps que je sévis sur
-Twitter, mais aussi sur IRC (Je traîne pas mal sur
-irc.freenode.net/##nolife et #debian-fr)</p>
-<p>J'ai 17 ans, je suis donc étudiant (bac général), je vis a Paris, et je
-fais partie de ce genre de personne qui sont capables d'investir tout
-leur temps et leur énergie a s’intéresser a un sujet en particulier, et
-qui ne peuvent pas vivre sans leurs passions, avec une petite différence
-cependant, qui est que je m’intéresse a plusieurs choses :
-l'informatique, qui est un champ tellement large qu'on peut passer une
-vie a apprendre des choses dessus, et plus particulièrement à
-l'informatique avancée (Noyaux dérivés d'UNIX et de Linux, outils libres
-{bien que n'étant pas un barbu intégriste [ceci est un troll assumé. Les
-trolls seront a partir de maintenant indiqués avec le tag [tr]] du
-libre, je préfère utiliser de l'open-source si c'est possible},
-programmation en C, python et java, etc...) , mais aussi a
-l’électronique. </p>
-<p>Dans un tout autre registre, je m’intéresse aussi
-beaucoup aux différents aspects du féminisme et des égalités sexuelles
-(anti-homophobie/transphobie/biphobie/etc , anti-sexisme, et cætera) ,
-et a la culture dite "geek" en général.</p>
-<p>Je tenterai de poster ici le plus souvent possible, mais j'ai de gros
-problèmes en terme de régularité de post, donc ne vous inquiétez pas si
-vous ne voyez rien pendant deux semaines.</p>
-<p>Merci beaucoup de votre attention, et a bientôt!</p>
\ No newline at end of file
diff --git a/output/feeds/feed.programmation.xml b/output/feeds/feed.programmation.xml
deleted file mode 100644
index a51d231..0000000
--- a/output/feeds/feed.programmation.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/2012-09-08T18:15:00+02:00Introduction a bash en tant que language de programmation.2012-09-08T18:15:00+02:00Wxcafetag:,2012-09-08:home/wxcafe/code/blog-source/output/posts/introduction-a-bash-en-tant-que-language-de-programmation/<p>L’interpréteur de commandes bash (Bourne Again SHell)
-est possiblement le shell le plus connu, notamment grâce a son
-intégration en tant que shell par défaut dans les distributions Linux
-les plus répandues (Debian - Ubuntu, Fedora, OpenSUSE, Mandriva -
-Mageia, etc...).</p>
-<p>Cependant, il n'est souvent connu qu'en tant qu’interpréteur de
-commande. Alors qu'en réalité, le bash est un langage de programmation
-(presque) complet! Ainsi, il intègre les structures de contrôle
-habituelles ( pour mémoire, les structures de contrôle comprennent les
-conditions (les ifs), les boucles (les while), et les choix (les case),
-entre autres.), et est donc ce que l'on pourrait appeler un langage de
-script, interprété, de la même façon que python, a la difference près
-qu'il contient un prompt (un système d'entrée de commande interactif)
-bien plus complet et développé que python. </p>
-<p>Cependant, les programmes en bash ne sont executables que dans un
-environnement de type UNIX, et donc pas sous Windows (cygwin
-(cygwin.com) propose ceci dit un système permettant d'utiliser bash sous
-windows. Il faut malgré tout convenir que cet environnement est bien
-plus compliqué a manipuler, et globalement ne permet pas d'acceder a des
-portages de qualité satisfaisante.)</p>
-<p>Ainsi, il est possible de créer des fichiers .sh, contenant des
-instructions bash mises a la suite (de la même façon qu'un script BATCH
-Windows .bat), et faisant appel autant aux commandes internes de bash,
-aussi bien que les commandes externes mises en place par les programmes
-installés sur le système, exactement comme dans une invite de commande.
-Ainsi, pour appeller firefox, la commande 'firefox' lancera le petit
-panda roux directement dans la boite magique, tandis qu'un if
-[condition] suivi d'un then (quelque chose) lancera le fameux quelque
-chose suscité si la condition est vérifiée. Un peu comme en C, quoi. </p>
-<p>De cette façon, et avec quelques informations et connaissances, il est
-facile de comprendre le fonctionnement de la programmation en bash.
-Quelques exemples commentés:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash </span>
-<span class="c"># La ligne du dessus est très importante, c'est elle qui dit a bash quel doit être </span>
-<span class="c"># l'interpreteur des commandes écrites dans ce script. Ici, on dit a bash d'interpréter </span>
-<span class="c"># lui même les commandes comprises dans ce script. On aurait tout de fois pu lui faire </span>
-<span class="c"># executer du python, par exemple, en mettant #!/usr/bin/python a la place.</span>
-<span class="nb">echo</span> <span class="s2">"this is a test of bash as a simple script manager"</span> <span class="c"># echo est une commande d'affichage de message.</span>
-<span class="nb">echo</span> <span class="s2">"what's your name, user?"</span>
-<span class="nb">read </span>your_name <span class="c"># la commande read permet de demander a l'utilisateur de donner une </span>
-<span class="c"># information, stockée dans la variable en paramètre. </span>
-<span class="nb">echo</span> <span class="nv">$your_name</span> <span class="s2">"is your name"</span> <span class="c"># echo permet aussi d'afficher la valeur de variables. </span>
-<span class="c"># Ici, on renvoie la variable remplie précédemment, suivie d'un message. </span>
-<span class="nb">exit</span> <span class="c"># cet appel a exit n'est pas obligatoire, mais donne un aspect plus </span>
-<span class="c"># propre au code. Il ne quittera pas la session de terminal, cependant.</span>
-</pre></div>
-</td></tr></table>
-
-<p>Voila. Ce script bash ne sert pas a grand chose, mais il a le mérite
-d'être clair quand aux capacités et a la simplicité du bash en tant que
-language de programmation. Alors en effet, nous n'avons ici absolument
-pas utilisé les capacités de bash en lui même, et n'avons fait que le
-renvoyer a des programmes externes (sauf read, il est vrai). Voyons
-maintenant la syntaxe de bash quand il s'agit d'utiliser les structures
-de contrôle:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash </span>
-<span class="nb">echo</span> <span class="s2">"welcome to this second bash program. would you please kindly enter the name of the machine you're running this on?"</span>
-<span class="nb">read </span>host_name
-<span class="k">if</span> <span class="o">[</span> <span class="nv">$host_name</span> <span class="o">==</span> <span class="nv">$HOSTNAME</span> <span class="o">]</span> <span class="c">## voici la syntaxe du if. Attention a bien penser a mettre les espaces avant la première variable, et après la seconde. La variable $HOSTNAME ici utilisée est une variable présente par défaut sur le système. </span>
-<span class="k">then </span><span class="nb">echo</span> <span class="s2">"you told the truth!"</span>
-<span class="k">fi</span> <span class="c">## le fi est la commande fermant le if, tout comme le EndIf en basic. C'est un peu vieillot, mais important en bash. </span>
-<span class="k">if</span> <span class="o">[</span> <span class="nv">$host_name</span> !<span class="o">=</span> <span class="nv">$HOSTNAME</span> <span class="o">]</span> <span class="c">## l'opérateur != est l'inverse de ==, il vérifie donc si les deux variables ne sont pas les mêmes. </span>
-<span class="k">then </span><span class="nb">echo</span> <span class="s2">"you lied!"</span>
-<span class="k">fi </span>
-<span class="nb">exit</span>
-</pre></div>
-</td></tr></table>
-
-<p>Voila un petit programme permettant d'apprendre la syntaxe du if en
-bash. comme vous pouvez le voir, le language est plutôt lite, et la
-structure if n'est pas très difficile a prendre en main.</p>
-<p>Passons maintenant au while:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5
-6
-7</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash</span>
-<span class="nb">echo</span> <span class="s2">"what is your name?"</span>
-<span class="nb">read </span>name
-<span class="k">while</span> <span class="o">[</span> 1 < 10 <span class="o">]</span> <span class="c">## le while se présente sous la forme while (truc); do (machin); done. Les [] sont en fait des programmes differents, inclus dans bash.</span>
-<span class="k">do </span><span class="nb">echo</span> <span class="s2">"i love"</span> <span class="nv">$name</span>
-<span class="k">done</span>
-<span class="nb">exit</span>
-</pre></div>
-</td></tr></table>
-
-<p>Ce petit programme permet d'observer les bases de while (qui est la
-boucle de base en bash).</p>
-<p>Le troisième opérateur de bash est case. Voyons:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash</span>
-<span class="nb">echo</span> <span class="s2">"please enter a number between one and five"</span>
-<span class="nb">read </span>number
-<span class="k">case</span> <span class="nv">$number</span> in
-1<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was one"</span>
-;;
-2<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was two"</span>
-;;
-3<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was three"</span>
-;;
-4<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was four"</span>
-;;
-5<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was five"</span>
-;;
-*<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"this number is not correct"</span>
-;;
-<span class="k">esac</span>
-<span class="nb">exit</span>
-</pre></div>
-</td></tr></table>
-
-<p>case est un opérateur plus complexe a utiliser a bon escient, et sert a
-faire des ifs multiples sans avoir a taper des dizaines de lignes de
-code.<br />
-(pour ceux qui auraient du mal avec cet opérateur, il faut comprendre
-que le code vérifie chacune des conditions : le 1) est validé si la
-valeur de \$number est 1, le 2) est validé si cette valeur est 2, etc..
-le *) désigne toutes les valeurs, et est donc validé si aucune autre
-valeur n'a précédemment acceptée.</p>
-<p>Quelques notions manquent ici:<br />
-- les nombres aléatoires sont générés par un appel a la variable
-\$RANDOM, qui renvoie un nombre aléatoire entre 0 et 32767 (un entier a
-16 bits donc). il est possible de faire des invocations a des nombres
-aléatoires plus grands, mais les méthodes permettant de faire cela sont
-plus complexes, et je ne les aborderai donc pas ici.<br />
-- comme vous avez pu le constater, les variables sont désignées en tant
-que telles par l'utilisation d'un symbole \$ au début de leur nom.
-Ainsi, echo number renverra "number", tandis que echo \$number renverra
-le résultat de la variable \$number.<br />
-être utilisées dans un programme bash.<br />
-- comme vous avez pu le constater, les commandes doivent tenir en
-théorie en une ligne. Cependant, le caractère \ permet de retourner a
-la ligne en faisant considérer a bash qu'il s'agit de la même ligne.</p>
-<p>Globalement, il faut admettre que bash n'a pas vocation a être un
-langage de programmation extrêmement développé. Sans framework
-graphique, avec peu de manières d'utiliser de grandes variables, ou
-encore une gestion de la mémoire risible, bash n'a rien d'un langage de
-développement professionnel.<br />
-Cependant, le simple fait qu'il soit considéré comme un langage de
-programmation a part entière font de lui un langage de script d'une
-puissance incontestable, et sa simplicité et sa grande popularité font
-de lui un langage de choix pour apprendre la programmation simplement et
-sans trop se prendre la tête.</p>
-<p>J'espère que cet article aura été utile a certain-e-s, et je vous
-souhaite bonne chance dans votre découverte de la programmation (n'allez
-pas voir ceux qui font de l'orienté objet, c'est des méchants :3)</p>
\ No newline at end of file
diff --git a/output/feeds/feed.rss.language.xml b/output/feeds/feed.rss.language.xml
deleted file mode 100644
index 3a514c5..0000000
--- a/output/feeds/feed.rss.language.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/Tue, 18 Sep 2012 19:07:00 +0200Le Quenya - Épisode øfile:///home/wxcafe/code/blog-source/output/posts/le-quenya-episode-o/<p>Le Quenya est, pour ceux qui ne connaissent pas (comme moi jusqu’à il y
-a peu...), le nom que donnait Tolkien au dialecte principal parlé par
-les Elfes dans les différentes œuvres de l'auteur, dont Le Seigneur des
-Anneaux, le Hobbit, ou encore le Silmarillion. Il faut se rendre compte
-avant de commencer cet article que l'une des œuvres les plus
-impressionnantes de Tolkien, si ce n'est la plus grande, est
-l'impressionnant travail linguistique passé sur les différentes langues
-présentes dans son œuvre littéraire : L'elfique, qui est donc le quenya,
-la langue des nains, qui est appelé le khazalide, etc. </p>
-<p>En effet, a contrario des "langues" développées dans d'autres œuvres littéraires
-telles Eragon ou Harry Potter, où l'auteur-e se contente de lier un mot
-de français (ou d'anglais) a un mot de sa "langue", les langues de
-l'oeuvre de Tolkien sont des langues complètes. Elles possèdent des
-racines logiques, des systèmes de grammaire et de conjugaison propres,
-une logique inhérente dans la prononciation ou l'orthographe, et ainsi
-de suite. </p>
-<p>Un véritable rêve de linguiste donc, puisque ces langues sont
-pratiquement entièrement documentées par Tolkien lui même (voir
-l'appendice E du SdA, particulièrement instructif a ce sujet.)</p>
-<p>J'ai donc décidé d'apprendre le Quenya récemment, et je vais donc poster
-ici des résumés des cours que je suis ( disponibles <a href="http://folk.uib.no/hnohf/qcourse.htm">ici</a> , une
-traduction en français est disponible <a href="http://www.ambar-eldaron.com/telechargements/integraleshelge.pdf">la</a> en pdf ), et des infos ici
-toutes les deux semaines.</p>
-<p>Si ce sujet vous intéresse, le compte twitter @Quenya101 poste
-régulièrement des informations sur le sujet, et pour plus d'infos sur le
-sujet, vous pouvez en trouver <a href="olk.uib.no/hnohf/quenya.htm">par ici</a>.</p>
-<p>Et en tant que première leçon, vous pouvez apprendre que ce mot que vous
-avez prononcé comme le Kenya tout le long de cet article se prononce en
-fait [Kwenïa], ou bien Qwenya!</p>WxcafeTue, 18 Sep 2012 19:07:00 +0200tag:,2012-09-18:home/wxcafe/code/blog-source/output/posts/le-quenya-episode-o/
\ No newline at end of file
diff --git a/output/feeds/feed.rss.notes.xml b/output/feeds/feed.rss.notes.xml
deleted file mode 100644
index 4429edd..0000000
--- a/output/feeds/feed.rss.notes.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/Fri, 30 May 2014 08:25:00 +0200SSL ou la sécurité sur l'internetfile:///home/wxcafe/code/blog-source/output/posts/SSL-ou-la-securite-sur-internet/<p><em>Disclaimer: Ce billet est écrit après le visionnage de la conférence de Moxie
-Marlinspike suivante: <a href="https://www.youtube.com/watch?v=ibF36Yyeehw">More Tricks for Defeating SSL</a>,
-présentée a la DefCon 17 (en 2011), et la lecture du billet suivant:
-<a href="http://www.thoughtcrime.org/blog/lavabit-critique/">A Critique of Lavabit</a>,
-ce qui peut avoir l'effet de rendre légèrement parano. Si vous considérez que
-c'est le cas ici, veuillez ne pas tenir compte de ce billet (et vous pouvez dès
-a présent dire coucou aux différentes personnes qui écoutent votre connection)</em></p>
-<p>Si vous venez ici souvent (vous devriez), et que vous utilisez SSL pour vous
-connecter a ce site (vous devriez, vraiment, dans ce cas), vous avez peut être
-remarqué quelque chose récemment : il se trouve que le certificat qui permet de
-desservir ce site a changé.</p>
-<p>Cela fait suite aux évènements évoqués dans le <em>Disclaimer</em>, mais aussi a des
-doigts sortis d'un endroit particulier du corps de l'admin/auteur de ce "blog",
-qui a pris <strong>enfin</strong> les 5 minutes nécessaires a la compréhension superficielle
-du fonctionnement de SSL, et les 10 nécessaires a la mise en place d'un système
-fonctionnel utilisant cette compréhension récemment acquise.</p>
-<p>Bref, le certificat a changé. Mais de quelle façon, vous demandez vous peut
-être (ou pas, mais bon, je vais expliquer de toute façon). Et bien c'est très
-simple : il existait auparavant un certificat pour <code>wxcafe.net</code>, un pour
-<code>paste.wxcafe.net</code>, un pour <code>mail.wxcafe.net</code>, etc... Bref, un certificat
-différent pour chaque sous-domaine.</p>
-<p>Il s'avère que c'est a la fois très peu pratique a utiliser (les utilisateurs
-doivent ajouter chaque certificat a leur navigateur séparément, chaque
-changement de sous-domaine conduit a un message d'erreur, etc) et pas plus
-sécurisé que d'avoir un seul certificat wildcard. J'ai donc généré un certificat
-pour <code>*.wxcafe.net</code> hier, et il sera dorénavant utilisé pour tous les
-sous-domaine de <code>wxcafe.net</code>; et un certificat pour <code>wxcafe.net</code>, qui ne matche
-pas <code>*.wxcafe.net</code>, et qui sera donc utilisé... bah pour <code>wxcafe.net</code>.</p>
-<p>Il serait préférable de faire des redirections automatiques des adresses http
-vers les adresses https, cependant, étant donné que le certificat est
-self-signed, il me semble préférable que l'arrivée sur le site ne commence pas
-par une page firefox disant "Something's Wrong!", et ces redirections ne seront
-donc pas mises en place.</p>
-<p>De plus, après la lecture de l'article de blog sur Lavabit dont le lien est plus
-haut, il semble intéressant (et assez important) de faire en sorte que le
-serveur utilise en priorité (et si possible, uniquement) des ciphers supportant
-PFS, soit EDH et EECDH (Ephemeral Diffie-Helmann et la version Elliptic Curves
-de ce même algorithme). Cela permet de faire en sorte que toutes les
-communications avec ce serveur soient future-proof, c'est a dire que, même si
-quelqu'un récupérait la clé privée, elle ne serait pas utile pour déchiffrer les
-communications passées.</p>
-<p>Bon, maintenant que les explications basiques sont faites, voyons
-l'implémentation : <br />
-Pour générer la clé, tout d'abord, il convient d'utiliser les commandes
-suivantes: </p>
-<div class="highlight"><pre><span class="n">sudo</span> <span class="n">openssl</span> <span class="n">genrsa</span> <span class="o">-</span><span class="n">out</span> <span class="n">example</span><span class="p">.</span><span class="n">key</span> <span class="mi">4096</span>
-<span class="cp"># nous utilisons ici une clé de 4096 bits, la taille est laissée a votre appréciation</span>
-<span class="n">sudo</span> <span class="n">openssl</span> <span class="n">req</span> <span class="o">-</span><span class="n">new</span> <span class="o">-</span><span class="n">key</span> <span class="n">example</span><span class="p">.</span><span class="n">key</span> <span class="o">-</span><span class="n">out</span> <span class="n">example</span><span class="p">.</span><span class="n">csr</span>
-<span class="cp"># OpenSSL va ici vous demander de nombreuses informations, "Common Name" devant contenir le FQDN</span>
-<span class="n">sudo</span> <span class="n">openssl</span> <span class="n">X509</span> <span class="o">-</span><span class="n">req</span> <span class="o">-</span><span class="n">days</span> <span class="mi">1095</span> <span class="o">-</span><span class="n">in</span> <span class="n">example</span><span class="p">.</span><span class="n">csr</span> <span class="o">-</span><span class="n">signkey</span> <span class="n">example</span><span class="p">.</span><span class="n">key</span> <span class="o">-</span><span class="n">out</span> <span class="n">example</span><span class="p">.</span><span class="n">crt</span>
-<span class="cp"># enfin, nous générons la clé, d'une durée de vie de 3 ans</span>
-</pre></div>
-
-
-<p>Bien entendu, si vous voulez utiliser une clé wildcard, il vous faut préciser
-<code>*.example.com</code> comme common name.
-Une fois la clé générée, il faut dire aux différents services de l'utiliser, et
-de n'utiliser que des ciphers PFS. La méthode dépend donc du service.
-Je vais lister ici les methodes pour quelques services que j'utilise :</p>
-<h3>apache :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/apache2/mods_enabled/ssl.conf</span>
-<span class="cp"># [...]</span>
-<span class="n">SSLProtocol</span> <span class="n">all</span> <span class="o">-</span><span class="n">SSLv2</span> <span class="o">-</span><span class="n">SSLv3</span>
-<span class="n">SSLHonorCipherOrder</span> <span class="n">on</span>
-<span class="n">SSLCipherSuite</span> <span class="s">"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \</span>
-<span class="s"> EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \</span>
-<span class="s"> EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"</span>
-<span class="cp"># [...]</span>
-<span class="cp"># /etc/apache2/sites-enabled/default-ssl</span>
-<span class="cp"># [...]</span>
-<span class="n">SSLEngine</span> <span class="n">on</span>
-<span class="n">SSLCertificateFile</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">SSLCertificateKeyFile</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="cp"># [...]</span>
-</pre></div>
-
-
-<h3>nginx :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/nginx/nginx.conf </span>
-<span class="cp"># [...]</span>
-<span class="n">ssl_protocols</span> <span class="n">TLSv1</span> <span class="n">TLSv1</span><span class="mf">.1</span> <span class="n">TLSv1</span><span class="mf">.2</span><span class="p">;</span>
-<span class="n">ssl_prefer_server_ciphers</span> <span class="n">on</span><span class="p">;</span>
-<span class="n">ssl_ciphers</span> <span class="s">"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \</span>
-<span class="s"> EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \</span>
-<span class="s"> EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"</span><span class="p">;</span>
-<span class="cp"># [...]</span>
-<span class="cp"># /etc/nginx/sites-enabled/default-ssl</span>
-<span class="cp"># [...]</span>
-<span class="n">ssl</span> <span class="n">on</span><span class="p">;</span>
-<span class="n">ssl_certificate</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">ssl_certificate_key</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="cp"># [...]</span>
-</pre></div>
-
-
-<h3>prosody (jabber) :</h3>
-<div class="highlight"><pre><span class="cp"># tout d'abord, lancez la commande suivante :</span>
-<span class="n">sudo</span> <span class="n">openssl</span> <span class="n">dhparam</span> <span class="o">-</span><span class="n">out</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">prosody</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">dh</span><span class="o">-</span><span class="mf">2048.</span><span class="n">pem</span> <span class="mi">2048</span>
-<span class="cp"># ensuite, pour chaque VirtualHost dans /etc/prosody/prosody.conf :</span>
-<span class="n">ssl</span> <span class="o">=</span> <span class="p">{</span>
- <span class="n">dhparam</span> <span class="o">=</span> <span class="s">"/etc/prosody/certs/dh-2048.pem"</span><span class="p">;</span>
- <span class="n">key</span> <span class="o">=</span> <span class="s">"/etc/certs/example.com.key"</span><span class="p">;</span>
- <span class="n">certificate</span> <span class="o">=</span> <span class="s">"/etc/certs/example.com.crt"</span><span class="p">;</span>
-<span class="p">}</span>
-<span class="cp"># la cipher suite de prosody utilise par défaut EDH et EECDH</span>
-</pre></div>
-
-
-<h3>postfix (email) :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/postfix/main.cf</span>
-<span class="cp"># [...]</span>
-<span class="n">smtpd_tls_cert_file</span> <span class="o">=</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">smtpd_tls_key_file</span> <span class="o">=</span> <span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="n">tls_preempt_cipherlist</span> <span class="o">=</span> <span class="n">yes</span>
-<span class="n">smtpd_tls_eecdh_grade</span> <span class="o">=</span> <span class="n">strong</span>
-<span class="n">smtdp_tls_mandatory_ciphers</span> <span class="o">=</span> <span class="n">high</span>
-<span class="n">smtpd_tls_mandatory_exclude_ciphers</span> <span class="o">=</span> <span class="n">aNULL</span><span class="p">,</span> <span class="n">eNULL</span><span class="p">,</span> <span class="n">MD5</span><span class="p">,</span> <span class="n">LOW</span><span class="p">,</span> <span class="mi">3</span><span class="n">DES</span><span class="p">,</span> <span class="n">EXP</span><span class="p">,</span> <span class="n">PSK</span><span class="p">,</span> <span class="n">SRP</span><span class="p">,</span> <span class="n">DSS</span>
-<span class="n">smtpd_tls_security_level</span> <span class="o">=</span> <span class="n">encrypt</span>
-<span class="n">smtpd_tls_mandatory_protocols</span> <span class="o">=</span> <span class="o">!</span><span class="n">SSLv2</span><span class="p">,</span> <span class="o">!</span><span class="n">SSLv3</span>
-<span class="n">smtpd_use_tls</span> <span class="o">=</span> <span class="n">yes</span>
-<span class="cp"># [...]</span>
-</pre></div>
-
-
-<h3>dovecot (imap) :</h3>
-<div class="highlight"><pre><span class="cp"># /etc/dovecot/dovecot.conf </span>
-<span class="cp"># [...]</span>
-<span class="n">ssl_cert</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">crt</span>
-<span class="n">ssl_key</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">key</span>
-<span class="n">ssl_cipher_list</span> <span class="o">=</span> <span class="n">HIGH</span><span class="o">+</span><span class="n">kEDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">+</span><span class="n">kEECDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">:!</span><span class="n">PSK</span><span class="o">:!</span><span class="n">SRP</span><span class="o">:!</span><span class="mi">3</span><span class="n">DES</span><span class="o">:!</span><span class="n">aNULL</span>
-</pre></div>
-
-
-<p>Voila. Pour d'autres protocoles/services, je vous invite a RTFM^W vous reporter
-au manuel approprié.</p>
-<p>Cela étant dit, je conseille a tout le monde d'aller voir la conférence dans le
-disclaimer, et tant qu'a faire la conférence du même hacker <a href="https://www.youtube.com/watch?v=8N4sb-SEpcg">SSL and the future
-of Authenticity</a> qui parle de son
-implémentation d'une technologie "remplaçant" le système de CAs qui existe
-actuellement.</p>WxcafeFri, 30 May 2014 08:25:00 +0200tag:,2014-05-30:home/wxcafe/code/blog-source/output/posts/SSL-ou-la-securite-sur-internet/Redesign du blog, etcfile:///home/wxcafe/code/blog-source/output/posts/redesign-du-blog/<p>Comme vous avez pu le remarquer, ce blog a "un peu" changé récemment.</p>
-<p>Du coup, expliquons. J'ai récemment monté <a href="http://serverporn.fr">serverporn</a>, et ai par la même
-occasion découvert <a href="http://getpelican.com">pelican</a>. J'ai tout de suite accroché a ce générateur de
-site statique en python, du fait de son efficacité, de sa facilité d'utilisation
-et de sa grande customisation. En gros, pelican est un logiciel qui prend des
-fichiers markdown ou reStructuredText, les passe a la moulinette d'un "thème"
-constitué de templates pour les fichiers html et l'organisation du projet et
-d'une partie "statique" contenant le css, et les autres fichiers nécessaires au
-projet, et en fait des pages html. </p>
-<p>Globalement, un thème est constitué ainsi :</p>
-<div class="highlight"><pre><span class="n">th</span><span class="err">è</span><span class="n">me</span>
-<span class="err">├──</span> <span class="k">static</span>
-<span class="err">│</span> <span class="err">├─</span> <span class="n">css</span>
-<span class="err">│</span> <span class="err">│</span> <span class="err">└─</span> <span class="p">[</span><span class="n">css</span> <span class="n">files</span><span class="p">]</span>
-<span class="err">│</span> <span class="err">├─</span> <span class="n">img</span>
-<span class="err">│</span> <span class="err">│</span> <span class="err">└─</span> <span class="p">[</span><span class="n">image</span> <span class="n">files</span><span class="p">]</span>
-<span class="err">│</span> <span class="err">└─</span> <span class="n">js</span>
-<span class="err">│</span> <span class="err">└─</span> <span class="p">[</span><span class="n">javascript</span> <span class="n">files</span><span class="p">]</span>
-<span class="err">└──</span> <span class="n">template</span>
- <span class="err">├─</span> <span class="n">base</span><span class="p">.</span><span class="n">html</span>
- <span class="err">├─</span> <span class="n">index</span><span class="p">.</span><span class="n">html</span>
- <span class="err">├─</span> <span class="n">page</span><span class="p">.</span><span class="n">html</span>
- <span class="err">├─</span> <span class="p">[...]</span>
- <span class="err">└─</span> <span class="n">article</span><span class="p">.</span><span class="n">html</span>
-</pre></div>
-
-
-<p>Sachant que les fichiers .html sont en réalité des fichiers suivant la syntaxe
-django, et utilisent des variables particulières telles <code>{{ article.content }}</code>,
-par exemple. La syntaxe complète est très bien documentée dans la <a href="http://docs.getpelican.com/en/3.2/themes.html#templates-and-variables">doc</a> de
-pelican.</p>
-<p>L'un des grands avantages de pelican est aussi la facilité qu'il offre quand a
-la mise a jour du blog.<br />
-En effet, il offre un système de Makefiles permettant, grâce a de nombreuses
-cibles de compilation, de régénérer le site entier, de ne générer que les
-fichiers modifiés depuis la dernière génération, de générer uniquement les
-fichiers n'existant pas la dernière fois, etc...
-La gestion du projet en devient donc très simple, puisque après avoir écrit un
-article, il suffit de faire un <code>make html</code> pour mettre a jour le blog.</p>
-<p>De plus, le système de wordpress commençait a ne plus me convenir, du fait du
-manque de customisation, du fait que ça soit du PHP (beurk), etc. La, avec
-pelican, je contrôle bien plus ce qui est mis sur le serveur (puisque c'est moi
-qui ait modifié les templates et le css), c'est lisible (puisque c'est du
-python, par opposition au PHP...), et c'est plus "efficace". Le markdown est
-très pratique, je peux utiliser mon éditeur de texte de prédilection pour faire
-les articles, je n'ai pas besoin d'un accès continu au net, bref, c'est plus
-efficace.</p>
-<p>En ce qui concerne les points négatifs : </p>
-<ul>
-<li>
-<p>Perte des commentaires:
- Je vous propose de vous référer a l'article de Gordontesos <a href="http://gordon.re/hacktivisme/la-necessite-des-commentaires.html">ici</a> quand a
- mon avis sur ce sujet.</p>
-</li>
-<li>
-<p>Perte du bouton flattr:
- Il va bientôt être remis, c'est juste un manque de temps de ma part, mais vu
- que toutes les pages passent par les mêmes templates, c'est assez facile a
- faire.</p>
-</li>
-<li>
-<p>Perte du spam:
- Pourquoi c'est dans les points négatifs, ca?</p>
-</li>
-<li>
-<p>Temps d'adaptation et d'appréhension du système:
- Oui, pendant encore un certain temps, il y aura des glitchs plus ou moins
- réguliers sur le blog, c'est parce que j'apprend a me servir de ce système
- et que j'apprend du css et du html. Ca arrive, ca passera, mais dans tous
- les cas ca me permet d'apprendre plein de choses, donc je mets plutôt ca
- dans la catëgorie positive.</p>
-</li>
-</ul>
-<p>Voila, c'est mon retour d'expérience sur pelican. A plus. </p>wxcafeWed, 12 Jun 2013 19:14:00 +0200tag:,2013-06-12:home/wxcafe/code/blog-source/output/posts/redesign-du-blog/Updatefile:///home/wxcafe/code/blog-source/output/posts/update/<p>Juste une petite note pour annoncer le prochain article, consacré a la
-fabrication d'une PirateBox basée sur un Raspberry Pi. Voila, a bientôt
-sur le blog!</p>WxcafeSat, 05 Jan 2013 18:32:00 +0100tag:,2013-01-05:home/wxcafe/code/blog-source/output/posts/update/Update a propos du blogfile:///home/wxcafe/code/blog-source/output/posts/update-a-propos-du-blog/<p>Bonsoir! Un petit post pour faire un peu le point sur ce blog.<br />
-Comme vous avez pu le remarquer, j'ai un peu de mal a tenir les délais
-que je m'étais fixés pour ce blog (un post tous les 8 jours), et après y
-avoir un tantinet réfléchi, ceci est du a deux points principaux :</p>
-<ul>
-<li>
-<p>Tout d'abord, le manque d'inspiration, tout simplement. C'est assez
-compliqué de trouver des sujets intéressants liés a l'informatique, et
-qui méritent un article. Je vous invite d'ailleurs a me suggérer des
-sujets via les commentaires ou twitter (<a href="https://twitter.com/wxcafe">@Wxcafe</a>)</p>
-</li>
-<li>
-<p>Ensuite, le délai de 8 jours est trop court pour me permettre de faire
-les recherches nécessaires, tout en manageant mes cours et mon temps
-libre.</p>
-</li>
-</ul>
-<p>A cause de cela, j'ai pris la décision de changer le rythme de parution
-des articles a un *minimum* d'un post tous les 10 jours. Bien entendu,
-si j'ai de l'inspiration en trop, plus de posts sont envisageables.</p>
-<p>Voila. A part ca, je tiens a vous remercier de me lire (c'est assez
-étonnant de voir ca...), et je précise que je vais ajouter une page
-About Me, qui bien entendu rassemblera des informations sur moi, ma vie,
-mon oeuvre :P</p>
-<p>Ceci dit, je vais bosser un peu sur le prochain article.</p>
-<p>A plus tard!</p>WxcafeTue, 18 Sep 2012 16:57:00 +0200tag:,2012-09-18:home/wxcafe/code/blog-source/output/posts/update-a-propos-du-blog/Débuts, présentation, etc...file:///home/wxcafe/code/blog-source/output/posts/debuts-presentation-etc/<p>Bonjour!</p>
-<p>Je m'appelle Wxcafé, et ça fait pas mal de temps que je sévis sur
-Twitter, mais aussi sur IRC (Je traîne pas mal sur
-irc.freenode.net/##nolife et #debian-fr)</p>
-<p>J'ai 17 ans, je suis donc étudiant (bac général), je vis a Paris, et je
-fais partie de ce genre de personne qui sont capables d'investir tout
-leur temps et leur énergie a s’intéresser a un sujet en particulier, et
-qui ne peuvent pas vivre sans leurs passions, avec une petite différence
-cependant, qui est que je m’intéresse a plusieurs choses :
-l'informatique, qui est un champ tellement large qu'on peut passer une
-vie a apprendre des choses dessus, et plus particulièrement à
-l'informatique avancée (Noyaux dérivés d'UNIX et de Linux, outils libres
-{bien que n'étant pas un barbu intégriste [ceci est un troll assumé. Les
-trolls seront a partir de maintenant indiqués avec le tag [tr]] du
-libre, je préfère utiliser de l'open-source si c'est possible},
-programmation en C, python et java, etc...) , mais aussi a
-l’électronique. </p>
-<p>Dans un tout autre registre, je m’intéresse aussi
-beaucoup aux différents aspects du féminisme et des égalités sexuelles
-(anti-homophobie/transphobie/biphobie/etc , anti-sexisme, et cætera) ,
-et a la culture dite "geek" en général.</p>
-<p>Je tenterai de poster ici le plus souvent possible, mais j'ai de gros
-problèmes en terme de régularité de post, donc ne vous inquiétez pas si
-vous ne voyez rien pendant deux semaines.</p>
-<p>Merci beaucoup de votre attention, et a bientôt!</p>WxcafeSat, 18 Aug 2012 20:27:00 +0200tag:,2012-08-18:home/wxcafe/code/blog-source/output/posts/debuts-presentation-etc/
\ No newline at end of file
diff --git a/output/feeds/feed.rss.programmation.xml b/output/feeds/feed.rss.programmation.xml
deleted file mode 100644
index 11e7258..0000000
--- a/output/feeds/feed.rss.programmation.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/Sat, 08 Sep 2012 18:15:00 +0200Introduction a bash en tant que language de programmation.file:///home/wxcafe/code/blog-source/output/posts/introduction-a-bash-en-tant-que-language-de-programmation/<p>L’interpréteur de commandes bash (Bourne Again SHell)
-est possiblement le shell le plus connu, notamment grâce a son
-intégration en tant que shell par défaut dans les distributions Linux
-les plus répandues (Debian - Ubuntu, Fedora, OpenSUSE, Mandriva -
-Mageia, etc...).</p>
-<p>Cependant, il n'est souvent connu qu'en tant qu’interpréteur de
-commande. Alors qu'en réalité, le bash est un langage de programmation
-(presque) complet! Ainsi, il intègre les structures de contrôle
-habituelles ( pour mémoire, les structures de contrôle comprennent les
-conditions (les ifs), les boucles (les while), et les choix (les case),
-entre autres.), et est donc ce que l'on pourrait appeler un langage de
-script, interprété, de la même façon que python, a la difference près
-qu'il contient un prompt (un système d'entrée de commande interactif)
-bien plus complet et développé que python. </p>
-<p>Cependant, les programmes en bash ne sont executables que dans un
-environnement de type UNIX, et donc pas sous Windows (cygwin
-(cygwin.com) propose ceci dit un système permettant d'utiliser bash sous
-windows. Il faut malgré tout convenir que cet environnement est bien
-plus compliqué a manipuler, et globalement ne permet pas d'acceder a des
-portages de qualité satisfaisante.)</p>
-<p>Ainsi, il est possible de créer des fichiers .sh, contenant des
-instructions bash mises a la suite (de la même façon qu'un script BATCH
-Windows .bat), et faisant appel autant aux commandes internes de bash,
-aussi bien que les commandes externes mises en place par les programmes
-installés sur le système, exactement comme dans une invite de commande.
-Ainsi, pour appeller firefox, la commande 'firefox' lancera le petit
-panda roux directement dans la boite magique, tandis qu'un if
-[condition] suivi d'un then (quelque chose) lancera le fameux quelque
-chose suscité si la condition est vérifiée. Un peu comme en C, quoi. </p>
-<p>De cette façon, et avec quelques informations et connaissances, il est
-facile de comprendre le fonctionnement de la programmation en bash.
-Quelques exemples commentés:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash </span>
-<span class="c"># La ligne du dessus est très importante, c'est elle qui dit a bash quel doit être </span>
-<span class="c"># l'interpreteur des commandes écrites dans ce script. Ici, on dit a bash d'interpréter </span>
-<span class="c"># lui même les commandes comprises dans ce script. On aurait tout de fois pu lui faire </span>
-<span class="c"># executer du python, par exemple, en mettant #!/usr/bin/python a la place.</span>
-<span class="nb">echo</span> <span class="s2">"this is a test of bash as a simple script manager"</span> <span class="c"># echo est une commande d'affichage de message.</span>
-<span class="nb">echo</span> <span class="s2">"what's your name, user?"</span>
-<span class="nb">read </span>your_name <span class="c"># la commande read permet de demander a l'utilisateur de donner une </span>
-<span class="c"># information, stockée dans la variable en paramètre. </span>
-<span class="nb">echo</span> <span class="nv">$your_name</span> <span class="s2">"is your name"</span> <span class="c"># echo permet aussi d'afficher la valeur de variables. </span>
-<span class="c"># Ici, on renvoie la variable remplie précédemment, suivie d'un message. </span>
-<span class="nb">exit</span> <span class="c"># cet appel a exit n'est pas obligatoire, mais donne un aspect plus </span>
-<span class="c"># propre au code. Il ne quittera pas la session de terminal, cependant.</span>
-</pre></div>
-</td></tr></table>
-
-<p>Voila. Ce script bash ne sert pas a grand chose, mais il a le mérite
-d'être clair quand aux capacités et a la simplicité du bash en tant que
-language de programmation. Alors en effet, nous n'avons ici absolument
-pas utilisé les capacités de bash en lui même, et n'avons fait que le
-renvoyer a des programmes externes (sauf read, il est vrai). Voyons
-maintenant la syntaxe de bash quand il s'agit d'utiliser les structures
-de contrôle:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash </span>
-<span class="nb">echo</span> <span class="s2">"welcome to this second bash program. would you please kindly enter the name of the machine you're running this on?"</span>
-<span class="nb">read </span>host_name
-<span class="k">if</span> <span class="o">[</span> <span class="nv">$host_name</span> <span class="o">==</span> <span class="nv">$HOSTNAME</span> <span class="o">]</span> <span class="c">## voici la syntaxe du if. Attention a bien penser a mettre les espaces avant la première variable, et après la seconde. La variable $HOSTNAME ici utilisée est une variable présente par défaut sur le système. </span>
-<span class="k">then </span><span class="nb">echo</span> <span class="s2">"you told the truth!"</span>
-<span class="k">fi</span> <span class="c">## le fi est la commande fermant le if, tout comme le EndIf en basic. C'est un peu vieillot, mais important en bash. </span>
-<span class="k">if</span> <span class="o">[</span> <span class="nv">$host_name</span> !<span class="o">=</span> <span class="nv">$HOSTNAME</span> <span class="o">]</span> <span class="c">## l'opérateur != est l'inverse de ==, il vérifie donc si les deux variables ne sont pas les mêmes. </span>
-<span class="k">then </span><span class="nb">echo</span> <span class="s2">"you lied!"</span>
-<span class="k">fi </span>
-<span class="nb">exit</span>
-</pre></div>
-</td></tr></table>
-
-<p>Voila un petit programme permettant d'apprendre la syntaxe du if en
-bash. comme vous pouvez le voir, le language est plutôt lite, et la
-structure if n'est pas très difficile a prendre en main.</p>
-<p>Passons maintenant au while:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5
-6
-7</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash</span>
-<span class="nb">echo</span> <span class="s2">"what is your name?"</span>
-<span class="nb">read </span>name
-<span class="k">while</span> <span class="o">[</span> 1 < 10 <span class="o">]</span> <span class="c">## le while se présente sous la forme while (truc); do (machin); done. Les [] sont en fait des programmes differents, inclus dans bash.</span>
-<span class="k">do </span><span class="nb">echo</span> <span class="s2">"i love"</span> <span class="nv">$name</span>
-<span class="k">done</span>
-<span class="nb">exit</span>
-</pre></div>
-</td></tr></table>
-
-<p>Ce petit programme permet d'observer les bases de while (qui est la
-boucle de base en bash).</p>
-<p>Le troisième opérateur de bash est case. Voyons:</p>
-<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24</pre></div></td><td class="code"><div class="highlight"><pre><span class="c">#!/bin/bash</span>
-<span class="nb">echo</span> <span class="s2">"please enter a number between one and five"</span>
-<span class="nb">read </span>number
-<span class="k">case</span> <span class="nv">$number</span> in
-1<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was one"</span>
-;;
-2<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was two"</span>
-;;
-3<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was three"</span>
-;;
-4<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was four"</span>
-;;
-5<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"the choosen number was five"</span>
-;;
-*<span class="o">)</span>
-<span class="nb">echo</span> <span class="s2">"this number is not correct"</span>
-;;
-<span class="k">esac</span>
-<span class="nb">exit</span>
-</pre></div>
-</td></tr></table>
-
-<p>case est un opérateur plus complexe a utiliser a bon escient, et sert a
-faire des ifs multiples sans avoir a taper des dizaines de lignes de
-code.<br />
-(pour ceux qui auraient du mal avec cet opérateur, il faut comprendre
-que le code vérifie chacune des conditions : le 1) est validé si la
-valeur de \$number est 1, le 2) est validé si cette valeur est 2, etc..
-le *) désigne toutes les valeurs, et est donc validé si aucune autre
-valeur n'a précédemment acceptée.</p>
-<p>Quelques notions manquent ici:<br />
-- les nombres aléatoires sont générés par un appel a la variable
-\$RANDOM, qui renvoie un nombre aléatoire entre 0 et 32767 (un entier a
-16 bits donc). il est possible de faire des invocations a des nombres
-aléatoires plus grands, mais les méthodes permettant de faire cela sont
-plus complexes, et je ne les aborderai donc pas ici.<br />
-- comme vous avez pu le constater, les variables sont désignées en tant
-que telles par l'utilisation d'un symbole \$ au début de leur nom.
-Ainsi, echo number renverra "number", tandis que echo \$number renverra
-le résultat de la variable \$number.<br />
-être utilisées dans un programme bash.<br />
-- comme vous avez pu le constater, les commandes doivent tenir en
-théorie en une ligne. Cependant, le caractère \ permet de retourner a
-la ligne en faisant considérer a bash qu'il s'agit de la même ligne.</p>
-<p>Globalement, il faut admettre que bash n'a pas vocation a être un
-langage de programmation extrêmement développé. Sans framework
-graphique, avec peu de manières d'utiliser de grandes variables, ou
-encore une gestion de la mémoire risible, bash n'a rien d'un langage de
-développement professionnel.<br />
-Cependant, le simple fait qu'il soit considéré comme un langage de
-programmation a part entière font de lui un langage de script d'une
-puissance incontestable, et sa simplicité et sa grande popularité font
-de lui un langage de choix pour apprendre la programmation simplement et
-sans trop se prendre la tête.</p>
-<p>J'espère que cet article aura été utile a certain-e-s, et je vous
-souhaite bonne chance dans votre découverte de la programmation (n'allez
-pas voir ceux qui font de l'orienté objet, c'est des méchants :3)</p>WxcafeSat, 08 Sep 2012 18:15:00 +0200tag:,2012-09-08:home/wxcafe/code/blog-source/output/posts/introduction-a-bash-en-tant-que-language-de-programmation/
\ No newline at end of file
diff --git a/output/feeds/feed.rss.teaching.xml b/output/feeds/feed.rss.teaching.xml
deleted file mode 100644
index 3b4ad13..0000000
--- a/output/feeds/feed.rss.teaching.xml
+++ /dev/null
@@ -1,344 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/Sat, 16 May 2015 02:00:00 +0200SSL - STARTTLSfile:///home/wxcafe/code/blog-source/output/posts/ssl-starttls/<p>Le chiffrement SSL pour les services en ligne est un problème relativement
-récent, par rapport a l’histoire d’Internet. Sa mise en place pose
-problème : les protocoles existants ne s’accommodent qu’assez mal de recevoir
-soudainement un flot de données chiffrées, mais développer de nouveaux
-protocoles est complexe et n’apporte rien d’intéressant. Pour palier a ce
-problème, deux solutions sont apparues.</p>
-<p>Le première consiste à faire écouter les services sur un
-autre port, dans un tunnel SSL. De cette façon, le service existant écoute
-normalement, mais il ne répond pas directement aux requêtes. A la place, un
-tunnel SSL est mis en place, et les requêtes et les réponses passent dans le
-tunnel (ou elles apparaissent donc chiffrées pour l’extérieur). Cela permet de
-proposer un service chiffré en modifiant de façon minimale le programme, au prix
-de devoir aussi changer tous les clients, et de devoir les orienter sur un autre
-port.</p>
-<p>L’autre approche qui a été utilisée est une approche d’<em>upgrade</em>. La
-communication commence en mode non chiffré, puis le client demande l’upgrade de
-la connexion vers le mode chiffré s’il le supporte, les deux machines
-machines font un <em>handshake</em> SSL et la communication continue a travers le
-tunnel SSL. Le service peut continuer a écouter sur son port habituel, et seuls
-les clients capables de passer en SSL le feront, ce qui permet de faire la “mise
-a jour” en douceur.</p>
-<p>Il est souvent demandé quelle est la meilleure méthode pour mettre en place un
-service – laisser un port pour le SSL et un pour le trafic non chiffré, ou bien
-un seul, avec <code>STARTTLS</code>, qui <em>upgrade</em> les connexions si nécessaire.<br />
-La réponse est que <code>STARTTLS</code> est plus interessant, pour plusieurs raisons. Tout
-d’abord, il permet de n’utiliser qu’un seul port : ça permet de simplifier la
-configuration du firewall. En plus de ça, il permet aux clients “anciens” (ceux
-qui ne supportent pas SSL, donc ceux qui devraient être changés) de toujours se
-connecter, même si cela signifie que leurs informations seront transmises en
-clair. Surtout, il permet d’éviter aux utilisateurs d’avoir a configurer leurs
-clients. Si le client supporte le chiffrement, il l’activera de lui même s’il
-voit qu’il est disponible.<br />
-Bref, mettez en place du <code>STARTTLS</code>, et pas du SSL. C’est mieux pour la sécurité
-de tout le monde.</p>WxcafeSat, 16 May 2015 02:00:00 +0200tag:,2015-05-16:home/wxcafe/code/blog-source/output/posts/ssl-starttls/Les systèmes de fichiersfile:///home/wxcafe/code/blog-source/output/posts/les-systemes-de-fichiers/<p>Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
-avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
-connaissez surement NTFS, EXT4, ou encore FAT32.</p>
-<p>Ces différents noms désignent en effet des systèmes de fichiers. Mais
-qu'est-ce qu'un système de fichiers?</p>
-<p>Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
-fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
-plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
-(<a href="http://fr.wikipedia.org/wiki/Kibioctet#Multiples_normalis.C3.A9s">kibioctet</a>), en fonction du système de fichier utilisé.), qui est
-donc composé de bits, interprétés différemment en fonction du type de
-fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
-n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
-ou il commence ni où il s'arrête (je schématise un peu, mais c'est
-l'idée). </p>
-<p>Ainsi, le système de fichier donne un cadre et un standard à
-l'arborescence des fichiers. Par exemple, le système de fichier ext4
-utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
-disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
-et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
-de fichiers nécessitent l'inclusion de drivers dans le noyau pour
-pouvoir être pris en compte. </p>
-<p>Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
-reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
-près tout type de partition récente.</p>
-<p>Il convient de bien faire la différence entre le système de fichier et
-l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
-une entité virtuelle englobant la racine / et tous les fichiers et
-dossiers contenus dedans, le système de fichier permet a votre système
-GNU/Linux de distinguer les différents fichiers composants cette
-arborescence.</p>
-<p>Détaillons maintenant les types de fichiers les plus répandus:</p>
-<ul>
-<li>
-<p>FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
- soit la définition d'un système de fichier), remplissent leur rôle le
- plus simplement possible. Ne permettant (historiquement) que des noms de
- 8 caractères (plus extension de trois caractères), ni chiffrement, ni
- système de distinction d'utilisateurs (DOS étant un système
- mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
- utlisants respectivement des blocs de 16 et 32 Kio.</p>
-</li>
-<li>
-<p>NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
- NT) est un système de fichier qui est apparu avec Windows XP, et qui
- était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
- FAT différentes capacités dont le chiffrement, les liens symboliques, la
- compression et les quotas pour les volumes, permettant de limiter la
- taille maximum occupée dans une partition.</p>
-</li>
-<li>
-<p>ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
- Ne différant pas énormément de NTFS, je le mentionne principalement
- parce qu'il est prévu qu'il soit le défaut pour Windows 8.
- Il apporte principalement la redondance, c'est a dire que chaque
- fichier possède une somme de contrôle en 64 bits stockée dans un fichier
- séparé pour éviter les corruption de disque.</p>
-</li>
-<li>
-<p>Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
- les plus utilisés sous linux pour le grand public. (Je traiterai ici
- d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
- fonctions que l'on peut attendre d'un système de fichiers moderne, ni
- plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
- acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
- "par extent", ce qui signifie que la création d'un fichier réserve
- automatiquement les zones contiguës de façon a réduire la fragmentation.</p>
-</li>
-<li>
-<p>ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
- programmeur Hans Reiser, est a retenir pour avoir été le premier système
- de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
- 4 milliards. Le but de ce système est de créer un système polyvalent, a
- la fois système de fichiers et base de donnée (de part sa grande
- capacité en terme de nombre de fichiers et de l'utilisation d'un
- journal.)</p>
-</li>
-<li>
-<p>Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
- l'allocation par extent, mais possède de plus un système de
- sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
- montées en même temps (système pratique et utile pour faire des
- snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
- taille des partitions, en les agrandissant ou en les rétrécissant, est
- compatible avec <a href="http://fr.wikipedia.org/wiki/LVM">LVM</a>, a un système de checking intégré (btrfsck), et
- utilise un algorithme de compression appelé LZ4, qui accélère les accès
- aux fichiers compressés d'environ 30% par rapport a LZO, le système
- utilisé dans ext4.</p>
-</li>
-<li>
-<p>HFS+ : le système de fichier présent sur tous les macs a des capacités
- relativement standards, et ressemble énormément a l'ext3. Il supporte
- cependant les liens directs vers les dossiers, fonction rare sur les
- systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
- dans les années a venir</p>
-</li>
-<li>
-<p>ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
- et *BSD, est, tel Btrfs, a la fois un système de fichier et un
- remplaçant/compatible avec LVM, C'est un système de fichiers conçu
- principalement pour les serveurs, et il intègre ainsi un système de
- redondance des données pour éviter les corruptions, un mode RAID-Z
- (apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
- etc...</p>
-</li>
-</ul>
-<p>Comme on a pu le voir, les systèmes de fichiers disponibles sont
-légions. Cependant, le plus adapté a Linux et a une utilisation grand
-public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
-n'est pas aujourd'hui proposé par défaut sur les distributions les plus
-utilisées, au profit de l'ext4, qui commence a accuser son âge...</p>
-<p>Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
-fonctionnement du système, sont en fait de première importance, et ce
-choix ne devrait pas être laissé au hasard, et être mis a jour
-régulièrement (pour éviter les failles de sécurité...)</p>
-<p>Bon courage, et bon choix pour votre prochain système.</p>WxcafeTue, 25 Sep 2012 10:28:00 +0200tag:,2012-09-25:home/wxcafe/code/blog-source/output/posts/les-systemes-de-fichiers/Les différentes couches d'un système d'exploitationfile:///home/wxcafe/code/blog-source/output/posts/les-differentes-couches-dun-systeme-dexploitation/<p>Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques
-années (plus ou moins, parce que j'ai toujours un Windows en dual boot,
-principalement pour les jeux (possiblement plus pour longtemps, avec
-l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou
-moins bien mon système. Or il y a plusieurs choses a savoir sur les
-systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est
-le système de couches.</p>
-<p>Un système d'exploitation (de type UNIX, \<troll>enfin un vrai système quoi.
-\</troll>) incorpore plusieurs systèmes de couches.</p>
-<p>Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique,
-c'est a dire que tous les composants sont intégrés au kernel. Ce qui
-signifie que rien ne peut être ajouté au noyau sans recompiler celui ci.
-Or, quand on sait que le noyau comprend entre autres les drivers du
-matériel et des systèmes de fichier, cela peut poser des problèmes quand
-a la taille du kernel et a la licence libre de ce dernier. </p>
-<p>Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui
-signifie que des modules peuvent être chargé a tout moment en cours
-d’exécution, ce qui permet l'utilisation de nouveaux systèmes de
-fichiers a chaud, ou l'insertion de matériel et l'installation de
-drivers sans interrompre l’exécution du système (Windows utilise un
-système de fausse installation de drivers pour le matériel externe, et
-un système de pré-installation des drivers pour les périphériques dits
-"plug and play")</p>
-<p>Après le noyau intervient le système. Or, au tous premiers instants du
-boot, les systèmes GNU/Linux utilisent un système permettant de limiter
-l'utilisation de ressources systèmes si elles ne sont pas nécessaires,
-et incorpore ainsi un système dit de "runlevels"</p>
-<p>Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce
-runlevel permet de tester le bon démarrage du système sans avoir a
-effectuer de manipulation pour le ré-éteindre</p>
-<p>Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté
-étant donné que ce runlevel donne accès a un système en étant
-automatiquement loggé en tant que root, avec tous les autres
-utilisateurs désactivés, de même que tous les systèmes de réseaux</p>
-<p>Le runlevel 2 est appelé mode multi user, et vous mets en face d'un
-système classique. en ligne de commande, mais avec tous les systèmes de
-réseau désactivés.</p>
-<p>Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux
-activés.</p>
-<p>Le runlevel 4 n'est pas officiellement défini, et est censé être
-activable en fonction des besoins de l'utilisateur. Sur la plupart des
-distributions grand public, ce runlevel est lié au...</p>
-<p>Runlevel 5! Multi-user, networking, with working GUI! c'est le système
-tel que vous le connaissez, avec l'interface graphique et le système de
-login graphique.</p>
-<p>Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine
-quand il devient le runlevel courant.</p>
-<p>(Il est a noter que Debian, et donc toutes les distribs qui en sont
-dérivées, ne font pas de distinction entre les differents runlevels du 2
-au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login
-et une interface graphique, et un mode réseau fonctionnel, bref avec des
-fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)</p>
-<p>Il est possible de changer de runlevel grâce a la commande runlevel
-(oui, c'est évident...)</p>
-<p>Les systèmes Linux utilisent aussi un système dit de SandBox , qui en
-informatique est un système permettant d'isoler les processus les uns
-des autres. Ainsi, la pile réseau, qui est le système auquel les
-différents processus envoient les différents paquets qui doivent sortir
-de la machine , et qui redistribue ces paquets, est isolée du reste du
-système, en cela qu'aucun des autres processus ne peuvent modifier cette
-pile hors du runlevel 1 ou 2.</p>
-<p>De la même façon, le navigateur chrom/ium fait fonctionner tous les
-onglets, ainsi que toutes les extensions, dans des processus différents.
-Certaines distributions linux implémentent un système de cette sorte
-pour toutes les applications, ou seulement pour certaines. ainsi Chakra
-Linux a un système d'installation d'applications dans des disques
-virtuels, ce qui permet une sécurité totale du processus.</p>
-<p>Voila, j'espère vous en avoir appris un peu sur le fonctionnement des
-différentes couches de linux, et j'espère que cet article vous poussera
-a tester un peu votre système et a vous amuser avec les différents
-runlevels</p>WxcafeThu, 06 Sep 2012 23:29:00 +0200tag:,2012-09-06:home/wxcafe/code/blog-source/output/posts/les-differentes-couches-dun-systeme-dexploitation/La programmation expliquée simplementfile:///home/wxcafe/code/blog-source/output/posts/la-programmation-expliquee-simplement/<p>Salut!<br />
-Tout d'abord, je tiens a m'excuser de ne pas avoir eu le temps d'écrire
-récement, mais j'ai eu la chance d'avoir un PC a monter, donc j'ai passé
-pas mal de temps assez occupé. </p>
-<p>Enfin, après un certain temps a farfouiller au millieu des connecteurs
-SATA et a apprendre que, oui, l'alimentation sert aussi pour les disques
-durs, je suis de retour pour un court article.<br />
-Du coup, je m'étais dit que j'allais reprendre sur le thème de
-l'informatique expliquée au grand public, en tentant d'aller un peu plus
-loin que la dernière fois sur le thème de la programmation<br />
-Ce qu'il faut comprendre, c'est la facon dont fonctionne un ordinateur.
-Si a peu près tout le monde sait que "les ordinateurs, ils ne
-comprennent que les 1 et les 0!", peu de gens savent comment cela
-fonctionne en détail. </p>
-<p>Si vous êtes sur ce blog, il y a pas mal de chance que vous ayez déjà
-des notions de base en informatique. Ainsi, vous savez surement que les
-ordinateurs fonctionnent avec des programmes, qui sont composés de
-code.<br />
-Ainsi, il faut comprendre que le code (source) est "compilé" en un
-fichier "binaire". Un fichier binaire est un fichier comprenant les
-instructions telles qu’exécutées par le processeur, et donc absolument
-illisible pour un humain. </p>
-<p>La compilation est le processus qui transforme le code source en
-binaire executable. Les binaires ont, sous Windows, l'extension .exe,
-tandis que sous les systèmes UNIX-like, ils n'ont pas d'extension
-particulière.<br />
-Ceci étant dit, il faut comprendre que certains langages sont plus
-proches que d'autres du langage processeur, les langages les plus
-proches sont dits de "bas niveau". Les langages les plus éloignés sont
-donc dits de haut niveau. </p>
-<p>Par exemple, l'assembleur est l'un des languages de plus bas niveau,
-tandis que python par exemple est un langage de plus haut niveau. Les
-langages de haut niveau sont souvent bien plus simples a comprendre et a
-apprendre que les langages de bas niveau </p>
-<p>Ainsi, en C, un langage de niveau relativement bas, pour afficher
-"hello world" sur l'écran, le code nécessaire est :</p>
-<div class="highlight"><pre><span class="cp">#include </span>
-<span class="kt">void</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
-<span class="n">printf</span><span class="p">(</span><span class="s">"hello world"</span><span class="p">);</span>
-<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p>le même programme en python s'écrit :</p>
-<div class="highlight"><pre><span class="n">print</span> <span class="s">"hello world"</span>
-</pre></div>
-
-
-<p>et n'a pas besoin d'être compilé , puisqu'il peut être intepreté
-directement. </p>
-<p>Python utilise en effet un système similaire a Java en ayant un
-interpréteur dit "runtime" ou "temps réel", qui interprète le programme
-sans le compiler. Java utilise un système légèrement différent, puisque
-le code a besoin d'être compilé, mais est interpreté par un interpréteur
-et non par le processeur. </p>
-<p>Cette méthode permet le fameux "code once, run everywhere", ce qui
-signifie que le même code est exécutable sur quasiment tous les systèmes
-d'exploitation (en fait, tous ceux sur lesquels l’interpréteur est
-disponible.)</p>
-<p>Voila, je vous laisse sur le fonctionnement de Java et de Python, et je
-vais me coucher.<br />
-A bientôt!</p>WxcafeMon, 27 Aug 2012 00:22:00 +0200tag:,2012-08-27:home/wxcafe/code/blog-source/output/posts/la-programmation-expliquee-simplement/GNU/Linux pour les non technophiles, ou l'OS libre pour votre grand-mèrefile:///home/wxcafe/code/blog-source/output/posts/gnulinux-pour-les-non-technophiles-ou-los-libre-pour-votre-grand-mere/<p>GNU/Linux est un vaste et extraordinaire territoire technologique, mais
-je ne vais pas m'attarder ici sur les aspects profondément techniques de
-ce territoire pour faire plutôt une sorte d'introduction a ce qu'est
-vraiment GNU/Linux, pour les gens n'ayant aucune ou très peu de
-connaissances en informatique.</p>
-<p>GNU/Linux, que j’abrégerai ici en Linux pour plus de simplicité, est un
-Système d'Exploitation. Un système d'exploitation est, pour simplifier,
-un ensemble d'outils informatiques qui vous permettent d'utiliser votre
-ordinateur, ainsi, Windows est un système d'exploitation. L'abréviation
-de système d'exploitation (Operating System en anglais) est OS. Les 4
-principaux OS existants aujourd'hui sont Windows, Mac OS, GNU/Linux, et
-Solaris. Les trois derniers sont issus d'un autre système, plus ancien,
-nommé UNIX.</p>
-<p>De ce fait, on pourrait penser que Linux remplace complètement Windows
-une fois installé, et comprend une interface graphique, et toutes sortes
-d'utilitaires permettant a l'utilisateur d'utiliser le système (sous
-Windows, pensez a l'explorateur de fichiers, ou a Internet Explorer.
-Pour l'interface graphique, pensez a... Pensez que votre système affiche
-autre chose que des lignes de commande.) Or non, une fois installé,
-Linux en lui même ne vous afficherait aucune interface graphique, et
-s'il est effectivement livré avec des utilitaires, ils ne sont que des
-programmes en ligne de commande. Autant les utilisateurs avancés sauront
-s'en servir, et pourront argumenter que c'est plus efficace ou plus
-rapide, autant les utilisateurs basiques préfèrent une interface
-graphique. Alors comment en obtenir une?</p>
-<p>Ici, il convient de faire une précision importante. Si il n'existe
-qu'une seule version de Windows, ou de Mac OS, il existe en fait
-plusieurs centaines de "versions" différentes de Linux. Appelées
-distributions, ces dernière sont développées par des groupes
-complètement séparés, et se basent sur le fait que Linux soit
-entièrement placé sous licence libre (ce qui leur permet de l'utiliser a
-leur guise, a condition que leur travail soit lui aussi placé sous
-licence libre). De ce fait, de nombreuses distributions existent et se
-développent en parallèle. On peut ainsi citer <a href="http://debian.org">Debian</a>, qui est l'une
-des distributions les plus importantes, ou encore <a href="http://ubuntu.com">Ubuntu</a>, qui est
-l'une des plus connues et des plus simples a utiliser.</p>
-<p>Ainsi, ces distributions intègrent une interface graphique. Cependant,
-grâce a la liberté dont bénéficient les développeurs sous Linux, il
-existe de nombreuses interfaces graphiques différentes : <a href="unity.ubuntu.com">Unity</a>, la
-nouvelle interface d'Ubuntu; <a href="gnome.org">GNOME</a> , une interface qui vise a la
-simplicité; ou encore <a href="http://kde.org/">KDE</a>, une interface utilisateur ressemblant a
-Windows 7.</p>
-<p>Ainsi, le choix astronomique de distributions Linux a bien un sens :
-chacune d'entre elle intègre des outils différents. Par exemple, Debian
-intègre GNOME 2, qui est l'ancienne version de GNOME, ce qui la rend
-particulièrement stable. Ubuntu intègre Unity, ce qui en fait une
-distribution particulièrement intuitive. Linux Mint intègre Cinnamon,
-qui est une version dérivée de GNOME 3, ce qui permet encore une autre
-expérience. Et Arch Linux n'intègre pas d'interface graphique du tout,
-ce qui permet a l'utilisateur de choisir entre les multiples interfaces
-existantes.</p>
-<p>Ce qu'il est important de retenir de cela, c'est que Linux est un OS
-complètement libre, ce qui signifie que n'importe qui peut modifier et
-utiliser tout le code de Linux gratuitement et comme il l'entend. Ainsi,
-Linux est un OS qui est véritablement créé par des passionnés, pour tous
-et toutes. Surtout, il convient de retenir que Linux n'est pas compliqué
-a utiliser, ni a installer. Windows et Mac OS ne le sont pas non plus.
-Cependant, Linux donne la possibilité a l'utilisateur de le rendre
-affreusement complexe, mais aussi de le rendre adapté a ses besoins,
-quels que soient ceux ci. Et c'est la que réside l'incroyable puissance
-de ce Système d'Exploitation. Il est extraordinairement adaptable.</p>
-<p>N'hésitez donc pas a le présenter a vos proches, même s'ils ne sont pas
-technophiles. Ils pourraient adorer, et peut être même le devenir :)</p>
-<p>A bientôt!</p>WxcafeWed, 22 Aug 2012 20:33:00 +0200tag:,2012-08-22:home/wxcafe/code/blog-source/output/posts/gnulinux-pour-les-non-technophiles-ou-los-libre-pour-votre-grand-mere/
\ No newline at end of file
diff --git a/output/feeds/feed.rss.tutorial.xml b/output/feeds/feed.rss.tutorial.xml
deleted file mode 100644
index dd04f48..0000000
--- a/output/feeds/feed.rss.tutorial.xml
+++ /dev/null
@@ -1,368 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/Fri, 07 Nov 2014 13:04:00 +0100OpenSMTPd comme serveur mail sous debianfile:///home/wxcafe/code/blog-source/output/posts/opensmtpd-debian/<p>J'avais dit il y a un certain temps que j'allais écrire un tutoriel expliquant
-comment gérer ses mails soi-même. Il se trouve que j'ai récemment décidé de
-changer le serveur qui héberge (entre autres) ce blog, et que ce dernier héberge
-aussi mes emails. J'ai donc totalement changé d'infrastructure quand a la
-gestion de mon système de mails.</p>
-<p>Ainsi, j'ai décidé de passer de Postfix a OpenSMTPd, changement que je voulais
-effectuer depuis un certain temps. <a href="https://opensmtpd.org">OpenSMTPd</a> est un
-projet originaire d'<a href="http://openbsd.org">OpenBSD</a> qui a pour but de fournir un
-serveur SMTP fiable, simple, rapide, et surtout sécurisé (les même buts que ceux
-qu'a le projet OpenBSD, globalement).</p>
-<p>Pour rappel, le système d'emails fonctionne d'une façon très simple : votre MUA
-(Mail User Agent, ou client email) contacte le MTA (Mail Transport Agent, ou
-serveur SMTP) de votre fournisseur email, qui contacte le MTA du fournisseur du
-destinataire, qui lui même contacte le MDA (Mail Delivery Agent) qui délivre le
-mail au destinataire.</p>
-<p>Si vous avez bien suivi, vous pouvez voir que je n'ai pas parlé de récupération
-ni de lecture des mails. C'est pour une raison simple, qui est que ces taches
-sont remplies par d'autres services encore (IMAP/POP pour la récupération depuis
-le serveur, des yeux pour la lecture).</p>
-<p>Or ce qui nous intéresse ici, ce n'est pas simplement d'envoyer et de recevoir
-des emails mais bien aussi de pouvoir les récupérer et les lire, et c'est pour
-ça que ce tutoriel ne parlera pas que d'OpenSMTPd mais aussi de
-<a href="http://dovecot.org/">Dovecot</a> qui fait office de serveur IMAP et
-<a href="http://www.ijs.si/software/amavisd/">amavis</a>/<a href="http://spamassassin.apache.org/">spamassassin</a>
-pour filtrer les mails entrants et sortants.
-Le schéma suivant explique la façon dont les mails sont gérés sur le système</p>
-<div class="highlight"><pre> <span class="err">╭────────────────╮</span> <span class="err">╭──────────╮</span>
- <span class="err">│╭──────────────</span><span class="o">></span><span class="err">│────</span><span class="o">></span> <span class="n">to</span> <span class="n">filter</span> <span class="err">───</span><span class="o">></span><span class="err">│─╮</span> <span class="err">│</span>
- <span class="n">mail</span> <span class="n">in</span> <span class="err">││</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">amavis</span> <span class="err">│</span>
-<span class="err">───────────</span><span class="o">></span><span class="err">│╯</span> <span class="n">OpenSMTPd</span> <span class="err">╭──│</span><span class="o"><</span><span class="err">───</span> <span class="n">from</span> <span class="n">filter</span><span class="o"><</span><span class="err">───│</span><span class="o"><</span><span class="err">╯</span> <span class="err">│</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╰──────────╯</span>
- <span class="n">mail</span> <span class="n">out</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╭──────────╮</span>
-<span class="o"><</span><span class="err">───────────│</span><span class="o"><</span><span class="err">────────────┴─</span><span class="o">></span><span class="err">│─────</span><span class="o">></span> <span class="n">to</span> <span class="n">MDA</span> <span class="err">─────</span><span class="o">></span><span class="err">│─────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">to</span> <span class="n">user</span><span class="err">'</span><span class="n">s</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">dovecot</span> <span class="err">│</span> <span class="n">mailbox</span>
- <span class="err">╰────────────────╯</span> <span class="err">╰──────────╯</span>
-</pre></div>
-
-
-<p>Normalement, ceci devrait être a peu près clair.
-Pour expliquer vite fait, les emails entrants (venant des utilisateurs mais
-aussi d'autres correspondants) sont transmis a OpenSMTPd, qui envoie tout a
-<code>amavis</code>, qui vérifie a la fois les spams et les malwares pour les mails
-venants de l'exterieur, et qui signe avec DKIM pour les mails venants de
-nos utilisateurs, puis qui rentransmet les mails filtrés/signés a OpenSMTPd,
-qui a ce moment-ci trie en fonction de la destination : les mails gérés
-par le domaine vont via dovecot dans les boites mail des destinataires
-locaux, les mails exterieurs vont directement vers le MTA du serveur
-distant.</p>
-<p>Voyons comment mettre cela en place. Tout d'abord, il faut décider de la façon
-dont les différents services vont communiquer.</p>
-<p>Déjà, amavis étant configuré par défaut pour écouter (en SMTP) sur le port
-10024 et répondre sur le port 10025 quand il s'agit de filtrer et
-écouter sur le port 10026 et répondre sur le port 10027 quand il s'agit de
-signer, nous allons profiter de cette configuration et donc lui parler en SMTP
-sur ces ports.</p>
-<p>Quand a Dovecot, nous allons lui transmettre les emails en LMTP (Local Mail
-Transfer Protocol), non pas sur un port mais via un socket (dans ce cas précis,
-<code>/var/run/dovecot/lmtp</code>).</p>
-<p>Ainsi, pour reprendre le schéma présenté plus haut :</p>
-<div class="highlight"><pre> <span class="err">╭───────────────╮</span> <span class="err">╭───────────╮</span>
- <span class="err">│╭─────────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10026</span><span class="p">)</span> <span class="err">──</span><span class="o">></span><span class="err">│─╮</span> <span class="err">│</span>
- <span class="n">SMTP</span> <span class="n">in</span> <span class="err">││</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">amavis</span> <span class="err">│</span>
-<span class="err">────────</span><span class="o">></span> <span class="mi">25</span><span class="err">│╯</span> <span class="n">OpenSMTPd</span> <span class="err">╭──│</span><span class="o"><</span><span class="err">──</span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10027</span><span class="p">)</span> <span class="o"><</span><span class="err">──│</span><span class="o"><</span><span class="err">╯</span> <span class="p">(</span><span class="n">sign</span><span class="p">)</span> <span class="err">│</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╰───────────╯</span>
- <span class="n">SMTP</span> <span class="n">out</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span>
-<span class="mi">25</span> <span class="o"><</span><span class="err">────────│</span><span class="o"><</span><span class="err">───────────╯</span> <span class="err">│</span>
- <span class="err">╰───────────────╯</span>
-</pre></div>
-
-
-<p>Pour les mails sortants; et</p>
-<div class="highlight"><pre> <span class="err">╭───────────────╮</span> <span class="err">╭────────────╮</span>
- <span class="err">│╭─────────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10024</span><span class="p">)</span> <span class="err">──</span><span class="o">></span><span class="err">│─╮</span> <span class="err">│</span>
- <span class="n">SMTP</span> <span class="n">in</span> <span class="err">││</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">amavis</span> <span class="err">│</span>
-<span class="err">────────</span><span class="o">></span> <span class="mi">25</span><span class="err">│╯</span> <span class="n">OpenSMTPd</span> <span class="err">╭──│</span><span class="o"><</span><span class="err">──</span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10025</span><span class="p">)</span> <span class="o"><</span><span class="err">──│</span><span class="o"><</span><span class="err">╯</span><span class="p">(</span><span class="n">filter</span><span class="p">)</span> <span class="err">│</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╰────────────╯</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╭────────────╮</span>
- <span class="err">│</span> <span class="err">╰─</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">LMTP</span> <span class="p">(</span><span class="n">socket</span><span class="p">)</span> <span class="err">─</span><span class="o">></span><span class="err">│───────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">to</span> <span class="n">user</span><span class="err">'</span><span class="n">s</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">dovecot</span> <span class="err">│</span> <span class="n">mailbox</span>
- <span class="err">╰───────────────╯</span> <span class="err">╰────────────╯</span>
-</pre></div>
-
-
-<p>Pour les mails entrants.</p>
-<p>Maintenant que la théorie est claire, mettons en place tout cela. Je me baserai
-ici sur le fait que vous utilisiez une plateforme Debian ou OpenBSD. Pour
-d'autres plateformes, la configuration devrait être sensiblement la même</p>
-<p>(Vous aurez besoin de certificats SSL pour ce guide, même self-signés.
-Si vous ne savez pas comment en créer, vous pouvez aller voir <a href="http://wxcafe.net/posts/05/30/14/SSL-ou-la-securite-sur-internet/">ce
-post</a>)</p>
-<p>Tout d'abord, commençons par installer les programmes nécessaires :</p>
-<div class="highlight"><pre><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">opensmtpd</span> <span class="n">dovecot</span> <span class="n">dovecot</span><span class="o">-</span><span class="n">pigeonhole</span> <span class="n">amavisd</span><span class="o">-</span><span class="n">new</span> <span class="n">dovecot</span><span class="o">-</span><span class="n">managesieved</span>
-<span class="n">sudo</span> <span class="n">pkg_add</span> <span class="n">dovecot</span> <span class="n">dovecot</span><span class="o">-</span><span class="n">pigeonhole</span> <span class="n">amavisd</span><span class="o">-</span><span class="n">new</span>
-</pre></div>
-
-
-<p>Continuons en configurant OpenSMTPd tel que nous avons vu plus haut :</p>
-<p><code>/etc/smtpd.conf</code></p>
-<div class="highlight"><pre><span class="err">#</span> <span class="nx">This</span> <span class="nx">is</span> <span class="nx">the</span> <span class="nx">smtpd</span> <span class="nx">server</span> <span class="nx">system</span><span class="na">-wide</span> <span class="nx">configuration</span> <span class="nx">file.</span>
-<span class="err">#</span> <span class="nx">See</span> <span class="nx">smtpd.conf</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span> <span class="nb">for</span> <span class="nx">more</span> <span class="nx">information.</span>
-
-<span class="err">##</span> <span class="nx">Certs</span>
-<span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nx">certificate</span> <span class="s2">"/etc/certs/exem.pl.crt"</span>
-<span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">key</span> <span class="s2">"/etc/certs/exem.pl.key"</span>
-
-<span class="err">##</span> <span class="nx">Ports</span> <span class="k">to</span> <span class="nb">listen</span> <span class="k">on</span><span class="p">,</span> <span class="ow">and</span> <span class="nx">how</span> <span class="k">to</span> <span class="nb">listen</span> <span class="k">on</span> <span class="nx">them</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">eth0</span> <span class="nb">port</span> <span class="mi">25</span> <span class="nx">tls</span> <span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">hostname</span> <span class="nx">exem.pl</span> <span class="nb">auth</span><span class="na">-optional</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">eth0</span> <span class="nb">port</span> <span class="mi">465</span> <span class="nx">tls</span><span class="na">-require</span> <span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">hostname</span> <span class="nx">exem.pl</span> <span class="nb">auth</span> <span class="nx">mask</span><span class="na">-source</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">eth0</span> <span class="nb">port</span> <span class="mi">587</span> <span class="nx">tls</span><span class="na">-require</span> <span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">hostname</span> <span class="nx">exem.pl</span> <span class="nb">auth</span> <span class="nx">mask</span><span class="na">-source</span>
-
-<span class="err">##</span> <span class="nx">Aliases</span>
-<span class="nb">table</span> <span class="nx">aliases</span> <span class="nb">file</span><span class="p">:/</span><span class="nx">etc</span><span class="p">/</span><span class="nx">aliases</span>
-
-<span class="err">#</span> <span class="nx">coming</span> <span class="nb">from</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nb">checked</span> <span class="nb">for</span> <span class="nx">spam</span><span class="p">/</span><span class="nx">malware</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">lo</span> <span class="nb">port</span> <span class="mi">10025</span> <span class="kt">tag</span> <span class="nx">Filtered</span>
-<span class="err">#</span> <span class="nx">coming</span> <span class="nb">from</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nx">signed</span> <span class="k">with</span> <span class="nx">DKIM</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">lo</span> <span class="nb">port</span> <span class="mi">10027</span> <span class="kt">tag</span> <span class="nx">Signed</span>
-
-<span class="err">##</span> <span class="nx">Receiving</span>
-<span class="err">#</span> <span class="k">if</span> <span class="nx">the</span> <span class="p">(</span><span class="nx">incoming</span><span class="p">)</span> <span class="nx">mail</span> <span class="nx">has</span> <span class="nx">been</span> <span class="nx">through</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nx">then</span> <span class="nx">we</span> <span class="nx">can</span> <span class="nx">deliver</span> <span class="nx">it</span>
-<span class="nb">accept</span> <span class="nx">tagged</span> <span class="nx">Filtered</span> <span class="nb">for</span> <span class="nb">any</span> <span class="nx">alias</span> <span class="o"><</span><span class="nx">aliases</span><span class="o">></span> <span class="nx">deliver</span> <span class="k">to</span> <span class="nx">lmtp</span> <span class="s2">"/var/run/dovecot/lmtp"</span>
-<span class="err">#</span> <span class="nx">we</span> <span class="nx">directly</span> <span class="nx">tranfer</span> <span class="nx">incoming</span> <span class="nx">mail</span> <span class="k">to</span> <span class="nx">amavisd</span> <span class="k">to</span> <span class="nx">be</span> <span class="nb">checked</span>
-<span class="nb">accept</span> <span class="nb">from</span> <span class="nb">any</span> <span class="nb">for</span> <span class="nx">domain</span> <span class="s2">"exem.pl"</span> <span class="nx">relay</span> <span class="nx">via</span> <span class="s2">"smtp://localhost:10024"</span>
-<span class="err">#</span> <span class="nx">we</span> <span class="nx">have</span> <span class="k">to</span> <span class="nx">put</span> <span class="nx">these</span> <span class="n">lines</span> <span class="k">in</span> <span class="nx">this</span> <span class="k">order</span> <span class="k">to</span> <span class="nx">avoid</span> <span class="nx">infinite</span> <span class="nx">loops</span>
-
-<span class="err">##</span> <span class="nx">Sending</span>
-<span class="err">#</span> <span class="k">if</span> <span class="nx">the</span> <span class="p">(</span><span class="nx">outgoint</span><span class="p">)</span> <span class="nx">mail</span> <span class="nx">has</span> <span class="nx">been</span> <span class="nx">through</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nx">then</span> <span class="nx">we</span> <span class="nx">can</span> <span class="nx">deliver</span> <span class="nx">it</span>
-<span class="nb">accept</span> <span class="nx">tagged</span> <span class="nx">Signed</span> <span class="nb">for</span> <span class="nb">any</span> <span class="nx">relay</span>
-<span class="err">#</span> <span class="nx">we</span> <span class="nx">tranfer</span> <span class="nx">the</span> <span class="nx">outgoing</span> <span class="nx">mail</span> <span class="k">to</span> <span class="nx">amavisd</span> <span class="k">to</span> <span class="nx">be</span> <span class="nx">signed</span>
-<span class="nb">accept</span> <span class="nb">for</span> <span class="nb">any</span> <span class="nx">relay</span> <span class="nx">via</span> <span class="s2">"smtp://localhost:10026"</span>
-<span class="err">#</span> <span class="nx">same</span><span class="p">,</span> <span class="nx">we</span> <span class="nx">have</span> <span class="k">to</span> <span class="nx">put</span> <span class="nx">these</span> <span class="n">lines</span> <span class="k">in</span> <span class="nx">this</span> <span class="k">order</span> <span class="ow">or</span> <span class="nx">infinite</span> <span class="nx">loops...</span>
-</pre></div>
-
-
-<p>Expliquons un peu ce fichier de configuration :</p>
-<ul>
-<li>Tout d'abord, le paragraphe nommé "Certs" contient les déclaration
- d'emplacement des certificats SSL.</li>
-<li>Ensuite, le paragraphe contenant les ports externes sur lesquels nous écoutons :
- port 25 avec TLS optionel et ports 465 et 587 avec TLS obligatoire</li>
-<li>Les alias sont définis juste après</li>
-<li>Le paragraphe suivant contient les ports locaux sur lesquels nous écoutons :
- 10025 (port de sortie du filtre de amavis) dont on taggue les mails sortants
- comme "Filtered" et 10027 (port de sortie des mails signés par amavis) dont on
- taggue les mails sortants comme "Signed"</li>
-<li>Nous avons ensuite le paragraphe qui traite les mails rentrants. Si le mail
- traité est taggué comme Filtered, alors il a été vérifié par amavis, et on
- peut donc le transmettre au destinataire. Sinon, c'est qu'il n'a pas encore
- été vérifié par amavis, donc on lui transmet pour analyse (sur le port 10024
- donc). Il est important de mettre les déclarations dans ce sens, car la
- première règle qui matche l'état du paquet est appliquée. Ici, la deuxième
- ligne matchant tous les mails arrivant et la première seulement ceux filtrés,
- inverser leur sens voudrait dire que les mails seraient toujours renvoyés a
- amavis</li>
-<li>Enfin, le dernier paragraphe traite les mails sortants. De la même façon que
- pour le paragraphe précédent, si le mail sortant est déjà taggué comme Signed
- on le transmet au MTA du destinataire, sinon il n'a pas encore été signé par
- DKIM par amavis et on le transmet donc a amavis pour qu'il le signe. Le
- problème de l'ordre des lignes se pose encore, pour la même raison qu'au
- dessus.</li>
-</ul>
-<p>Nous allons maintenant configurer dovecot. Comme nous l'avons vu, dovecot doit
-écouter en LMTP via la socket <code>/var/run/dovecot/lmtp</code> et transmettre les
-emails a la boite email de l'utilisateur. Il serait aussi interessant
-qu'il nous permette de récuperer les mails. Pour cette configuration, on ne
-mettra en place que du IMAPS. Cependant, si vous voulez mettre en place du
-POP3[s], différents guides sont trouvables facilement sur internet.</p>
-<p><code>/etc/dovecot/dovecot.conf</code></p>
-<div class="highlight"><pre><span class="cp">## Dovecot configuration file</span>
-
-<span class="cp"># basic config</span>
-<span class="n">info_log_path</span> <span class="o">=</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">log</span><span class="o">/</span><span class="n">dovecot</span><span class="o">-</span><span class="n">info</span><span class="p">.</span><span class="n">log</span>
-<span class="n">log_path</span> <span class="o">=</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">log</span><span class="o">/</span><span class="n">dovecot</span><span class="p">.</span><span class="n">log</span>
-<span class="n">log_timestamp</span> <span class="o">=</span> <span class="s">"%Y-%m-%d %H:%M:%S "</span>
-<span class="n">mail_location</span> <span class="o">=</span> <span class="n">maildir</span><span class="o">:%</span><span class="n">h</span><span class="o">/</span><span class="n">mail</span>
-
-<span class="cp"># authentication</span>
-<span class="n">passdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">pam</span>
-<span class="p">}</span>
-<span class="n">userdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">passwd</span>
-<span class="p">}</span>
-
-<span class="cp"># the protocols we use</span>
-<span class="n">protocols</span> <span class="o">=</span> <span class="n">imap</span> <span class="n">lmtp</span> <span class="n">sieve</span>
-
-<span class="cp"># ssl config</span>
-<span class="n">ssl_cert</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">exem</span><span class="p">.</span><span class="n">pl</span><span class="p">.</span><span class="n">cert</span>
-<span class="n">ssl_key</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">exem</span><span class="p">.</span><span class="n">pl</span><span class="p">.</span><span class="n">key</span>
-<span class="n">ssl_cipher_list</span> <span class="o">=</span> <span class="n">HIGH</span><span class="o">+</span><span class="n">kEDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">+</span><span class="n">kEECDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">:!</span><span class="n">PSK</span><span class="o">:!</span><span class="n">SRP</span><span class="o">:!</span><span class="mi">3</span><span class="n">DES</span><span class="o">:!</span><span class="n">aNULL</span>
-<span class="n">ssl</span> <span class="o">=</span> <span class="n">yes</span>
-
-<span class="cp">## configuring services </span>
-<span class="cp"># disables imap login without SSL (yes dovecot is dumb that way)</span>
-<span class="n">service</span> <span class="n">imap</span><span class="o">-</span><span class="n">login</span> <span class="p">{</span>
- <span class="n">inet_listener</span> <span class="n">imap</span> <span class="p">{</span>
- <span class="n">port</span><span class="o">=</span><span class="mi">0</span>
- <span class="p">}</span>
-<span class="p">}</span>
-
-<span class="n">service</span> <span class="n">lmtp</span> <span class="p">{</span>
- <span class="n">unix_listener</span> <span class="n">lmtp</span> <span class="p">{</span>
- <span class="n">mode</span> <span class="o">=</span> <span class="mo">0666</span>
- <span class="p">}</span>
-<span class="p">}</span>
-
-<span class="cp">## configuring protocols</span>
-<span class="cp"># the dovecot lda, we set it to use sieve</span>
-<span class="n">protocol</span> <span class="n">lda</span> <span class="p">{</span>
- <span class="n">mail_plugins</span> <span class="o">=</span> <span class="err">$</span><span class="n">mail_plugins</span> <span class="n">sieve</span>
-<span class="p">}</span>
-
-<span class="n">protocol</span> <span class="n">lmtp</span> <span class="p">{</span>
- <span class="n">postmaster_address</span> <span class="o">=</span> <span class="n">whoever</span><span class="err">@</span><span class="n">exem</span><span class="p">.</span><span class="n">pl</span>
- <span class="n">mail_plugins</span> <span class="o">=</span> <span class="err">$</span><span class="n">mail_plugins</span> <span class="n">sieve</span>
-<span class="p">}</span>
-
-<span class="n">plugin</span> <span class="p">{</span>
- <span class="n">sieve</span> <span class="o">=</span> <span class="o">~/</span><span class="p">.</span><span class="n">dovecot</span><span class="p">.</span><span class="n">sieve</span>
- <span class="n">sieve_dir</span> <span class="o">=</span> <span class="o">~/</span><span class="n">sieve</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p><strong>ATTENTION: Sous OpenBSD, remplacez</strong></p>
-<div class="highlight"><pre><span class="n">passdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">pam</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p><strong>par</strong></p>
-<div class="highlight"><pre><span class="n">passdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">bsdauth</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p><strong>pour identifier les utilisateurs système</strong></p>
-<p>Ici aussi, voyons comment ce fichier est structuré :</p>
-<ul>
-<li>Tout d'abord, les configurations de base : ou iront les logs, comment formater
- leur datation, et l'endroit ou seront stockés les mails des utilisateurs.</li>
-<li>Nous configurons ensuite la gestion de l'authentification des utilisateurs.
- Ici nous identifions les utilisateurs avec le fichier /etc/passwd et leurs
- mots de passe avec PAM (ou BSDAuth)</li>
-<li>Nous configurons ensuite les protocoles que nous servons. Ici, nous voulons de
- l'IMAPS, du LMTP local et Sieve (qui sert pour trier les messages).</li>
-<li>Nous configurons le SSL</li>
-<li>Le section suivante contient la configuration des services. Nous avons en
- premier lieu le service IMAP, dont la configuration sert uniquement a
- désactiver IMAP. En effet, dovecot ne permet d'activer IMAPS qu'en activant
- IMAP avec. Comme nous ne voulons pas d'IMAP sans SSL, nous le désactivons.
- La configuration de lmtp sert a attribuer des permissions plus correctes au
- fifo qu'il utilise</li>
-<li>Nous configurons maintenant les protocoles, pour faire fonctionner Sieve</li>
-<li>enfin, nous configurons le plugin sieve en lui indiquant quel fichier et
- quel dossier utiliser pour sa configuration.</li>
-</ul>
-<p>Enfin, il nous reste a configurer amavis. Comme expliqué, amavis va nous servir
-a deux choses : signer les emails sortants, et filtrer les emails entrants. Il
-doit donc écouter sur les port 10026 pour les signatures et 10024 pour le
-filtrage, et répondre respectivement sur les ports 10027 et 10025 (le tout, en
-SMTP. Comme toutes les transactions se font sur le loopback, il n'y a aucun
-risque a utiliser des protocoles non chiffrés.
-Pour OpenBSD, pensez a copier la configuration par défaut depuis
-<code>/usr/local/share/examples/amavisd-new/amavisd.conf</code> et ajoutez les
-modifications nécessaires a la fin du fichier.</p>
-<p><code>/etc/amavis/conf.d/99-local.conf</code> (debian)
-<code>/etc/amavis.conf</code> (OpenBSD)</p>
-<div class="highlight"><pre><span class="n">use</span> <span class="n">strict</span><span class="p">;</span>
-
-<span class="err">$</span><span class="n">enable_dkim_verification</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
-<span class="err">$</span><span class="n">enable_dkim_signing</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
-<span class="n">dkim_key</span><span class="p">(</span><span class="s">"exem.pl"</span><span class="p">,</span> <span class="s">"main"</span><span class="p">,</span> <span class="s">"/etc/certs/dkim.key"</span> <span class="p">);</span>
-
-<span class="err">@</span><span class="n">dkim_signature_options_bysender_maps</span> <span class="o">=</span> <span class="p">(</span>
- <span class="p">{</span> <span class="sc">'.'</span> <span class="o">=></span>
- <span class="p">{</span> <span class="n">ttl</span> <span class="o">=></span> <span class="mi">21</span><span class="o">*</span><span class="mi">24</span><span class="o">*</span><span class="mi">3600</span><span class="p">,</span> <span class="n">c</span> <span class="o">=></span> <span class="err">'</span><span class="n">relaxed</span><span class="o">/</span><span class="n">simple</span><span class="err">'</span> <span class="p">}</span>
- <span class="p">}</span>
-<span class="p">);</span>
-
-<span class="err">$</span><span class="n">inet_socket_port</span> <span class="o">=</span> <span class="p">[</span><span class="mi">10024</span><span class="p">,</span> <span class="mi">10026</span><span class="p">];</span>
-<span class="err">$</span><span class="n">policy_bank</span><span class="p">{</span><span class="err">'</span><span class="n">MYNETS</span><span class="err">'</span><span class="p">}</span> <span class="o">=</span> <span class="p">{</span>
- <span class="n">originating</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">os_fingerprint_method</span> <span class="o">=></span> <span class="n">undef</span><span class="p">,</span>
-<span class="p">};</span>
-
-<span class="err">$</span><span class="n">interface_policy</span><span class="p">{</span><span class="err">'</span><span class="mi">10026</span><span class="err">'</span><span class="p">}</span> <span class="o">=</span> <span class="err">'</span><span class="n">ORIGINATING</span><span class="err">'</span><span class="p">;</span>
-
-<span class="err">$</span><span class="n">policy_bank</span><span class="p">{</span><span class="err">'</span><span class="n">ORIGINATING</span><span class="err">'</span><span class="p">}</span> <span class="o">=</span> <span class="p">{</span>
- <span class="n">originating</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">allow_disclaimers</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">virus_admin_maps</span> <span class="o">=></span> <span class="p">[</span><span class="s">"root\@$mydomain"</span><span class="p">],</span>
- <span class="n">spam_admin_maps</span> <span class="o">=></span> <span class="p">[</span><span class="s">"root\@$mydomain"</span><span class="p">],</span>
- <span class="n">warnbadhsender</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">forward_method</span> <span class="o">=></span> <span class="err">'</span><span class="n">smtp</span><span class="o">:</span><span class="n">localhost</span><span class="o">:</span><span class="mi">10027</span><span class="err">'</span><span class="p">,</span>
- <span class="n">smtpd_discard_ehlo_keywords</span> <span class="o">=></span> <span class="p">[</span><span class="err">'</span><span class="mi">8</span><span class="n">BITMIME</span><span class="err">'</span><span class="p">],</span>
- <span class="n">bypass_banned_checks_maps</span> <span class="o">=></span> <span class="p">[</span><span class="mi">1</span><span class="p">],</span>
- <span class="n">terminate_dsn_on_notify_success</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span>
-<span class="p">};</span>
-
-<span class="cp">#------------ Do not modify anything below this line -------------</span>
-<span class="mi">1</span><span class="p">;</span> <span class="err">#</span> <span class="n">ensure</span> <span class="n">a</span> <span class="n">defined</span> <span class="k">return</span>
-</pre></div>
-
-
-<p>A nouveau, expliquons ce fichier :
-- le premier paragraphe définit que nous voulons qu'amavis signe les emails
- sortants, vérifie la signature DKIM des emails rentrants, et l'endroit ou se
- trouve la clé privée servant a signer les emails.
-- le second définit les options DKIM que nous souhaitons utiliser comme défaut.
- Je vous invite a consulter la <a href="https://tools.ietf.org/html/rfc4871">RFC 4871</a>
-- nous définissons ensuite les ports sur lesquels nous allons écouter, puis les
- paramètres que nous utiliserons pour les emails venant de nos utilisateurs :
- ils seront traités comme "originating" et nous ne vérifierons pas l'OS duquel
- ils viennent.
-- nous savons que les emails venants du port 10026 sont sortants, nous les
- traitons donc comme tel
-- le paragraphe suivant décrit le traitement que nous faisons subir aux emails
- sortants : tout d'abord, nous réaffirmons qu'ils viennent bien de notre
- serveur. Nous autorisons les disclaimers (voire encore une fois la <a href="https://tools.ietf.org/html/rfc4871">RFC
- 4871</a>. Nous déclarons l'adresse a
- prévenir en cas de spam/virus venants de notre système, et que nous voulons
- être prévenus. Nous déclarons ou envoyer les mails une fois signés et filtrés,
- puis qu'il est nécessaire de convertir les emails au format 7 bits avant de
- les envoyer au MTA, que nous autorisons tous les types et noms de fichiers, et
- les notifications de succès d'envoi. Et voila!</p>
-<p>Vous avez pu remarquer qu'a aucun moment nous ne configurions ni la signature
-des emails sortants ni le filtrage des emails entrants. Ces paramètres sont en
-fait inclus par défaut dans amavis.</p>
-<p>Il nous reste cependant quelques opérations a faire, encore.
-Tout d'abord, il nous faut générer notre clé DKIM. Pour cela, il existe
-différentes méthodes, j'ai personnellement utilisé opendkim (<a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy">un
-tutorial</a>)
-mais de nombreuses autre méthodes existent.
-Il nous reste encore a configurer spamassassin :</p>
-<div class="highlight"><pre><span class="cp">#rewrite_header Subject *****SPAM*****</span>
-<span class="cp"># report_safe 1</span>
-<span class="n">required_score</span> <span class="mf">2.0</span>
-<span class="cp"># use_bayes 1</span>
-<span class="cp"># bayes_auto_learn 1</span>
-<span class="cp"># bayes_ignore_header X-Bogosity</span>
-<span class="cp"># bayes_ignore_header X-Spam-Flag</span>
-<span class="cp"># bayes_ignore_header X-Spam-Status</span>
-<span class="n">ifplugin</span> <span class="n">Mail</span><span class="o">::</span><span class="n">SpamAssassin</span><span class="o">::</span><span class="n">Plugin</span><span class="o">::</span><span class="n">Shortcircuit</span>
-<span class="cp"># shortcircuit USER_IN_WHITELIST on</span>
-<span class="cp"># shortcircuit USER_IN_DEF_WHITELIST on</span>
-<span class="cp"># shortcircuit USER_IN_ALL_SPAM_TO on</span>
-<span class="cp"># shortcircuit SUBJECT_IN_WHITELIST on</span>
-<span class="cp"># shortcircuit USER_IN_BLACKLIST on</span>
-<span class="cp"># shortcircuit USER_IN_BLACKLIST_TO on</span>
-<span class="cp"># shortcircuit SUBJECT_IN_BLACKLIST on</span>
-<span class="n">shortcircuit</span> <span class="n">ALL_TRUSTED</span> <span class="n">off</span>
-<span class="cp"># shortcircuit BAYES_99 spam</span>
-<span class="cp"># shortcircuit BAYES_00 ham</span>
-
-<span class="n">endif</span> <span class="err">#</span> <span class="n">Mail</span><span class="o">::</span><span class="n">SpamAssassin</span><span class="o">::</span><span class="n">Plugin</span><span class="o">::</span><span class="n">Shortcircuit</span>
-</pre></div>
-
-
-<p>Comme vous pouvez le voir, les modifications se résument globalement a baisser
-le required_score pour ma part.</p>
-<p>Pour finir, activez les services nécessaires : opensmtpd, dovecot, amavisd, et
-spamassassin, et tout devrait fonctionner parfaitement</p>
-<p>Bon courage pour votre hosting de mail ensuite...</p>WxcaféFri, 07 Nov 2014 13:04:00 +0100tag:,2014-11-07:home/wxcafe/code/blog-source/output/posts/opensmtpd-debian/
\ No newline at end of file
diff --git a/output/feeds/feed.teaching.xml b/output/feeds/feed.teaching.xml
deleted file mode 100644
index 11639e3..0000000
--- a/output/feeds/feed.teaching.xml
+++ /dev/null
@@ -1,344 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/2015-05-16T02:00:00+02:00SSL - STARTTLS2015-05-16T02:00:00+02:00Wxcafetag:,2015-05-16:home/wxcafe/code/blog-source/output/posts/ssl-starttls/<p>Le chiffrement SSL pour les services en ligne est un problème relativement
-récent, par rapport a l’histoire d’Internet. Sa mise en place pose
-problème : les protocoles existants ne s’accommodent qu’assez mal de recevoir
-soudainement un flot de données chiffrées, mais développer de nouveaux
-protocoles est complexe et n’apporte rien d’intéressant. Pour palier a ce
-problème, deux solutions sont apparues.</p>
-<p>Le première consiste à faire écouter les services sur un
-autre port, dans un tunnel SSL. De cette façon, le service existant écoute
-normalement, mais il ne répond pas directement aux requêtes. A la place, un
-tunnel SSL est mis en place, et les requêtes et les réponses passent dans le
-tunnel (ou elles apparaissent donc chiffrées pour l’extérieur). Cela permet de
-proposer un service chiffré en modifiant de façon minimale le programme, au prix
-de devoir aussi changer tous les clients, et de devoir les orienter sur un autre
-port.</p>
-<p>L’autre approche qui a été utilisée est une approche d’<em>upgrade</em>. La
-communication commence en mode non chiffré, puis le client demande l’upgrade de
-la connexion vers le mode chiffré s’il le supporte, les deux machines
-machines font un <em>handshake</em> SSL et la communication continue a travers le
-tunnel SSL. Le service peut continuer a écouter sur son port habituel, et seuls
-les clients capables de passer en SSL le feront, ce qui permet de faire la “mise
-a jour” en douceur.</p>
-<p>Il est souvent demandé quelle est la meilleure méthode pour mettre en place un
-service – laisser un port pour le SSL et un pour le trafic non chiffré, ou bien
-un seul, avec <code>STARTTLS</code>, qui <em>upgrade</em> les connexions si nécessaire.<br />
-La réponse est que <code>STARTTLS</code> est plus interessant, pour plusieurs raisons. Tout
-d’abord, il permet de n’utiliser qu’un seul port : ça permet de simplifier la
-configuration du firewall. En plus de ça, il permet aux clients “anciens” (ceux
-qui ne supportent pas SSL, donc ceux qui devraient être changés) de toujours se
-connecter, même si cela signifie que leurs informations seront transmises en
-clair. Surtout, il permet d’éviter aux utilisateurs d’avoir a configurer leurs
-clients. Si le client supporte le chiffrement, il l’activera de lui même s’il
-voit qu’il est disponible.<br />
-Bref, mettez en place du <code>STARTTLS</code>, et pas du SSL. C’est mieux pour la sécurité
-de tout le monde.</p>Les systèmes de fichiers2012-09-25T10:28:00+02:00Wxcafetag:,2012-09-25:home/wxcafe/code/blog-source/output/posts/les-systemes-de-fichiers/<p>Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
-avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
-connaissez surement NTFS, EXT4, ou encore FAT32.</p>
-<p>Ces différents noms désignent en effet des systèmes de fichiers. Mais
-qu'est-ce qu'un système de fichiers?</p>
-<p>Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
-fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
-plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
-(<a href="http://fr.wikipedia.org/wiki/Kibioctet#Multiples_normalis.C3.A9s">kibioctet</a>), en fonction du système de fichier utilisé.), qui est
-donc composé de bits, interprétés différemment en fonction du type de
-fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
-n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
-ou il commence ni où il s'arrête (je schématise un peu, mais c'est
-l'idée). </p>
-<p>Ainsi, le système de fichier donne un cadre et un standard à
-l'arborescence des fichiers. Par exemple, le système de fichier ext4
-utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
-disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
-et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
-de fichiers nécessitent l'inclusion de drivers dans le noyau pour
-pouvoir être pris en compte. </p>
-<p>Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
-reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
-près tout type de partition récente.</p>
-<p>Il convient de bien faire la différence entre le système de fichier et
-l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
-une entité virtuelle englobant la racine / et tous les fichiers et
-dossiers contenus dedans, le système de fichier permet a votre système
-GNU/Linux de distinguer les différents fichiers composants cette
-arborescence.</p>
-<p>Détaillons maintenant les types de fichiers les plus répandus:</p>
-<ul>
-<li>
-<p>FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
- soit la définition d'un système de fichier), remplissent leur rôle le
- plus simplement possible. Ne permettant (historiquement) que des noms de
- 8 caractères (plus extension de trois caractères), ni chiffrement, ni
- système de distinction d'utilisateurs (DOS étant un système
- mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
- utlisants respectivement des blocs de 16 et 32 Kio.</p>
-</li>
-<li>
-<p>NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
- NT) est un système de fichier qui est apparu avec Windows XP, et qui
- était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
- FAT différentes capacités dont le chiffrement, les liens symboliques, la
- compression et les quotas pour les volumes, permettant de limiter la
- taille maximum occupée dans une partition.</p>
-</li>
-<li>
-<p>ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
- Ne différant pas énormément de NTFS, je le mentionne principalement
- parce qu'il est prévu qu'il soit le défaut pour Windows 8.
- Il apporte principalement la redondance, c'est a dire que chaque
- fichier possède une somme de contrôle en 64 bits stockée dans un fichier
- séparé pour éviter les corruption de disque.</p>
-</li>
-<li>
-<p>Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
- les plus utilisés sous linux pour le grand public. (Je traiterai ici
- d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
- fonctions que l'on peut attendre d'un système de fichiers moderne, ni
- plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
- acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
- "par extent", ce qui signifie que la création d'un fichier réserve
- automatiquement les zones contiguës de façon a réduire la fragmentation.</p>
-</li>
-<li>
-<p>ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
- programmeur Hans Reiser, est a retenir pour avoir été le premier système
- de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
- 4 milliards. Le but de ce système est de créer un système polyvalent, a
- la fois système de fichiers et base de donnée (de part sa grande
- capacité en terme de nombre de fichiers et de l'utilisation d'un
- journal.)</p>
-</li>
-<li>
-<p>Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
- l'allocation par extent, mais possède de plus un système de
- sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
- montées en même temps (système pratique et utile pour faire des
- snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
- taille des partitions, en les agrandissant ou en les rétrécissant, est
- compatible avec <a href="http://fr.wikipedia.org/wiki/LVM">LVM</a>, a un système de checking intégré (btrfsck), et
- utilise un algorithme de compression appelé LZ4, qui accélère les accès
- aux fichiers compressés d'environ 30% par rapport a LZO, le système
- utilisé dans ext4.</p>
-</li>
-<li>
-<p>HFS+ : le système de fichier présent sur tous les macs a des capacités
- relativement standards, et ressemble énormément a l'ext3. Il supporte
- cependant les liens directs vers les dossiers, fonction rare sur les
- systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
- dans les années a venir</p>
-</li>
-<li>
-<p>ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
- et *BSD, est, tel Btrfs, a la fois un système de fichier et un
- remplaçant/compatible avec LVM, C'est un système de fichiers conçu
- principalement pour les serveurs, et il intègre ainsi un système de
- redondance des données pour éviter les corruptions, un mode RAID-Z
- (apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
- etc...</p>
-</li>
-</ul>
-<p>Comme on a pu le voir, les systèmes de fichiers disponibles sont
-légions. Cependant, le plus adapté a Linux et a une utilisation grand
-public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
-n'est pas aujourd'hui proposé par défaut sur les distributions les plus
-utilisées, au profit de l'ext4, qui commence a accuser son âge...</p>
-<p>Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
-fonctionnement du système, sont en fait de première importance, et ce
-choix ne devrait pas être laissé au hasard, et être mis a jour
-régulièrement (pour éviter les failles de sécurité...)</p>
-<p>Bon courage, et bon choix pour votre prochain système.</p>Les différentes couches d'un système d'exploitation2012-09-06T23:29:00+02:00Wxcafetag:,2012-09-06:home/wxcafe/code/blog-source/output/posts/les-differentes-couches-dun-systeme-dexploitation/<p>Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques
-années (plus ou moins, parce que j'ai toujours un Windows en dual boot,
-principalement pour les jeux (possiblement plus pour longtemps, avec
-l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou
-moins bien mon système. Or il y a plusieurs choses a savoir sur les
-systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est
-le système de couches.</p>
-<p>Un système d'exploitation (de type UNIX, \<troll>enfin un vrai système quoi.
-\</troll>) incorpore plusieurs systèmes de couches.</p>
-<p>Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique,
-c'est a dire que tous les composants sont intégrés au kernel. Ce qui
-signifie que rien ne peut être ajouté au noyau sans recompiler celui ci.
-Or, quand on sait que le noyau comprend entre autres les drivers du
-matériel et des systèmes de fichier, cela peut poser des problèmes quand
-a la taille du kernel et a la licence libre de ce dernier. </p>
-<p>Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui
-signifie que des modules peuvent être chargé a tout moment en cours
-d’exécution, ce qui permet l'utilisation de nouveaux systèmes de
-fichiers a chaud, ou l'insertion de matériel et l'installation de
-drivers sans interrompre l’exécution du système (Windows utilise un
-système de fausse installation de drivers pour le matériel externe, et
-un système de pré-installation des drivers pour les périphériques dits
-"plug and play")</p>
-<p>Après le noyau intervient le système. Or, au tous premiers instants du
-boot, les systèmes GNU/Linux utilisent un système permettant de limiter
-l'utilisation de ressources systèmes si elles ne sont pas nécessaires,
-et incorpore ainsi un système dit de "runlevels"</p>
-<p>Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce
-runlevel permet de tester le bon démarrage du système sans avoir a
-effectuer de manipulation pour le ré-éteindre</p>
-<p>Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté
-étant donné que ce runlevel donne accès a un système en étant
-automatiquement loggé en tant que root, avec tous les autres
-utilisateurs désactivés, de même que tous les systèmes de réseaux</p>
-<p>Le runlevel 2 est appelé mode multi user, et vous mets en face d'un
-système classique. en ligne de commande, mais avec tous les systèmes de
-réseau désactivés.</p>
-<p>Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux
-activés.</p>
-<p>Le runlevel 4 n'est pas officiellement défini, et est censé être
-activable en fonction des besoins de l'utilisateur. Sur la plupart des
-distributions grand public, ce runlevel est lié au...</p>
-<p>Runlevel 5! Multi-user, networking, with working GUI! c'est le système
-tel que vous le connaissez, avec l'interface graphique et le système de
-login graphique.</p>
-<p>Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine
-quand il devient le runlevel courant.</p>
-<p>(Il est a noter que Debian, et donc toutes les distribs qui en sont
-dérivées, ne font pas de distinction entre les differents runlevels du 2
-au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login
-et une interface graphique, et un mode réseau fonctionnel, bref avec des
-fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)</p>
-<p>Il est possible de changer de runlevel grâce a la commande runlevel
-(oui, c'est évident...)</p>
-<p>Les systèmes Linux utilisent aussi un système dit de SandBox , qui en
-informatique est un système permettant d'isoler les processus les uns
-des autres. Ainsi, la pile réseau, qui est le système auquel les
-différents processus envoient les différents paquets qui doivent sortir
-de la machine , et qui redistribue ces paquets, est isolée du reste du
-système, en cela qu'aucun des autres processus ne peuvent modifier cette
-pile hors du runlevel 1 ou 2.</p>
-<p>De la même façon, le navigateur chrom/ium fait fonctionner tous les
-onglets, ainsi que toutes les extensions, dans des processus différents.
-Certaines distributions linux implémentent un système de cette sorte
-pour toutes les applications, ou seulement pour certaines. ainsi Chakra
-Linux a un système d'installation d'applications dans des disques
-virtuels, ce qui permet une sécurité totale du processus.</p>
-<p>Voila, j'espère vous en avoir appris un peu sur le fonctionnement des
-différentes couches de linux, et j'espère que cet article vous poussera
-a tester un peu votre système et a vous amuser avec les différents
-runlevels</p>La programmation expliquée simplement2012-08-27T00:22:00+02:00Wxcafetag:,2012-08-27:home/wxcafe/code/blog-source/output/posts/la-programmation-expliquee-simplement/<p>Salut!<br />
-Tout d'abord, je tiens a m'excuser de ne pas avoir eu le temps d'écrire
-récement, mais j'ai eu la chance d'avoir un PC a monter, donc j'ai passé
-pas mal de temps assez occupé. </p>
-<p>Enfin, après un certain temps a farfouiller au millieu des connecteurs
-SATA et a apprendre que, oui, l'alimentation sert aussi pour les disques
-durs, je suis de retour pour un court article.<br />
-Du coup, je m'étais dit que j'allais reprendre sur le thème de
-l'informatique expliquée au grand public, en tentant d'aller un peu plus
-loin que la dernière fois sur le thème de la programmation<br />
-Ce qu'il faut comprendre, c'est la facon dont fonctionne un ordinateur.
-Si a peu près tout le monde sait que "les ordinateurs, ils ne
-comprennent que les 1 et les 0!", peu de gens savent comment cela
-fonctionne en détail. </p>
-<p>Si vous êtes sur ce blog, il y a pas mal de chance que vous ayez déjà
-des notions de base en informatique. Ainsi, vous savez surement que les
-ordinateurs fonctionnent avec des programmes, qui sont composés de
-code.<br />
-Ainsi, il faut comprendre que le code (source) est "compilé" en un
-fichier "binaire". Un fichier binaire est un fichier comprenant les
-instructions telles qu’exécutées par le processeur, et donc absolument
-illisible pour un humain. </p>
-<p>La compilation est le processus qui transforme le code source en
-binaire executable. Les binaires ont, sous Windows, l'extension .exe,
-tandis que sous les systèmes UNIX-like, ils n'ont pas d'extension
-particulière.<br />
-Ceci étant dit, il faut comprendre que certains langages sont plus
-proches que d'autres du langage processeur, les langages les plus
-proches sont dits de "bas niveau". Les langages les plus éloignés sont
-donc dits de haut niveau. </p>
-<p>Par exemple, l'assembleur est l'un des languages de plus bas niveau,
-tandis que python par exemple est un langage de plus haut niveau. Les
-langages de haut niveau sont souvent bien plus simples a comprendre et a
-apprendre que les langages de bas niveau </p>
-<p>Ainsi, en C, un langage de niveau relativement bas, pour afficher
-"hello world" sur l'écran, le code nécessaire est :</p>
-<div class="highlight"><pre><span class="cp">#include </span>
-<span class="kt">void</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
-<span class="n">printf</span><span class="p">(</span><span class="s">"hello world"</span><span class="p">);</span>
-<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p>le même programme en python s'écrit :</p>
-<div class="highlight"><pre><span class="n">print</span> <span class="s">"hello world"</span>
-</pre></div>
-
-
-<p>et n'a pas besoin d'être compilé , puisqu'il peut être intepreté
-directement. </p>
-<p>Python utilise en effet un système similaire a Java en ayant un
-interpréteur dit "runtime" ou "temps réel", qui interprète le programme
-sans le compiler. Java utilise un système légèrement différent, puisque
-le code a besoin d'être compilé, mais est interpreté par un interpréteur
-et non par le processeur. </p>
-<p>Cette méthode permet le fameux "code once, run everywhere", ce qui
-signifie que le même code est exécutable sur quasiment tous les systèmes
-d'exploitation (en fait, tous ceux sur lesquels l’interpréteur est
-disponible.)</p>
-<p>Voila, je vous laisse sur le fonctionnement de Java et de Python, et je
-vais me coucher.<br />
-A bientôt!</p>GNU/Linux pour les non technophiles, ou l'OS libre pour votre grand-mère2012-08-22T20:33:00+02:00Wxcafetag:,2012-08-22:home/wxcafe/code/blog-source/output/posts/gnulinux-pour-les-non-technophiles-ou-los-libre-pour-votre-grand-mere/<p>GNU/Linux est un vaste et extraordinaire territoire technologique, mais
-je ne vais pas m'attarder ici sur les aspects profondément techniques de
-ce territoire pour faire plutôt une sorte d'introduction a ce qu'est
-vraiment GNU/Linux, pour les gens n'ayant aucune ou très peu de
-connaissances en informatique.</p>
-<p>GNU/Linux, que j’abrégerai ici en Linux pour plus de simplicité, est un
-Système d'Exploitation. Un système d'exploitation est, pour simplifier,
-un ensemble d'outils informatiques qui vous permettent d'utiliser votre
-ordinateur, ainsi, Windows est un système d'exploitation. L'abréviation
-de système d'exploitation (Operating System en anglais) est OS. Les 4
-principaux OS existants aujourd'hui sont Windows, Mac OS, GNU/Linux, et
-Solaris. Les trois derniers sont issus d'un autre système, plus ancien,
-nommé UNIX.</p>
-<p>De ce fait, on pourrait penser que Linux remplace complètement Windows
-une fois installé, et comprend une interface graphique, et toutes sortes
-d'utilitaires permettant a l'utilisateur d'utiliser le système (sous
-Windows, pensez a l'explorateur de fichiers, ou a Internet Explorer.
-Pour l'interface graphique, pensez a... Pensez que votre système affiche
-autre chose que des lignes de commande.) Or non, une fois installé,
-Linux en lui même ne vous afficherait aucune interface graphique, et
-s'il est effectivement livré avec des utilitaires, ils ne sont que des
-programmes en ligne de commande. Autant les utilisateurs avancés sauront
-s'en servir, et pourront argumenter que c'est plus efficace ou plus
-rapide, autant les utilisateurs basiques préfèrent une interface
-graphique. Alors comment en obtenir une?</p>
-<p>Ici, il convient de faire une précision importante. Si il n'existe
-qu'une seule version de Windows, ou de Mac OS, il existe en fait
-plusieurs centaines de "versions" différentes de Linux. Appelées
-distributions, ces dernière sont développées par des groupes
-complètement séparés, et se basent sur le fait que Linux soit
-entièrement placé sous licence libre (ce qui leur permet de l'utiliser a
-leur guise, a condition que leur travail soit lui aussi placé sous
-licence libre). De ce fait, de nombreuses distributions existent et se
-développent en parallèle. On peut ainsi citer <a href="http://debian.org">Debian</a>, qui est l'une
-des distributions les plus importantes, ou encore <a href="http://ubuntu.com">Ubuntu</a>, qui est
-l'une des plus connues et des plus simples a utiliser.</p>
-<p>Ainsi, ces distributions intègrent une interface graphique. Cependant,
-grâce a la liberté dont bénéficient les développeurs sous Linux, il
-existe de nombreuses interfaces graphiques différentes : <a href="unity.ubuntu.com">Unity</a>, la
-nouvelle interface d'Ubuntu; <a href="gnome.org">GNOME</a> , une interface qui vise a la
-simplicité; ou encore <a href="http://kde.org/">KDE</a>, une interface utilisateur ressemblant a
-Windows 7.</p>
-<p>Ainsi, le choix astronomique de distributions Linux a bien un sens :
-chacune d'entre elle intègre des outils différents. Par exemple, Debian
-intègre GNOME 2, qui est l'ancienne version de GNOME, ce qui la rend
-particulièrement stable. Ubuntu intègre Unity, ce qui en fait une
-distribution particulièrement intuitive. Linux Mint intègre Cinnamon,
-qui est une version dérivée de GNOME 3, ce qui permet encore une autre
-expérience. Et Arch Linux n'intègre pas d'interface graphique du tout,
-ce qui permet a l'utilisateur de choisir entre les multiples interfaces
-existantes.</p>
-<p>Ce qu'il est important de retenir de cela, c'est que Linux est un OS
-complètement libre, ce qui signifie que n'importe qui peut modifier et
-utiliser tout le code de Linux gratuitement et comme il l'entend. Ainsi,
-Linux est un OS qui est véritablement créé par des passionnés, pour tous
-et toutes. Surtout, il convient de retenir que Linux n'est pas compliqué
-a utiliser, ni a installer. Windows et Mac OS ne le sont pas non plus.
-Cependant, Linux donne la possibilité a l'utilisateur de le rendre
-affreusement complexe, mais aussi de le rendre adapté a ses besoins,
-quels que soient ceux ci. Et c'est la que réside l'incroyable puissance
-de ce Système d'Exploitation. Il est extraordinairement adaptable.</p>
-<p>N'hésitez donc pas a le présenter a vos proches, même s'ils ne sont pas
-technophiles. Ils pourraient adorer, et peut être même le devenir :)</p>
-<p>A bientôt!</p>
\ No newline at end of file
diff --git a/output/feeds/feed.tutorial.xml b/output/feeds/feed.tutorial.xml
deleted file mode 100644
index 5455714..0000000
--- a/output/feeds/feed.tutorial.xml
+++ /dev/null
@@ -1,368 +0,0 @@
-
-Wxcaféfile:///home/wxcafe/code/blog-source/output/2014-11-07T13:04:00+01:00OpenSMTPd comme serveur mail sous debian2014-11-07T13:04:00+01:00Wxcafétag:,2014-11-07:home/wxcafe/code/blog-source/output/posts/opensmtpd-debian/<p>J'avais dit il y a un certain temps que j'allais écrire un tutoriel expliquant
-comment gérer ses mails soi-même. Il se trouve que j'ai récemment décidé de
-changer le serveur qui héberge (entre autres) ce blog, et que ce dernier héberge
-aussi mes emails. J'ai donc totalement changé d'infrastructure quand a la
-gestion de mon système de mails.</p>
-<p>Ainsi, j'ai décidé de passer de Postfix a OpenSMTPd, changement que je voulais
-effectuer depuis un certain temps. <a href="https://opensmtpd.org">OpenSMTPd</a> est un
-projet originaire d'<a href="http://openbsd.org">OpenBSD</a> qui a pour but de fournir un
-serveur SMTP fiable, simple, rapide, et surtout sécurisé (les même buts que ceux
-qu'a le projet OpenBSD, globalement).</p>
-<p>Pour rappel, le système d'emails fonctionne d'une façon très simple : votre MUA
-(Mail User Agent, ou client email) contacte le MTA (Mail Transport Agent, ou
-serveur SMTP) de votre fournisseur email, qui contacte le MTA du fournisseur du
-destinataire, qui lui même contacte le MDA (Mail Delivery Agent) qui délivre le
-mail au destinataire.</p>
-<p>Si vous avez bien suivi, vous pouvez voir que je n'ai pas parlé de récupération
-ni de lecture des mails. C'est pour une raison simple, qui est que ces taches
-sont remplies par d'autres services encore (IMAP/POP pour la récupération depuis
-le serveur, des yeux pour la lecture).</p>
-<p>Or ce qui nous intéresse ici, ce n'est pas simplement d'envoyer et de recevoir
-des emails mais bien aussi de pouvoir les récupérer et les lire, et c'est pour
-ça que ce tutoriel ne parlera pas que d'OpenSMTPd mais aussi de
-<a href="http://dovecot.org/">Dovecot</a> qui fait office de serveur IMAP et
-<a href="http://www.ijs.si/software/amavisd/">amavis</a>/<a href="http://spamassassin.apache.org/">spamassassin</a>
-pour filtrer les mails entrants et sortants.
-Le schéma suivant explique la façon dont les mails sont gérés sur le système</p>
-<div class="highlight"><pre> <span class="err">╭────────────────╮</span> <span class="err">╭──────────╮</span>
- <span class="err">│╭──────────────</span><span class="o">></span><span class="err">│────</span><span class="o">></span> <span class="n">to</span> <span class="n">filter</span> <span class="err">───</span><span class="o">></span><span class="err">│─╮</span> <span class="err">│</span>
- <span class="n">mail</span> <span class="n">in</span> <span class="err">││</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">amavis</span> <span class="err">│</span>
-<span class="err">───────────</span><span class="o">></span><span class="err">│╯</span> <span class="n">OpenSMTPd</span> <span class="err">╭──│</span><span class="o"><</span><span class="err">───</span> <span class="n">from</span> <span class="n">filter</span><span class="o"><</span><span class="err">───│</span><span class="o"><</span><span class="err">╯</span> <span class="err">│</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╰──────────╯</span>
- <span class="n">mail</span> <span class="n">out</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╭──────────╮</span>
-<span class="o"><</span><span class="err">───────────│</span><span class="o"><</span><span class="err">────────────┴─</span><span class="o">></span><span class="err">│─────</span><span class="o">></span> <span class="n">to</span> <span class="n">MDA</span> <span class="err">─────</span><span class="o">></span><span class="err">│─────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">to</span> <span class="n">user</span><span class="err">'</span><span class="n">s</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">dovecot</span> <span class="err">│</span> <span class="n">mailbox</span>
- <span class="err">╰────────────────╯</span> <span class="err">╰──────────╯</span>
-</pre></div>
-
-
-<p>Normalement, ceci devrait être a peu près clair.
-Pour expliquer vite fait, les emails entrants (venant des utilisateurs mais
-aussi d'autres correspondants) sont transmis a OpenSMTPd, qui envoie tout a
-<code>amavis</code>, qui vérifie a la fois les spams et les malwares pour les mails
-venants de l'exterieur, et qui signe avec DKIM pour les mails venants de
-nos utilisateurs, puis qui rentransmet les mails filtrés/signés a OpenSMTPd,
-qui a ce moment-ci trie en fonction de la destination : les mails gérés
-par le domaine vont via dovecot dans les boites mail des destinataires
-locaux, les mails exterieurs vont directement vers le MTA du serveur
-distant.</p>
-<p>Voyons comment mettre cela en place. Tout d'abord, il faut décider de la façon
-dont les différents services vont communiquer.</p>
-<p>Déjà, amavis étant configuré par défaut pour écouter (en SMTP) sur le port
-10024 et répondre sur le port 10025 quand il s'agit de filtrer et
-écouter sur le port 10026 et répondre sur le port 10027 quand il s'agit de
-signer, nous allons profiter de cette configuration et donc lui parler en SMTP
-sur ces ports.</p>
-<p>Quand a Dovecot, nous allons lui transmettre les emails en LMTP (Local Mail
-Transfer Protocol), non pas sur un port mais via un socket (dans ce cas précis,
-<code>/var/run/dovecot/lmtp</code>).</p>
-<p>Ainsi, pour reprendre le schéma présenté plus haut :</p>
-<div class="highlight"><pre> <span class="err">╭───────────────╮</span> <span class="err">╭───────────╮</span>
- <span class="err">│╭─────────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10026</span><span class="p">)</span> <span class="err">──</span><span class="o">></span><span class="err">│─╮</span> <span class="err">│</span>
- <span class="n">SMTP</span> <span class="n">in</span> <span class="err">││</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">amavis</span> <span class="err">│</span>
-<span class="err">────────</span><span class="o">></span> <span class="mi">25</span><span class="err">│╯</span> <span class="n">OpenSMTPd</span> <span class="err">╭──│</span><span class="o"><</span><span class="err">──</span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10027</span><span class="p">)</span> <span class="o"><</span><span class="err">──│</span><span class="o"><</span><span class="err">╯</span> <span class="p">(</span><span class="n">sign</span><span class="p">)</span> <span class="err">│</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╰───────────╯</span>
- <span class="n">SMTP</span> <span class="n">out</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span>
-<span class="mi">25</span> <span class="o"><</span><span class="err">────────│</span><span class="o"><</span><span class="err">───────────╯</span> <span class="err">│</span>
- <span class="err">╰───────────────╯</span>
-</pre></div>
-
-
-<p>Pour les mails sortants; et</p>
-<div class="highlight"><pre> <span class="err">╭───────────────╮</span> <span class="err">╭────────────╮</span>
- <span class="err">│╭─────────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10024</span><span class="p">)</span> <span class="err">──</span><span class="o">></span><span class="err">│─╮</span> <span class="err">│</span>
- <span class="n">SMTP</span> <span class="n">in</span> <span class="err">││</span> <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">amavis</span> <span class="err">│</span>
-<span class="err">────────</span><span class="o">></span> <span class="mi">25</span><span class="err">│╯</span> <span class="n">OpenSMTPd</span> <span class="err">╭──│</span><span class="o"><</span><span class="err">──</span> <span class="n">SMTP</span> <span class="p">(</span><span class="mi">10025</span><span class="p">)</span> <span class="o"><</span><span class="err">──│</span><span class="o"><</span><span class="err">╯</span><span class="p">(</span><span class="n">filter</span><span class="p">)</span> <span class="err">│</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╰────────────╯</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="err">╭────────────╮</span>
- <span class="err">│</span> <span class="err">╰─</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">LMTP</span> <span class="p">(</span><span class="n">socket</span><span class="p">)</span> <span class="err">─</span><span class="o">></span><span class="err">│───────────</span><span class="o">></span><span class="err">│──</span><span class="o">></span> <span class="n">to</span> <span class="n">user</span><span class="err">'</span><span class="n">s</span>
- <span class="err">│</span> <span class="err">│</span> <span class="err">│</span> <span class="n">dovecot</span> <span class="err">│</span> <span class="n">mailbox</span>
- <span class="err">╰───────────────╯</span> <span class="err">╰────────────╯</span>
-</pre></div>
-
-
-<p>Pour les mails entrants.</p>
-<p>Maintenant que la théorie est claire, mettons en place tout cela. Je me baserai
-ici sur le fait que vous utilisiez une plateforme Debian ou OpenBSD. Pour
-d'autres plateformes, la configuration devrait être sensiblement la même</p>
-<p>(Vous aurez besoin de certificats SSL pour ce guide, même self-signés.
-Si vous ne savez pas comment en créer, vous pouvez aller voir <a href="http://wxcafe.net/posts/05/30/14/SSL-ou-la-securite-sur-internet/">ce
-post</a>)</p>
-<p>Tout d'abord, commençons par installer les programmes nécessaires :</p>
-<div class="highlight"><pre><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">opensmtpd</span> <span class="n">dovecot</span> <span class="n">dovecot</span><span class="o">-</span><span class="n">pigeonhole</span> <span class="n">amavisd</span><span class="o">-</span><span class="n">new</span> <span class="n">dovecot</span><span class="o">-</span><span class="n">managesieved</span>
-<span class="n">sudo</span> <span class="n">pkg_add</span> <span class="n">dovecot</span> <span class="n">dovecot</span><span class="o">-</span><span class="n">pigeonhole</span> <span class="n">amavisd</span><span class="o">-</span><span class="n">new</span>
-</pre></div>
-
-
-<p>Continuons en configurant OpenSMTPd tel que nous avons vu plus haut :</p>
-<p><code>/etc/smtpd.conf</code></p>
-<div class="highlight"><pre><span class="err">#</span> <span class="nx">This</span> <span class="nx">is</span> <span class="nx">the</span> <span class="nx">smtpd</span> <span class="nx">server</span> <span class="nx">system</span><span class="na">-wide</span> <span class="nx">configuration</span> <span class="nx">file.</span>
-<span class="err">#</span> <span class="nx">See</span> <span class="nx">smtpd.conf</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span> <span class="nb">for</span> <span class="nx">more</span> <span class="nx">information.</span>
-
-<span class="err">##</span> <span class="nx">Certs</span>
-<span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nx">certificate</span> <span class="s2">"/etc/certs/exem.pl.crt"</span>
-<span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">key</span> <span class="s2">"/etc/certs/exem.pl.key"</span>
-
-<span class="err">##</span> <span class="nx">Ports</span> <span class="k">to</span> <span class="nb">listen</span> <span class="k">on</span><span class="p">,</span> <span class="ow">and</span> <span class="nx">how</span> <span class="k">to</span> <span class="nb">listen</span> <span class="k">on</span> <span class="nx">them</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">eth0</span> <span class="nb">port</span> <span class="mi">25</span> <span class="nx">tls</span> <span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">hostname</span> <span class="nx">exem.pl</span> <span class="nb">auth</span><span class="na">-optional</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">eth0</span> <span class="nb">port</span> <span class="mi">465</span> <span class="nx">tls</span><span class="na">-require</span> <span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">hostname</span> <span class="nx">exem.pl</span> <span class="nb">auth</span> <span class="nx">mask</span><span class="na">-source</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">eth0</span> <span class="nb">port</span> <span class="mi">587</span> <span class="nx">tls</span><span class="na">-require</span> <span class="nx">pki</span> <span class="nx">exem.pl</span> <span class="nb">hostname</span> <span class="nx">exem.pl</span> <span class="nb">auth</span> <span class="nx">mask</span><span class="na">-source</span>
-
-<span class="err">##</span> <span class="nx">Aliases</span>
-<span class="nb">table</span> <span class="nx">aliases</span> <span class="nb">file</span><span class="p">:/</span><span class="nx">etc</span><span class="p">/</span><span class="nx">aliases</span>
-
-<span class="err">#</span> <span class="nx">coming</span> <span class="nb">from</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nb">checked</span> <span class="nb">for</span> <span class="nx">spam</span><span class="p">/</span><span class="nx">malware</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">lo</span> <span class="nb">port</span> <span class="mi">10025</span> <span class="kt">tag</span> <span class="nx">Filtered</span>
-<span class="err">#</span> <span class="nx">coming</span> <span class="nb">from</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nx">signed</span> <span class="k">with</span> <span class="nx">DKIM</span>
-<span class="nb">listen</span> <span class="k">on</span> <span class="nx">lo</span> <span class="nb">port</span> <span class="mi">10027</span> <span class="kt">tag</span> <span class="nx">Signed</span>
-
-<span class="err">##</span> <span class="nx">Receiving</span>
-<span class="err">#</span> <span class="k">if</span> <span class="nx">the</span> <span class="p">(</span><span class="nx">incoming</span><span class="p">)</span> <span class="nx">mail</span> <span class="nx">has</span> <span class="nx">been</span> <span class="nx">through</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nx">then</span> <span class="nx">we</span> <span class="nx">can</span> <span class="nx">deliver</span> <span class="nx">it</span>
-<span class="nb">accept</span> <span class="nx">tagged</span> <span class="nx">Filtered</span> <span class="nb">for</span> <span class="nb">any</span> <span class="nx">alias</span> <span class="o"><</span><span class="nx">aliases</span><span class="o">></span> <span class="nx">deliver</span> <span class="k">to</span> <span class="nx">lmtp</span> <span class="s2">"/var/run/dovecot/lmtp"</span>
-<span class="err">#</span> <span class="nx">we</span> <span class="nx">directly</span> <span class="nx">tranfer</span> <span class="nx">incoming</span> <span class="nx">mail</span> <span class="k">to</span> <span class="nx">amavisd</span> <span class="k">to</span> <span class="nx">be</span> <span class="nb">checked</span>
-<span class="nb">accept</span> <span class="nb">from</span> <span class="nb">any</span> <span class="nb">for</span> <span class="nx">domain</span> <span class="s2">"exem.pl"</span> <span class="nx">relay</span> <span class="nx">via</span> <span class="s2">"smtp://localhost:10024"</span>
-<span class="err">#</span> <span class="nx">we</span> <span class="nx">have</span> <span class="k">to</span> <span class="nx">put</span> <span class="nx">these</span> <span class="n">lines</span> <span class="k">in</span> <span class="nx">this</span> <span class="k">order</span> <span class="k">to</span> <span class="nx">avoid</span> <span class="nx">infinite</span> <span class="nx">loops</span>
-
-<span class="err">##</span> <span class="nx">Sending</span>
-<span class="err">#</span> <span class="k">if</span> <span class="nx">the</span> <span class="p">(</span><span class="nx">outgoint</span><span class="p">)</span> <span class="nx">mail</span> <span class="nx">has</span> <span class="nx">been</span> <span class="nx">through</span> <span class="nx">amavisd</span><span class="p">,</span> <span class="nx">then</span> <span class="nx">we</span> <span class="nx">can</span> <span class="nx">deliver</span> <span class="nx">it</span>
-<span class="nb">accept</span> <span class="nx">tagged</span> <span class="nx">Signed</span> <span class="nb">for</span> <span class="nb">any</span> <span class="nx">relay</span>
-<span class="err">#</span> <span class="nx">we</span> <span class="nx">tranfer</span> <span class="nx">the</span> <span class="nx">outgoing</span> <span class="nx">mail</span> <span class="k">to</span> <span class="nx">amavisd</span> <span class="k">to</span> <span class="nx">be</span> <span class="nx">signed</span>
-<span class="nb">accept</span> <span class="nb">for</span> <span class="nb">any</span> <span class="nx">relay</span> <span class="nx">via</span> <span class="s2">"smtp://localhost:10026"</span>
-<span class="err">#</span> <span class="nx">same</span><span class="p">,</span> <span class="nx">we</span> <span class="nx">have</span> <span class="k">to</span> <span class="nx">put</span> <span class="nx">these</span> <span class="n">lines</span> <span class="k">in</span> <span class="nx">this</span> <span class="k">order</span> <span class="ow">or</span> <span class="nx">infinite</span> <span class="nx">loops...</span>
-</pre></div>
-
-
-<p>Expliquons un peu ce fichier de configuration :</p>
-<ul>
-<li>Tout d'abord, le paragraphe nommé "Certs" contient les déclaration
- d'emplacement des certificats SSL.</li>
-<li>Ensuite, le paragraphe contenant les ports externes sur lesquels nous écoutons :
- port 25 avec TLS optionel et ports 465 et 587 avec TLS obligatoire</li>
-<li>Les alias sont définis juste après</li>
-<li>Le paragraphe suivant contient les ports locaux sur lesquels nous écoutons :
- 10025 (port de sortie du filtre de amavis) dont on taggue les mails sortants
- comme "Filtered" et 10027 (port de sortie des mails signés par amavis) dont on
- taggue les mails sortants comme "Signed"</li>
-<li>Nous avons ensuite le paragraphe qui traite les mails rentrants. Si le mail
- traité est taggué comme Filtered, alors il a été vérifié par amavis, et on
- peut donc le transmettre au destinataire. Sinon, c'est qu'il n'a pas encore
- été vérifié par amavis, donc on lui transmet pour analyse (sur le port 10024
- donc). Il est important de mettre les déclarations dans ce sens, car la
- première règle qui matche l'état du paquet est appliquée. Ici, la deuxième
- ligne matchant tous les mails arrivant et la première seulement ceux filtrés,
- inverser leur sens voudrait dire que les mails seraient toujours renvoyés a
- amavis</li>
-<li>Enfin, le dernier paragraphe traite les mails sortants. De la même façon que
- pour le paragraphe précédent, si le mail sortant est déjà taggué comme Signed
- on le transmet au MTA du destinataire, sinon il n'a pas encore été signé par
- DKIM par amavis et on le transmet donc a amavis pour qu'il le signe. Le
- problème de l'ordre des lignes se pose encore, pour la même raison qu'au
- dessus.</li>
-</ul>
-<p>Nous allons maintenant configurer dovecot. Comme nous l'avons vu, dovecot doit
-écouter en LMTP via la socket <code>/var/run/dovecot/lmtp</code> et transmettre les
-emails a la boite email de l'utilisateur. Il serait aussi interessant
-qu'il nous permette de récuperer les mails. Pour cette configuration, on ne
-mettra en place que du IMAPS. Cependant, si vous voulez mettre en place du
-POP3[s], différents guides sont trouvables facilement sur internet.</p>
-<p><code>/etc/dovecot/dovecot.conf</code></p>
-<div class="highlight"><pre><span class="cp">## Dovecot configuration file</span>
-
-<span class="cp"># basic config</span>
-<span class="n">info_log_path</span> <span class="o">=</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">log</span><span class="o">/</span><span class="n">dovecot</span><span class="o">-</span><span class="n">info</span><span class="p">.</span><span class="n">log</span>
-<span class="n">log_path</span> <span class="o">=</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">log</span><span class="o">/</span><span class="n">dovecot</span><span class="p">.</span><span class="n">log</span>
-<span class="n">log_timestamp</span> <span class="o">=</span> <span class="s">"%Y-%m-%d %H:%M:%S "</span>
-<span class="n">mail_location</span> <span class="o">=</span> <span class="n">maildir</span><span class="o">:%</span><span class="n">h</span><span class="o">/</span><span class="n">mail</span>
-
-<span class="cp"># authentication</span>
-<span class="n">passdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">pam</span>
-<span class="p">}</span>
-<span class="n">userdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">passwd</span>
-<span class="p">}</span>
-
-<span class="cp"># the protocols we use</span>
-<span class="n">protocols</span> <span class="o">=</span> <span class="n">imap</span> <span class="n">lmtp</span> <span class="n">sieve</span>
-
-<span class="cp"># ssl config</span>
-<span class="n">ssl_cert</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">exem</span><span class="p">.</span><span class="n">pl</span><span class="p">.</span><span class="n">cert</span>
-<span class="n">ssl_key</span> <span class="o">=</span> <span class="o"></</span><span class="n">etc</span><span class="o">/</span><span class="n">certs</span><span class="o">/</span><span class="n">exem</span><span class="p">.</span><span class="n">pl</span><span class="p">.</span><span class="n">key</span>
-<span class="n">ssl_cipher_list</span> <span class="o">=</span> <span class="n">HIGH</span><span class="o">+</span><span class="n">kEDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">+</span><span class="n">kEECDH</span><span class="o">:</span><span class="n">HIGH</span><span class="o">:!</span><span class="n">PSK</span><span class="o">:!</span><span class="n">SRP</span><span class="o">:!</span><span class="mi">3</span><span class="n">DES</span><span class="o">:!</span><span class="n">aNULL</span>
-<span class="n">ssl</span> <span class="o">=</span> <span class="n">yes</span>
-
-<span class="cp">## configuring services </span>
-<span class="cp"># disables imap login without SSL (yes dovecot is dumb that way)</span>
-<span class="n">service</span> <span class="n">imap</span><span class="o">-</span><span class="n">login</span> <span class="p">{</span>
- <span class="n">inet_listener</span> <span class="n">imap</span> <span class="p">{</span>
- <span class="n">port</span><span class="o">=</span><span class="mi">0</span>
- <span class="p">}</span>
-<span class="p">}</span>
-
-<span class="n">service</span> <span class="n">lmtp</span> <span class="p">{</span>
- <span class="n">unix_listener</span> <span class="n">lmtp</span> <span class="p">{</span>
- <span class="n">mode</span> <span class="o">=</span> <span class="mo">0666</span>
- <span class="p">}</span>
-<span class="p">}</span>
-
-<span class="cp">## configuring protocols</span>
-<span class="cp"># the dovecot lda, we set it to use sieve</span>
-<span class="n">protocol</span> <span class="n">lda</span> <span class="p">{</span>
- <span class="n">mail_plugins</span> <span class="o">=</span> <span class="err">$</span><span class="n">mail_plugins</span> <span class="n">sieve</span>
-<span class="p">}</span>
-
-<span class="n">protocol</span> <span class="n">lmtp</span> <span class="p">{</span>
- <span class="n">postmaster_address</span> <span class="o">=</span> <span class="n">whoever</span><span class="err">@</span><span class="n">exem</span><span class="p">.</span><span class="n">pl</span>
- <span class="n">mail_plugins</span> <span class="o">=</span> <span class="err">$</span><span class="n">mail_plugins</span> <span class="n">sieve</span>
-<span class="p">}</span>
-
-<span class="n">plugin</span> <span class="p">{</span>
- <span class="n">sieve</span> <span class="o">=</span> <span class="o">~/</span><span class="p">.</span><span class="n">dovecot</span><span class="p">.</span><span class="n">sieve</span>
- <span class="n">sieve_dir</span> <span class="o">=</span> <span class="o">~/</span><span class="n">sieve</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p><strong>ATTENTION: Sous OpenBSD, remplacez</strong></p>
-<div class="highlight"><pre><span class="n">passdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">pam</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p><strong>par</strong></p>
-<div class="highlight"><pre><span class="n">passdb</span> <span class="p">{</span>
- <span class="n">driver</span> <span class="o">=</span> <span class="n">bsdauth</span>
-<span class="p">}</span>
-</pre></div>
-
-
-<p><strong>pour identifier les utilisateurs système</strong></p>
-<p>Ici aussi, voyons comment ce fichier est structuré :</p>
-<ul>
-<li>Tout d'abord, les configurations de base : ou iront les logs, comment formater
- leur datation, et l'endroit ou seront stockés les mails des utilisateurs.</li>
-<li>Nous configurons ensuite la gestion de l'authentification des utilisateurs.
- Ici nous identifions les utilisateurs avec le fichier /etc/passwd et leurs
- mots de passe avec PAM (ou BSDAuth)</li>
-<li>Nous configurons ensuite les protocoles que nous servons. Ici, nous voulons de
- l'IMAPS, du LMTP local et Sieve (qui sert pour trier les messages).</li>
-<li>Nous configurons le SSL</li>
-<li>Le section suivante contient la configuration des services. Nous avons en
- premier lieu le service IMAP, dont la configuration sert uniquement a
- désactiver IMAP. En effet, dovecot ne permet d'activer IMAPS qu'en activant
- IMAP avec. Comme nous ne voulons pas d'IMAP sans SSL, nous le désactivons.
- La configuration de lmtp sert a attribuer des permissions plus correctes au
- fifo qu'il utilise</li>
-<li>Nous configurons maintenant les protocoles, pour faire fonctionner Sieve</li>
-<li>enfin, nous configurons le plugin sieve en lui indiquant quel fichier et
- quel dossier utiliser pour sa configuration.</li>
-</ul>
-<p>Enfin, il nous reste a configurer amavis. Comme expliqué, amavis va nous servir
-a deux choses : signer les emails sortants, et filtrer les emails entrants. Il
-doit donc écouter sur les port 10026 pour les signatures et 10024 pour le
-filtrage, et répondre respectivement sur les ports 10027 et 10025 (le tout, en
-SMTP. Comme toutes les transactions se font sur le loopback, il n'y a aucun
-risque a utiliser des protocoles non chiffrés.
-Pour OpenBSD, pensez a copier la configuration par défaut depuis
-<code>/usr/local/share/examples/amavisd-new/amavisd.conf</code> et ajoutez les
-modifications nécessaires a la fin du fichier.</p>
-<p><code>/etc/amavis/conf.d/99-local.conf</code> (debian)
-<code>/etc/amavis.conf</code> (OpenBSD)</p>
-<div class="highlight"><pre><span class="n">use</span> <span class="n">strict</span><span class="p">;</span>
-
-<span class="err">$</span><span class="n">enable_dkim_verification</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
-<span class="err">$</span><span class="n">enable_dkim_signing</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
-<span class="n">dkim_key</span><span class="p">(</span><span class="s">"exem.pl"</span><span class="p">,</span> <span class="s">"main"</span><span class="p">,</span> <span class="s">"/etc/certs/dkim.key"</span> <span class="p">);</span>
-
-<span class="err">@</span><span class="n">dkim_signature_options_bysender_maps</span> <span class="o">=</span> <span class="p">(</span>
- <span class="p">{</span> <span class="sc">'.'</span> <span class="o">=></span>
- <span class="p">{</span> <span class="n">ttl</span> <span class="o">=></span> <span class="mi">21</span><span class="o">*</span><span class="mi">24</span><span class="o">*</span><span class="mi">3600</span><span class="p">,</span> <span class="n">c</span> <span class="o">=></span> <span class="err">'</span><span class="n">relaxed</span><span class="o">/</span><span class="n">simple</span><span class="err">'</span> <span class="p">}</span>
- <span class="p">}</span>
-<span class="p">);</span>
-
-<span class="err">$</span><span class="n">inet_socket_port</span> <span class="o">=</span> <span class="p">[</span><span class="mi">10024</span><span class="p">,</span> <span class="mi">10026</span><span class="p">];</span>
-<span class="err">$</span><span class="n">policy_bank</span><span class="p">{</span><span class="err">'</span><span class="n">MYNETS</span><span class="err">'</span><span class="p">}</span> <span class="o">=</span> <span class="p">{</span>
- <span class="n">originating</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">os_fingerprint_method</span> <span class="o">=></span> <span class="n">undef</span><span class="p">,</span>
-<span class="p">};</span>
-
-<span class="err">$</span><span class="n">interface_policy</span><span class="p">{</span><span class="err">'</span><span class="mi">10026</span><span class="err">'</span><span class="p">}</span> <span class="o">=</span> <span class="err">'</span><span class="n">ORIGINATING</span><span class="err">'</span><span class="p">;</span>
-
-<span class="err">$</span><span class="n">policy_bank</span><span class="p">{</span><span class="err">'</span><span class="n">ORIGINATING</span><span class="err">'</span><span class="p">}</span> <span class="o">=</span> <span class="p">{</span>
- <span class="n">originating</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">allow_disclaimers</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">virus_admin_maps</span> <span class="o">=></span> <span class="p">[</span><span class="s">"root\@$mydomain"</span><span class="p">],</span>
- <span class="n">spam_admin_maps</span> <span class="o">=></span> <span class="p">[</span><span class="s">"root\@$mydomain"</span><span class="p">],</span>
- <span class="n">warnbadhsender</span> <span class="o">=></span> <span class="mi">1</span><span class="p">,</span>
- <span class="n">forward_method</span> <span class="o">=></span> <span class="err">'</span><span class="n">smtp</span><span class="o">:</span><span class="n">localhost</span><span class="o">:</span><span class="mi">10027</span><span class="err">'</span><span class="p">,</span>
- <span class="n">smtpd_discard_ehlo_keywords</span> <span class="o">=></span> <span class="p">[</span><span class="err">'</span><span class="mi">8</span><span class="n">BITMIME</span><span class="err">'</span><span class="p">],</span>
- <span class="n">bypass_banned_checks_maps</span> <span class="o">=></span> <span class="p">[</span><span class="mi">1</span><span class="p">],</span>
- <span class="n">terminate_dsn_on_notify_success</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span>
-<span class="p">};</span>
-
-<span class="cp">#------------ Do not modify anything below this line -------------</span>
-<span class="mi">1</span><span class="p">;</span> <span class="err">#</span> <span class="n">ensure</span> <span class="n">a</span> <span class="n">defined</span> <span class="k">return</span>
-</pre></div>
-
-
-<p>A nouveau, expliquons ce fichier :
-- le premier paragraphe définit que nous voulons qu'amavis signe les emails
- sortants, vérifie la signature DKIM des emails rentrants, et l'endroit ou se
- trouve la clé privée servant a signer les emails.
-- le second définit les options DKIM que nous souhaitons utiliser comme défaut.
- Je vous invite a consulter la <a href="https://tools.ietf.org/html/rfc4871">RFC 4871</a>
-- nous définissons ensuite les ports sur lesquels nous allons écouter, puis les
- paramètres que nous utiliserons pour les emails venant de nos utilisateurs :
- ils seront traités comme "originating" et nous ne vérifierons pas l'OS duquel
- ils viennent.
-- nous savons que les emails venants du port 10026 sont sortants, nous les
- traitons donc comme tel
-- le paragraphe suivant décrit le traitement que nous faisons subir aux emails
- sortants : tout d'abord, nous réaffirmons qu'ils viennent bien de notre
- serveur. Nous autorisons les disclaimers (voire encore une fois la <a href="https://tools.ietf.org/html/rfc4871">RFC
- 4871</a>. Nous déclarons l'adresse a
- prévenir en cas de spam/virus venants de notre système, et que nous voulons
- être prévenus. Nous déclarons ou envoyer les mails une fois signés et filtrés,
- puis qu'il est nécessaire de convertir les emails au format 7 bits avant de
- les envoyer au MTA, que nous autorisons tous les types et noms de fichiers, et
- les notifications de succès d'envoi. Et voila!</p>
-<p>Vous avez pu remarquer qu'a aucun moment nous ne configurions ni la signature
-des emails sortants ni le filtrage des emails entrants. Ces paramètres sont en
-fait inclus par défaut dans amavis.</p>
-<p>Il nous reste cependant quelques opérations a faire, encore.
-Tout d'abord, il nous faut générer notre clé DKIM. Pour cela, il existe
-différentes méthodes, j'ai personnellement utilisé opendkim (<a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy">un
-tutorial</a>)
-mais de nombreuses autre méthodes existent.
-Il nous reste encore a configurer spamassassin :</p>
-<div class="highlight"><pre><span class="cp">#rewrite_header Subject *****SPAM*****</span>
-<span class="cp"># report_safe 1</span>
-<span class="n">required_score</span> <span class="mf">2.0</span>
-<span class="cp"># use_bayes 1</span>
-<span class="cp"># bayes_auto_learn 1</span>
-<span class="cp"># bayes_ignore_header X-Bogosity</span>
-<span class="cp"># bayes_ignore_header X-Spam-Flag</span>
-<span class="cp"># bayes_ignore_header X-Spam-Status</span>
-<span class="n">ifplugin</span> <span class="n">Mail</span><span class="o">::</span><span class="n">SpamAssassin</span><span class="o">::</span><span class="n">Plugin</span><span class="o">::</span><span class="n">Shortcircuit</span>
-<span class="cp"># shortcircuit USER_IN_WHITELIST on</span>
-<span class="cp"># shortcircuit USER_IN_DEF_WHITELIST on</span>
-<span class="cp"># shortcircuit USER_IN_ALL_SPAM_TO on</span>
-<span class="cp"># shortcircuit SUBJECT_IN_WHITELIST on</span>
-<span class="cp"># shortcircuit USER_IN_BLACKLIST on</span>
-<span class="cp"># shortcircuit USER_IN_BLACKLIST_TO on</span>
-<span class="cp"># shortcircuit SUBJECT_IN_BLACKLIST on</span>
-<span class="n">shortcircuit</span> <span class="n">ALL_TRUSTED</span> <span class="n">off</span>
-<span class="cp"># shortcircuit BAYES_99 spam</span>
-<span class="cp"># shortcircuit BAYES_00 ham</span>
-
-<span class="n">endif</span> <span class="err">#</span> <span class="n">Mail</span><span class="o">::</span><span class="n">SpamAssassin</span><span class="o">::</span><span class="n">Plugin</span><span class="o">::</span><span class="n">Shortcircuit</span>
-</pre></div>
-
-
-<p>Comme vous pouvez le voir, les modifications se résument globalement a baisser
-le required_score pour ma part.</p>
-<p>Pour finir, activez les services nécessaires : opensmtpd, dovecot, amavisd, et
-spamassassin, et tout devrait fonctionner parfaitement</p>
-<p>Bon courage pour votre hosting de mail ensuite...</p>
\ No newline at end of file
diff --git a/output/index3.html b/output/index3.html
deleted file mode 100644
index 1171ba5..0000000
--- a/output/index3.html
+++ /dev/null
@@ -1,1271 +0,0 @@
-
-
-
-
- Wxcafé
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Archlinux est réputée être une distribution Linux très complexe a
-installer et a maintenir.
-
Je vais tenter ici de vous convaincre que ce n'est pas le cas, et
-qu'elle peut se monter très intéressante et très instructive a installer
-tout autant qu'a utiliser.
-
Il convient tout d'abord de rappeler a quels principes obéit Arch:
-
-
-
Le KISS : Keep It Simple and Stupid, Archlinux tente de faire des
- programmes simples et utilisables par tous. Avec comme base de
- simplicité les utilisateurs de LFS... Mais il n'empêche qu'avec un peu
- de bonne volonté, la configuration n'est pas si compliquée!
-
-
-
La philosophie UNIX : chaque programme est prévu pour ne remplir
- qu'une seule tâche. Bien entendu, cela ne concerne que les programmes
- conçus pour s’insérer dans la philosophie UNIX, et les installations de
- dépendances avec le gestionnaire de paquet d'Arch fonctionnent
- superbement bien.
-
-
-
De plus, posons les bases d'Arch : le gestionnaire de paquets s'appelle
-pacman, et les commandes de base sont :
-
-
-
recherche d'un paquet :
-
pacman-Sspaquet
-
-
-
-
-
-
installation d'un paquet :
-
sudopacman-Spaquet
-
-
-
-
-
-
désinstallation d'un paquet :
-
sudopacman-Rpaquet
-
-
-
-
-
-
mise a jour de tous les paquets installés :
-
sudopacman-Syupaquet
-
-
-
-
-
-
Archlinux est une distribution dite "rolling release", ce qui signifie
-qu'il n'y a pas de version a proprement dites, et que les paquets se
-mettent a jour en permanence, sans jamais changer la "version" d'Arch.
-Il n'y a d'ailleurs qu'une seule version de l'installeur sur le site,
-puisqu'une version plus ancienne n'aurait aucun sens.
-
Arch n'offre pas d'interface graphique par défaut : après avoir installé
-le système, vous n'aurez qu'une invite de commande. Heureusement, je
-vais ici vous guider a travers l'installation d'une interface graphique
-(mate, le fork de gnome 2)
-
L'installation d'Arch se fait par le réseau, veillez a avoir une
-connection WiFi ou filaire a proximité avant de suivre ce guide.
-
Ce guide utilise SystemV, alors qu'Arch va prochainement passer sous
-systemd. N'ayant pas encore eu le temps d’expérimenter assez avec ce
-dernier, je ferais un tutoriel pour passer votre Arch a systemd bientôt.
-
Bon, passons a l'explication de l'installation proprement dite :
-
Tout d'abord, téléchargeons l'iso d'arch la plus récente :
Et voila, l'installation est terminée! Plus qu'a quitter la session et a
-redémarrer l'ordinateur!
-
exit
-umount/mnt/home
-umount/mnt
-reboot
-
-
-
-
Fini!
-
Prenons une petite pause. La partie suivante de ce tutoriel consister en
-un paramétrage des principaux services nécessaires a l'utilisation d'un
-OS, disons, moyen :
Installation de sudo et de networkmanager pour faire fonctionner les
-composants essentiels du système sans avoir a tout activer a la main a
-chaque démarrage
-
-
-
Installation de SLiM comme gestionnaire de login graphique, pour
-présenter une interface plus accueillante que la console, et
-configuration de celui-ci
-
-
-
Installation des principaux logiciels utiles non inclus dans mate ni
-base (yaourt, chromium, thunderbird, etc...).
-
-
-
Ce guide est bien sur optionnel, si vous souhaitez utiliser Arch avec un
-gestionnaire de bureau autre que mate, ou sans, vous pouvez vous arrêter
-ici.
-
Bon, reprenons.
-
Nous sommes donc sur une demande de mot de passe. Entrez donc le mot de
-passe paramétré plus haut pour le root, puis retapez la commande
-utilisée plus tôt pour vous connecter a internet.
-
Il convient d'ajouter le dépôt de MATE pour installer ce dernier, puis
-d'effectuer l'action en question :
Sinon, il est possible de juste redémarrer.
-Une fois cela fait, profitez de ce moment pour vous autoriser vous même
-a utiliser sudo. Loggez vous en root, et :
-
vim/etc/sudoers
-
-
-
-
Décommentez la ligne qui commence par # %wheel ALL=(ALL)
-Sauvegardez le fichier, puis, après un su *votrenom*, tentez de faire
-un sudo ls /
-Normalement, vous devriez avoir un listing du dossier /
-Bon, maintenant, pourquoi ne pas tenter de lancer MATE?
-C'est simple comme bonjour :
-
startx
-
-
-
-
Et PAF! Voila un MATE desktop flambant neuf a configurer!
-Avant de faire ça, retournez sur un TTY (CTRL+ALT+Fx), loggez vous,
-puis installez SLiM (sudo pacman -Syu slim).
-Configurons le:
Éditez la ligne
-"sessions xfce4,icewm-session,wmaker,blackbox" de facon a
-ce qu'elle ressemble a "sessions mate-session"
-Puis ajoutez slim dans /etc/rc.conf, dans la section DAEMONS.
-Normalement, tout devrait fonctionner!
-Ah oui, et pour installer thunderbird, firefox, chromium, etc...
Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
-avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
-connaissez surement NTFS, EXT4, ou encore FAT32.
-
Ces différents noms désignent en effet des systèmes de fichiers. Mais
-qu'est-ce qu'un système de fichiers?
-
Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
-fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
-plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
-(kibioctet), en fonction du système de fichier utilisé.), qui est
-donc composé de bits, interprétés différemment en fonction du type de
-fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
-n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
-ou il commence ni où il s'arrête (je schématise un peu, mais c'est
-l'idée).
-
Ainsi, le système de fichier donne un cadre et un standard à
-l'arborescence des fichiers. Par exemple, le système de fichier ext4
-utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
-disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
-et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
-de fichiers nécessitent l'inclusion de drivers dans le noyau pour
-pouvoir être pris en compte.
-
Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
-reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
-près tout type de partition récente.
-
Il convient de bien faire la différence entre le système de fichier et
-l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
-une entité virtuelle englobant la racine / et tous les fichiers et
-dossiers contenus dedans, le système de fichier permet a votre système
-GNU/Linux de distinguer les différents fichiers composants cette
-arborescence.
-
Détaillons maintenant les types de fichiers les plus répandus:
-
-
-
FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
- soit la définition d'un système de fichier), remplissent leur rôle le
- plus simplement possible. Ne permettant (historiquement) que des noms de
- 8 caractères (plus extension de trois caractères), ni chiffrement, ni
- système de distinction d'utilisateurs (DOS étant un système
- mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
- utlisants respectivement des blocs de 16 et 32 Kio.
-
-
-
NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
- NT) est un système de fichier qui est apparu avec Windows XP, et qui
- était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
- FAT différentes capacités dont le chiffrement, les liens symboliques, la
- compression et les quotas pour les volumes, permettant de limiter la
- taille maximum occupée dans une partition.
-
-
-
ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
- Ne différant pas énormément de NTFS, je le mentionne principalement
- parce qu'il est prévu qu'il soit le défaut pour Windows 8.
- Il apporte principalement la redondance, c'est a dire que chaque
- fichier possède une somme de contrôle en 64 bits stockée dans un fichier
- séparé pour éviter les corruption de disque.
-
-
-
Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
- les plus utilisés sous linux pour le grand public. (Je traiterai ici
- d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
- fonctions que l'on peut attendre d'un système de fichiers moderne, ni
- plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
- acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
- "par extent", ce qui signifie que la création d'un fichier réserve
- automatiquement les zones contiguës de façon a réduire la fragmentation.
-
-
-
ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
- programmeur Hans Reiser, est a retenir pour avoir été le premier système
- de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
- 4 milliards. Le but de ce système est de créer un système polyvalent, a
- la fois système de fichiers et base de donnée (de part sa grande
- capacité en terme de nombre de fichiers et de l'utilisation d'un
- journal.)
-
-
-
Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
- l'allocation par extent, mais possède de plus un système de
- sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
- montées en même temps (système pratique et utile pour faire des
- snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
- taille des partitions, en les agrandissant ou en les rétrécissant, est
- compatible avec LVM, a un système de checking intégré (btrfsck), et
- utilise un algorithme de compression appelé LZ4, qui accélère les accès
- aux fichiers compressés d'environ 30% par rapport a LZO, le système
- utilisé dans ext4.
-
-
-
HFS+ : le système de fichier présent sur tous les macs a des capacités
- relativement standards, et ressemble énormément a l'ext3. Il supporte
- cependant les liens directs vers les dossiers, fonction rare sur les
- systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
- dans les années a venir
-
-
-
ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
- et *BSD, est, tel Btrfs, a la fois un système de fichier et un
- remplaçant/compatible avec LVM, C'est un système de fichiers conçu
- principalement pour les serveurs, et il intègre ainsi un système de
- redondance des données pour éviter les corruptions, un mode RAID-Z
- (apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
- etc...
-
-
-
Comme on a pu le voir, les systèmes de fichiers disponibles sont
-légions. Cependant, le plus adapté a Linux et a une utilisation grand
-public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
-n'est pas aujourd'hui proposé par défaut sur les distributions les plus
-utilisées, au profit de l'ext4, qui commence a accuser son âge...
-
Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
-fonctionnement du système, sont en fait de première importance, et ce
-choix ne devrait pas être laissé au hasard, et être mis a jour
-régulièrement (pour éviter les failles de sécurité...)
-
Bon courage, et bon choix pour votre prochain système.
Le Quenya est, pour ceux qui ne connaissent pas (comme moi jusqu’à il y
-a peu...), le nom que donnait Tolkien au dialecte principal parlé par
-les Elfes dans les différentes œuvres de l'auteur, dont Le Seigneur des
-Anneaux, le Hobbit, ou encore le Silmarillion. Il faut se rendre compte
-avant de commencer cet article que l'une des œuvres les plus
-impressionnantes de Tolkien, si ce n'est la plus grande, est
-l'impressionnant travail linguistique passé sur les différentes langues
-présentes dans son œuvre littéraire : L'elfique, qui est donc le quenya,
-la langue des nains, qui est appelé le khazalide, etc.
-
En effet, a contrario des "langues" développées dans d'autres œuvres littéraires
-telles Eragon ou Harry Potter, où l'auteur-e se contente de lier un mot
-de français (ou d'anglais) a un mot de sa "langue", les langues de
-l'oeuvre de Tolkien sont des langues complètes. Elles possèdent des
-racines logiques, des systèmes de grammaire et de conjugaison propres,
-une logique inhérente dans la prononciation ou l'orthographe, et ainsi
-de suite.
-
Un véritable rêve de linguiste donc, puisque ces langues sont
-pratiquement entièrement documentées par Tolkien lui même (voir
-l'appendice E du SdA, particulièrement instructif a ce sujet.)
-
J'ai donc décidé d'apprendre le Quenya récemment, et je vais donc poster
-ici des résumés des cours que je suis ( disponibles ici , une
-traduction en français est disponible la en pdf ), et des infos ici
-toutes les deux semaines.
-
Si ce sujet vous intéresse, le compte twitter @Quenya101 poste
-régulièrement des informations sur le sujet, et pour plus d'infos sur le
-sujet, vous pouvez en trouver par ici.
-
Et en tant que première leçon, vous pouvez apprendre que ce mot que vous
-avez prononcé comme le Kenya tout le long de cet article se prononce en
-fait [Kwenïa], ou bien Qwenya!
Bonsoir! Un petit post pour faire un peu le point sur ce blog.
-Comme vous avez pu le remarquer, j'ai un peu de mal a tenir les délais
-que je m'étais fixés pour ce blog (un post tous les 8 jours), et après y
-avoir un tantinet réfléchi, ceci est du a deux points principaux :
-
-
-
Tout d'abord, le manque d'inspiration, tout simplement. C'est assez
-compliqué de trouver des sujets intéressants liés a l'informatique, et
-qui méritent un article. Je vous invite d'ailleurs a me suggérer des
-sujets via les commentaires ou twitter (@Wxcafe)
-
-
-
Ensuite, le délai de 8 jours est trop court pour me permettre de faire
-les recherches nécessaires, tout en manageant mes cours et mon temps
-libre.
-
-
-
A cause de cela, j'ai pris la décision de changer le rythme de parution
-des articles a un *minimum* d'un post tous les 10 jours. Bien entendu,
-si j'ai de l'inspiration en trop, plus de posts sont envisageables.
-
Voila. A part ca, je tiens a vous remercier de me lire (c'est assez
-étonnant de voir ca...), et je précise que je vais ajouter une page
-About Me, qui bien entendu rassemblera des informations sur moi, ma vie,
-mon oeuvre :P
-
Ceci dit, je vais bosser un peu sur le prochain article.
L’interpréteur de commandes bash (Bourne Again SHell)
-est possiblement le shell le plus connu, notamment grâce a son
-intégration en tant que shell par défaut dans les distributions Linux
-les plus répandues (Debian - Ubuntu, Fedora, OpenSUSE, Mandriva -
-Mageia, etc...).
-
Cependant, il n'est souvent connu qu'en tant qu’interpréteur de
-commande. Alors qu'en réalité, le bash est un langage de programmation
-(presque) complet! Ainsi, il intègre les structures de contrôle
-habituelles ( pour mémoire, les structures de contrôle comprennent les
-conditions (les ifs), les boucles (les while), et les choix (les case),
-entre autres.), et est donc ce que l'on pourrait appeler un langage de
-script, interprété, de la même façon que python, a la difference près
-qu'il contient un prompt (un système d'entrée de commande interactif)
-bien plus complet et développé que python.
-
Cependant, les programmes en bash ne sont executables que dans un
-environnement de type UNIX, et donc pas sous Windows (cygwin
-(cygwin.com) propose ceci dit un système permettant d'utiliser bash sous
-windows. Il faut malgré tout convenir que cet environnement est bien
-plus compliqué a manipuler, et globalement ne permet pas d'acceder a des
-portages de qualité satisfaisante.)
-
Ainsi, il est possible de créer des fichiers .sh, contenant des
-instructions bash mises a la suite (de la même façon qu'un script BATCH
-Windows .bat), et faisant appel autant aux commandes internes de bash,
-aussi bien que les commandes externes mises en place par les programmes
-installés sur le système, exactement comme dans une invite de commande.
-Ainsi, pour appeller firefox, la commande 'firefox' lancera le petit
-panda roux directement dans la boite magique, tandis qu'un if
-[condition] suivi d'un then (quelque chose) lancera le fameux quelque
-chose suscité si la condition est vérifiée. Un peu comme en C, quoi.
-
De cette façon, et avec quelques informations et connaissances, il est
-facile de comprendre le fonctionnement de la programmation en bash.
-Quelques exemples commentés:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
#!/bin/bash
-# La ligne du dessus est très importante, c'est elle qui dit a bash quel doit être
-# l'interpreteur des commandes écrites dans ce script. Ici, on dit a bash d'interpréter
-# lui même les commandes comprises dans ce script. On aurait tout de fois pu lui faire
-# executer du python, par exemple, en mettant #!/usr/bin/python a la place.
-echo"this is a test of bash as a simple script manager"# echo est une commande d'affichage de message.
-echo"what's your name, user?"
-read your_name # la commande read permet de demander a l'utilisateur de donner une
-# information, stockée dans la variable en paramètre.
-echo$your_name"is your name"# echo permet aussi d'afficher la valeur de variables.
-# Ici, on renvoie la variable remplie précédemment, suivie d'un message.
-exit# cet appel a exit n'est pas obligatoire, mais donne un aspect plus
-# propre au code. Il ne quittera pas la session de terminal, cependant.
-
-
-
-
Voila. Ce script bash ne sert pas a grand chose, mais il a le mérite
-d'être clair quand aux capacités et a la simplicité du bash en tant que
-language de programmation. Alors en effet, nous n'avons ici absolument
-pas utilisé les capacités de bash en lui même, et n'avons fait que le
-renvoyer a des programmes externes (sauf read, il est vrai). Voyons
-maintenant la syntaxe de bash quand il s'agit d'utiliser les structures
-de contrôle:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
#!/bin/bash
-echo"welcome to this second bash program. would you please kindly enter the name of the machine you're running this on?"
-read host_name
-if[$host_name==$HOSTNAME]## voici la syntaxe du if. Attention a bien penser a mettre les espaces avant la première variable, et après la seconde. La variable $HOSTNAME ici utilisée est une variable présente par défaut sur le système.
-then echo"you told the truth!"
-fi## le fi est la commande fermant le if, tout comme le EndIf en basic. C'est un peu vieillot, mais important en bash.
-if[$host_name !=$HOSTNAME]## l'opérateur != est l'inverse de ==, il vérifie donc si les deux variables ne sont pas les mêmes.
-then echo"you lied!"
-fi
-exit
-
-
-
-
Voila un petit programme permettant d'apprendre la syntaxe du if en
-bash. comme vous pouvez le voir, le language est plutôt lite, et la
-structure if n'est pas très difficile a prendre en main.
-
Passons maintenant au while:
-
1
-2
-3
-4
-5
-6
-7
#!/bin/bash
-echo"what is your name?"
-read name
-while[ 1 < 10 ]## le while se présente sous la forme while (truc); do (machin); done. Les [] sont en fait des programmes differents, inclus dans bash.
-do echo"i love"$name
-done
-exit
-
-
-
-
Ce petit programme permet d'observer les bases de while (qui est la
-boucle de base en bash).
#!/bin/bash
-echo"please enter a number between one and five"
-read number
-case$number in
-1)
-echo"the choosen number was one"
-;;
-2)
-echo"the choosen number was two"
-;;
-3)
-echo"the choosen number was three"
-;;
-4)
-echo"the choosen number was four"
-;;
-5)
-echo"the choosen number was five"
-;;
-*)
-echo"this number is not correct"
-;;
-esac
-exit
-
-
-
-
case est un opérateur plus complexe a utiliser a bon escient, et sert a
-faire des ifs multiples sans avoir a taper des dizaines de lignes de
-code.
-(pour ceux qui auraient du mal avec cet opérateur, il faut comprendre
-que le code vérifie chacune des conditions : le 1) est validé si la
-valeur de \$number est 1, le 2) est validé si cette valeur est 2, etc..
-le *) désigne toutes les valeurs, et est donc validé si aucune autre
-valeur n'a précédemment acceptée.
-
Quelques notions manquent ici:
-- les nombres aléatoires sont générés par un appel a la variable
-\$RANDOM, qui renvoie un nombre aléatoire entre 0 et 32767 (un entier a
-16 bits donc). il est possible de faire des invocations a des nombres
-aléatoires plus grands, mais les méthodes permettant de faire cela sont
-plus complexes, et je ne les aborderai donc pas ici.
-- comme vous avez pu le constater, les variables sont désignées en tant
-que telles par l'utilisation d'un symbole \$ au début de leur nom.
-Ainsi, echo number renverra "number", tandis que echo \$number renverra
-le résultat de la variable \$number.
-être utilisées dans un programme bash.
-- comme vous avez pu le constater, les commandes doivent tenir en
-théorie en une ligne. Cependant, le caractère \ permet de retourner a
-la ligne en faisant considérer a bash qu'il s'agit de la même ligne.
-
Globalement, il faut admettre que bash n'a pas vocation a être un
-langage de programmation extrêmement développé. Sans framework
-graphique, avec peu de manières d'utiliser de grandes variables, ou
-encore une gestion de la mémoire risible, bash n'a rien d'un langage de
-développement professionnel.
-Cependant, le simple fait qu'il soit considéré comme un langage de
-programmation a part entière font de lui un langage de script d'une
-puissance incontestable, et sa simplicité et sa grande popularité font
-de lui un langage de choix pour apprendre la programmation simplement et
-sans trop se prendre la tête.
-
J'espère que cet article aura été utile a certain-e-s, et je vous
-souhaite bonne chance dans votre découverte de la programmation (n'allez
-pas voir ceux qui font de l'orienté objet, c'est des méchants :3)
Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques
-années (plus ou moins, parce que j'ai toujours un Windows en dual boot,
-principalement pour les jeux (possiblement plus pour longtemps, avec
-l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou
-moins bien mon système. Or il y a plusieurs choses a savoir sur les
-systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est
-le système de couches.
-
Un système d'exploitation (de type UNIX, \<troll>enfin un vrai système quoi.
-\</troll>) incorpore plusieurs systèmes de couches.
-
Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique,
-c'est a dire que tous les composants sont intégrés au kernel. Ce qui
-signifie que rien ne peut être ajouté au noyau sans recompiler celui ci.
-Or, quand on sait que le noyau comprend entre autres les drivers du
-matériel et des systèmes de fichier, cela peut poser des problèmes quand
-a la taille du kernel et a la licence libre de ce dernier.
-
Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui
-signifie que des modules peuvent être chargé a tout moment en cours
-d’exécution, ce qui permet l'utilisation de nouveaux systèmes de
-fichiers a chaud, ou l'insertion de matériel et l'installation de
-drivers sans interrompre l’exécution du système (Windows utilise un
-système de fausse installation de drivers pour le matériel externe, et
-un système de pré-installation des drivers pour les périphériques dits
-"plug and play")
-
Après le noyau intervient le système. Or, au tous premiers instants du
-boot, les systèmes GNU/Linux utilisent un système permettant de limiter
-l'utilisation de ressources systèmes si elles ne sont pas nécessaires,
-et incorpore ainsi un système dit de "runlevels"
-
Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce
-runlevel permet de tester le bon démarrage du système sans avoir a
-effectuer de manipulation pour le ré-éteindre
-
Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté
-étant donné que ce runlevel donne accès a un système en étant
-automatiquement loggé en tant que root, avec tous les autres
-utilisateurs désactivés, de même que tous les systèmes de réseaux
-
Le runlevel 2 est appelé mode multi user, et vous mets en face d'un
-système classique. en ligne de commande, mais avec tous les systèmes de
-réseau désactivés.
-
Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux
-activés.
-
Le runlevel 4 n'est pas officiellement défini, et est censé être
-activable en fonction des besoins de l'utilisateur. Sur la plupart des
-distributions grand public, ce runlevel est lié au...
-
Runlevel 5! Multi-user, networking, with working GUI! c'est le système
-tel que vous le connaissez, avec l'interface graphique et le système de
-login graphique.
-
Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine
-quand il devient le runlevel courant.
-
(Il est a noter que Debian, et donc toutes les distribs qui en sont
-dérivées, ne font pas de distinction entre les differents runlevels du 2
-au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login
-et une interface graphique, et un mode réseau fonctionnel, bref avec des
-fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)
-
Il est possible de changer de runlevel grâce a la commande runlevel
-(oui, c'est évident...)
-
Les systèmes Linux utilisent aussi un système dit de SandBox , qui en
-informatique est un système permettant d'isoler les processus les uns
-des autres. Ainsi, la pile réseau, qui est le système auquel les
-différents processus envoient les différents paquets qui doivent sortir
-de la machine , et qui redistribue ces paquets, est isolée du reste du
-système, en cela qu'aucun des autres processus ne peuvent modifier cette
-pile hors du runlevel 1 ou 2.
-
De la même façon, le navigateur chrom/ium fait fonctionner tous les
-onglets, ainsi que toutes les extensions, dans des processus différents.
-Certaines distributions linux implémentent un système de cette sorte
-pour toutes les applications, ou seulement pour certaines. ainsi Chakra
-Linux a un système d'installation d'applications dans des disques
-virtuels, ce qui permet une sécurité totale du processus.
-
Voila, j'espère vous en avoir appris un peu sur le fonctionnement des
-différentes couches de linux, et j'espère que cet article vous poussera
-a tester un peu votre système et a vous amuser avec les différents
-runlevels
Salut!
-Tout d'abord, je tiens a m'excuser de ne pas avoir eu le temps d'écrire
-récement, mais j'ai eu la chance d'avoir un PC a monter, donc j'ai passé
-pas mal de temps assez occupé.
-
Enfin, après un certain temps a farfouiller au millieu des connecteurs
-SATA et a apprendre que, oui, l'alimentation sert aussi pour les disques
-durs, je suis de retour pour un court article.
-Du coup, je m'étais dit que j'allais reprendre sur le thème de
-l'informatique expliquée au grand public, en tentant d'aller un peu plus
-loin que la dernière fois sur le thème de la programmation
-Ce qu'il faut comprendre, c'est la facon dont fonctionne un ordinateur.
-Si a peu près tout le monde sait que "les ordinateurs, ils ne
-comprennent que les 1 et les 0!", peu de gens savent comment cela
-fonctionne en détail.
-
Si vous êtes sur ce blog, il y a pas mal de chance que vous ayez déjà
-des notions de base en informatique. Ainsi, vous savez surement que les
-ordinateurs fonctionnent avec des programmes, qui sont composés de
-code.
-Ainsi, il faut comprendre que le code (source) est "compilé" en un
-fichier "binaire". Un fichier binaire est un fichier comprenant les
-instructions telles qu’exécutées par le processeur, et donc absolument
-illisible pour un humain.
-
La compilation est le processus qui transforme le code source en
-binaire executable. Les binaires ont, sous Windows, l'extension .exe,
-tandis que sous les systèmes UNIX-like, ils n'ont pas d'extension
-particulière.
-Ceci étant dit, il faut comprendre que certains langages sont plus
-proches que d'autres du langage processeur, les langages les plus
-proches sont dits de "bas niveau". Les langages les plus éloignés sont
-donc dits de haut niveau.
-
Par exemple, l'assembleur est l'un des languages de plus bas niveau,
-tandis que python par exemple est un langage de plus haut niveau. Les
-langages de haut niveau sont souvent bien plus simples a comprendre et a
-apprendre que les langages de bas niveau
-
Ainsi, en C, un langage de niveau relativement bas, pour afficher
-"hello world" sur l'écran, le code nécessaire est :
et n'a pas besoin d'être compilé , puisqu'il peut être intepreté
-directement.
-
Python utilise en effet un système similaire a Java en ayant un
-interpréteur dit "runtime" ou "temps réel", qui interprète le programme
-sans le compiler. Java utilise un système légèrement différent, puisque
-le code a besoin d'être compilé, mais est interpreté par un interpréteur
-et non par le processeur.
-
Cette méthode permet le fameux "code once, run everywhere", ce qui
-signifie que le même code est exécutable sur quasiment tous les systèmes
-d'exploitation (en fait, tous ceux sur lesquels l’interpréteur est
-disponible.)
-
Voila, je vous laisse sur le fonctionnement de Java et de Python, et je
-vais me coucher.
-A bientôt!
GNU/Linux est un vaste et extraordinaire territoire technologique, mais
-je ne vais pas m'attarder ici sur les aspects profondément techniques de
-ce territoire pour faire plutôt une sorte d'introduction a ce qu'est
-vraiment GNU/Linux, pour les gens n'ayant aucune ou très peu de
-connaissances en informatique.
-
GNU/Linux, que j’abrégerai ici en Linux pour plus de simplicité, est un
-Système d'Exploitation. Un système d'exploitation est, pour simplifier,
-un ensemble d'outils informatiques qui vous permettent d'utiliser votre
-ordinateur, ainsi, Windows est un système d'exploitation. L'abréviation
-de système d'exploitation (Operating System en anglais) est OS. Les 4
-principaux OS existants aujourd'hui sont Windows, Mac OS, GNU/Linux, et
-Solaris. Les trois derniers sont issus d'un autre système, plus ancien,
-nommé UNIX.
-
De ce fait, on pourrait penser que Linux remplace complètement Windows
-une fois installé, et comprend une interface graphique, et toutes sortes
-d'utilitaires permettant a l'utilisateur d'utiliser le système (sous
-Windows, pensez a l'explorateur de fichiers, ou a Internet Explorer.
-Pour l'interface graphique, pensez a... Pensez que votre système affiche
-autre chose que des lignes de commande.) Or non, une fois installé,
-Linux en lui même ne vous afficherait aucune interface graphique, et
-s'il est effectivement livré avec des utilitaires, ils ne sont que des
-programmes en ligne de commande. Autant les utilisateurs avancés sauront
-s'en servir, et pourront argumenter que c'est plus efficace ou plus
-rapide, autant les utilisateurs basiques préfèrent une interface
-graphique. Alors comment en obtenir une?
-
Ici, il convient de faire une précision importante. Si il n'existe
-qu'une seule version de Windows, ou de Mac OS, il existe en fait
-plusieurs centaines de "versions" différentes de Linux. Appelées
-distributions, ces dernière sont développées par des groupes
-complètement séparés, et se basent sur le fait que Linux soit
-entièrement placé sous licence libre (ce qui leur permet de l'utiliser a
-leur guise, a condition que leur travail soit lui aussi placé sous
-licence libre). De ce fait, de nombreuses distributions existent et se
-développent en parallèle. On peut ainsi citer Debian, qui est l'une
-des distributions les plus importantes, ou encore Ubuntu, qui est
-l'une des plus connues et des plus simples a utiliser.
-
Ainsi, ces distributions intègrent une interface graphique. Cependant,
-grâce a la liberté dont bénéficient les développeurs sous Linux, il
-existe de nombreuses interfaces graphiques différentes : Unity, la
-nouvelle interface d'Ubuntu; GNOME , une interface qui vise a la
-simplicité; ou encore KDE, une interface utilisateur ressemblant a
-Windows 7.
-
Ainsi, le choix astronomique de distributions Linux a bien un sens :
-chacune d'entre elle intègre des outils différents. Par exemple, Debian
-intègre GNOME 2, qui est l'ancienne version de GNOME, ce qui la rend
-particulièrement stable. Ubuntu intègre Unity, ce qui en fait une
-distribution particulièrement intuitive. Linux Mint intègre Cinnamon,
-qui est une version dérivée de GNOME 3, ce qui permet encore une autre
-expérience. Et Arch Linux n'intègre pas d'interface graphique du tout,
-ce qui permet a l'utilisateur de choisir entre les multiples interfaces
-existantes.
-
Ce qu'il est important de retenir de cela, c'est que Linux est un OS
-complètement libre, ce qui signifie que n'importe qui peut modifier et
-utiliser tout le code de Linux gratuitement et comme il l'entend. Ainsi,
-Linux est un OS qui est véritablement créé par des passionnés, pour tous
-et toutes. Surtout, il convient de retenir que Linux n'est pas compliqué
-a utiliser, ni a installer. Windows et Mac OS ne le sont pas non plus.
-Cependant, Linux donne la possibilité a l'utilisateur de le rendre
-affreusement complexe, mais aussi de le rendre adapté a ses besoins,
-quels que soient ceux ci. Et c'est la que réside l'incroyable puissance
-de ce Système d'Exploitation. Il est extraordinairement adaptable.
-
N'hésitez donc pas a le présenter a vos proches, même s'ils ne sont pas
-technophiles. Ils pourraient adorer, et peut être même le devenir :)
Je m'appelle Wxcafé, et ça fait pas mal de temps que je sévis sur
-Twitter, mais aussi sur IRC (Je traîne pas mal sur
-irc.freenode.net/##nolife et #debian-fr)
-
J'ai 17 ans, je suis donc étudiant (bac général), je vis a Paris, et je
-fais partie de ce genre de personne qui sont capables d'investir tout
-leur temps et leur énergie a s’intéresser a un sujet en particulier, et
-qui ne peuvent pas vivre sans leurs passions, avec une petite différence
-cependant, qui est que je m’intéresse a plusieurs choses :
-l'informatique, qui est un champ tellement large qu'on peut passer une
-vie a apprendre des choses dessus, et plus particulièrement à
-l'informatique avancée (Noyaux dérivés d'UNIX et de Linux, outils libres
-{bien que n'étant pas un barbu intégriste [ceci est un troll assumé. Les
-trolls seront a partir de maintenant indiqués avec le tag [tr]] du
-libre, je préfère utiliser de l'open-source si c'est possible},
-programmation en C, python et java, etc...) , mais aussi a
-l’électronique.
-
Dans un tout autre registre, je m’intéresse aussi
-beaucoup aux différents aspects du féminisme et des égalités sexuelles
-(anti-homophobie/transphobie/biphobie/etc , anti-sexisme, et cætera) ,
-et a la culture dite "geek" en général.
-
Je tenterai de poster ici le plus souvent possible, mais j'ai de gros
-problèmes en terme de régularité de post, donc ne vous inquiétez pas si
-vous ne voyez rien pendant deux semaines.
Archlinux est réputée être une distribution Linux très complexe a
-installer et a maintenir.
-
Je vais tenter ici de vous convaincre que ce n'est pas le cas, et
-qu'elle peut se monter très intéressante et très instructive a installer
-tout autant qu'a utiliser.
-
Il convient tout d'abord de rappeler a quels principes obéit Arch:
-
-
-
Le KISS : Keep It Simple and Stupid, Archlinux tente de faire des
- programmes simples et utilisables par tous. Avec comme base de
- simplicité les utilisateurs de LFS... Mais il n'empêche qu'avec un peu
- de bonne volonté, la configuration n'est pas si compliquée!
-
-
-
La philosophie UNIX : chaque programme est prévu pour ne remplir
- qu'une seule tâche. Bien entendu, cela ne concerne que les programmes
- conçus pour s’insérer dans la philosophie UNIX, et les installations de
- dépendances avec le gestionnaire de paquet d'Arch fonctionnent
- superbement bien.
-
-
-
De plus, posons les bases d'Arch : le gestionnaire de paquets s'appelle
-pacman, et les commandes de base sont :
-
-
-
recherche d'un paquet :
-
pacman-Sspaquet
-
-
-
-
-
-
installation d'un paquet :
-
sudopacman-Spaquet
-
-
-
-
-
-
désinstallation d'un paquet :
-
sudopacman-Rpaquet
-
-
-
-
-
-
mise a jour de tous les paquets installés :
-
sudopacman-Syupaquet
-
-
-
-
-
-
Archlinux est une distribution dite "rolling release", ce qui signifie
-qu'il n'y a pas de version a proprement dites, et que les paquets se
-mettent a jour en permanence, sans jamais changer la "version" d'Arch.
-Il n'y a d'ailleurs qu'une seule version de l'installeur sur le site,
-puisqu'une version plus ancienne n'aurait aucun sens.
-
Arch n'offre pas d'interface graphique par défaut : après avoir installé
-le système, vous n'aurez qu'une invite de commande. Heureusement, je
-vais ici vous guider a travers l'installation d'une interface graphique
-(mate, le fork de gnome 2)
-
L'installation d'Arch se fait par le réseau, veillez a avoir une
-connection WiFi ou filaire a proximité avant de suivre ce guide.
-
Ce guide utilise SystemV, alors qu'Arch va prochainement passer sous
-systemd. N'ayant pas encore eu le temps d’expérimenter assez avec ce
-dernier, je ferais un tutoriel pour passer votre Arch a systemd bientôt.
-
Bon, passons a l'explication de l'installation proprement dite :
-
Tout d'abord, téléchargeons l'iso d'arch la plus récente :
Et voila, l'installation est terminée! Plus qu'a quitter la session et a
-redémarrer l'ordinateur!
-
exit
-umount/mnt/home
-umount/mnt
-reboot
-
-
-
-
Fini!
-
Prenons une petite pause. La partie suivante de ce tutoriel consister en
-un paramétrage des principaux services nécessaires a l'utilisation d'un
-OS, disons, moyen :
Installation de sudo et de networkmanager pour faire fonctionner les
-composants essentiels du système sans avoir a tout activer a la main a
-chaque démarrage
-
-
-
Installation de SLiM comme gestionnaire de login graphique, pour
-présenter une interface plus accueillante que la console, et
-configuration de celui-ci
-
-
-
Installation des principaux logiciels utiles non inclus dans mate ni
-base (yaourt, chromium, thunderbird, etc...).
-
-
-
Ce guide est bien sur optionnel, si vous souhaitez utiliser Arch avec un
-gestionnaire de bureau autre que mate, ou sans, vous pouvez vous arrêter
-ici.
-
Bon, reprenons.
-
Nous sommes donc sur une demande de mot de passe. Entrez donc le mot de
-passe paramétré plus haut pour le root, puis retapez la commande
-utilisée plus tôt pour vous connecter a internet.
-
Il convient d'ajouter le dépôt de MATE pour installer ce dernier, puis
-d'effectuer l'action en question :
Sinon, il est possible de juste redémarrer.
-Une fois cela fait, profitez de ce moment pour vous autoriser vous même
-a utiliser sudo. Loggez vous en root, et :
-
vim/etc/sudoers
-
-
-
-
Décommentez la ligne qui commence par # %wheel ALL=(ALL)
-Sauvegardez le fichier, puis, après un su *votrenom*, tentez de faire
-un sudo ls /
-Normalement, vous devriez avoir un listing du dossier /
-Bon, maintenant, pourquoi ne pas tenter de lancer MATE?
-C'est simple comme bonjour :
-
startx
-
-
-
-
Et PAF! Voila un MATE desktop flambant neuf a configurer!
-Avant de faire ça, retournez sur un TTY (CTRL+ALT+Fx), loggez vous,
-puis installez SLiM (sudo pacman -Syu slim).
-Configurons le:
Éditez la ligne
-"sessions xfce4,icewm-session,wmaker,blackbox" de facon a
-ce qu'elle ressemble a "sessions mate-session"
-Puis ajoutez slim dans /etc/rc.conf, dans la section DAEMONS.
-Normalement, tout devrait fonctionner!
-Ah oui, et pour installer thunderbird, firefox, chromium, etc...
Je m'appelle Wxcafé, et ça fait pas mal de temps que je sévis sur
-Twitter, mais aussi sur IRC (Je traîne pas mal sur
-irc.freenode.net/##nolife et #debian-fr)
-
J'ai 17 ans, je suis donc étudiant (bac général), je vis a Paris, et je
-fais partie de ce genre de personne qui sont capables d'investir tout
-leur temps et leur énergie a s’intéresser a un sujet en particulier, et
-qui ne peuvent pas vivre sans leurs passions, avec une petite différence
-cependant, qui est que je m’intéresse a plusieurs choses :
-l'informatique, qui est un champ tellement large qu'on peut passer une
-vie a apprendre des choses dessus, et plus particulièrement à
-l'informatique avancée (Noyaux dérivés d'UNIX et de Linux, outils libres
-{bien que n'étant pas un barbu intégriste [ceci est un troll assumé. Les
-trolls seront a partir de maintenant indiqués avec le tag [tr]] du
-libre, je préfère utiliser de l'open-source si c'est possible},
-programmation en C, python et java, etc...) , mais aussi a
-l’électronique.
-
Dans un tout autre registre, je m’intéresse aussi
-beaucoup aux différents aspects du féminisme et des égalités sexuelles
-(anti-homophobie/transphobie/biphobie/etc , anti-sexisme, et cætera) ,
-et a la culture dite "geek" en général.
-
Je tenterai de poster ici le plus souvent possible, mais j'ai de gros
-problèmes en terme de régularité de post, donc ne vous inquiétez pas si
-vous ne voyez rien pendant deux semaines.
GNU/Linux est un vaste et extraordinaire territoire technologique, mais
-je ne vais pas m'attarder ici sur les aspects profondément techniques de
-ce territoire pour faire plutôt une sorte d'introduction a ce qu'est
-vraiment GNU/Linux, pour les gens n'ayant aucune ou très peu de
-connaissances en informatique.
-
GNU/Linux, que j’abrégerai ici en Linux pour plus de simplicité, est un
-Système d'Exploitation. Un système d'exploitation est, pour simplifier,
-un ensemble d'outils informatiques qui vous permettent d'utiliser votre
-ordinateur, ainsi, Windows est un système d'exploitation. L'abréviation
-de système d'exploitation (Operating System en anglais) est OS. Les 4
-principaux OS existants aujourd'hui sont Windows, Mac OS, GNU/Linux, et
-Solaris. Les trois derniers sont issus d'un autre système, plus ancien,
-nommé UNIX.
-
De ce fait, on pourrait penser que Linux remplace complètement Windows
-une fois installé, et comprend une interface graphique, et toutes sortes
-d'utilitaires permettant a l'utilisateur d'utiliser le système (sous
-Windows, pensez a l'explorateur de fichiers, ou a Internet Explorer.
-Pour l'interface graphique, pensez a... Pensez que votre système affiche
-autre chose que des lignes de commande.) Or non, une fois installé,
-Linux en lui même ne vous afficherait aucune interface graphique, et
-s'il est effectivement livré avec des utilitaires, ils ne sont que des
-programmes en ligne de commande. Autant les utilisateurs avancés sauront
-s'en servir, et pourront argumenter que c'est plus efficace ou plus
-rapide, autant les utilisateurs basiques préfèrent une interface
-graphique. Alors comment en obtenir une?
-
Ici, il convient de faire une précision importante. Si il n'existe
-qu'une seule version de Windows, ou de Mac OS, il existe en fait
-plusieurs centaines de "versions" différentes de Linux. Appelées
-distributions, ces dernière sont développées par des groupes
-complètement séparés, et se basent sur le fait que Linux soit
-entièrement placé sous licence libre (ce qui leur permet de l'utiliser a
-leur guise, a condition que leur travail soit lui aussi placé sous
-licence libre). De ce fait, de nombreuses distributions existent et se
-développent en parallèle. On peut ainsi citer Debian, qui est l'une
-des distributions les plus importantes, ou encore Ubuntu, qui est
-l'une des plus connues et des plus simples a utiliser.
-
Ainsi, ces distributions intègrent une interface graphique. Cependant,
-grâce a la liberté dont bénéficient les développeurs sous Linux, il
-existe de nombreuses interfaces graphiques différentes : Unity, la
-nouvelle interface d'Ubuntu; GNOME , une interface qui vise a la
-simplicité; ou encore KDE, une interface utilisateur ressemblant a
-Windows 7.
-
Ainsi, le choix astronomique de distributions Linux a bien un sens :
-chacune d'entre elle intègre des outils différents. Par exemple, Debian
-intègre GNOME 2, qui est l'ancienne version de GNOME, ce qui la rend
-particulièrement stable. Ubuntu intègre Unity, ce qui en fait une
-distribution particulièrement intuitive. Linux Mint intègre Cinnamon,
-qui est une version dérivée de GNOME 3, ce qui permet encore une autre
-expérience. Et Arch Linux n'intègre pas d'interface graphique du tout,
-ce qui permet a l'utilisateur de choisir entre les multiples interfaces
-existantes.
-
Ce qu'il est important de retenir de cela, c'est que Linux est un OS
-complètement libre, ce qui signifie que n'importe qui peut modifier et
-utiliser tout le code de Linux gratuitement et comme il l'entend. Ainsi,
-Linux est un OS qui est véritablement créé par des passionnés, pour tous
-et toutes. Surtout, il convient de retenir que Linux n'est pas compliqué
-a utiliser, ni a installer. Windows et Mac OS ne le sont pas non plus.
-Cependant, Linux donne la possibilité a l'utilisateur de le rendre
-affreusement complexe, mais aussi de le rendre adapté a ses besoins,
-quels que soient ceux ci. Et c'est la que réside l'incroyable puissance
-de ce Système d'Exploitation. Il est extraordinairement adaptable.
-
N'hésitez donc pas a le présenter a vos proches, même s'ils ne sont pas
-technophiles. Ils pourraient adorer, et peut être même le devenir :)
L’interpréteur de commandes bash (Bourne Again SHell)
-est possiblement le shell le plus connu, notamment grâce a son
-intégration en tant que shell par défaut dans les distributions Linux
-les plus répandues (Debian - Ubuntu, Fedora, OpenSUSE, Mandriva -
-Mageia, etc...).
-
Cependant, il n'est souvent connu qu'en tant qu’interpréteur de
-commande. Alors qu'en réalité, le bash est un langage de programmation
-(presque) complet! Ainsi, il intègre les structures de contrôle
-habituelles ( pour mémoire, les structures de contrôle comprennent les
-conditions (les ifs), les boucles (les while), et les choix (les case),
-entre autres.), et est donc ce que l'on pourrait appeler un langage de
-script, interprété, de la même façon que python, a la difference près
-qu'il contient un prompt (un système d'entrée de commande interactif)
-bien plus complet et développé que python.
-
Cependant, les programmes en bash ne sont executables que dans un
-environnement de type UNIX, et donc pas sous Windows (cygwin
-(cygwin.com) propose ceci dit un système permettant d'utiliser bash sous
-windows. Il faut malgré tout convenir que cet environnement est bien
-plus compliqué a manipuler, et globalement ne permet pas d'acceder a des
-portages de qualité satisfaisante.)
-
Ainsi, il est possible de créer des fichiers .sh, contenant des
-instructions bash mises a la suite (de la même façon qu'un script BATCH
-Windows .bat), et faisant appel autant aux commandes internes de bash,
-aussi bien que les commandes externes mises en place par les programmes
-installés sur le système, exactement comme dans une invite de commande.
-Ainsi, pour appeller firefox, la commande 'firefox' lancera le petit
-panda roux directement dans la boite magique, tandis qu'un if
-[condition] suivi d'un then (quelque chose) lancera le fameux quelque
-chose suscité si la condition est vérifiée. Un peu comme en C, quoi.
-
De cette façon, et avec quelques informations et connaissances, il est
-facile de comprendre le fonctionnement de la programmation en bash.
-Quelques exemples commentés:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
#!/bin/bash
-# La ligne du dessus est très importante, c'est elle qui dit a bash quel doit être
-# l'interpreteur des commandes écrites dans ce script. Ici, on dit a bash d'interpréter
-# lui même les commandes comprises dans ce script. On aurait tout de fois pu lui faire
-# executer du python, par exemple, en mettant #!/usr/bin/python a la place.
-echo"this is a test of bash as a simple script manager"# echo est une commande d'affichage de message.
-echo"what's your name, user?"
-read your_name # la commande read permet de demander a l'utilisateur de donner une
-# information, stockée dans la variable en paramètre.
-echo$your_name"is your name"# echo permet aussi d'afficher la valeur de variables.
-# Ici, on renvoie la variable remplie précédemment, suivie d'un message.
-exit# cet appel a exit n'est pas obligatoire, mais donne un aspect plus
-# propre au code. Il ne quittera pas la session de terminal, cependant.
-
-
-
-
Voila. Ce script bash ne sert pas a grand chose, mais il a le mérite
-d'être clair quand aux capacités et a la simplicité du bash en tant que
-language de programmation. Alors en effet, nous n'avons ici absolument
-pas utilisé les capacités de bash en lui même, et n'avons fait que le
-renvoyer a des programmes externes (sauf read, il est vrai). Voyons
-maintenant la syntaxe de bash quand il s'agit d'utiliser les structures
-de contrôle:
-
1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
#!/bin/bash
-echo"welcome to this second bash program. would you please kindly enter the name of the machine you're running this on?"
-read host_name
-if[$host_name==$HOSTNAME]## voici la syntaxe du if. Attention a bien penser a mettre les espaces avant la première variable, et après la seconde. La variable $HOSTNAME ici utilisée est une variable présente par défaut sur le système.
-then echo"you told the truth!"
-fi## le fi est la commande fermant le if, tout comme le EndIf en basic. C'est un peu vieillot, mais important en bash.
-if[$host_name !=$HOSTNAME]## l'opérateur != est l'inverse de ==, il vérifie donc si les deux variables ne sont pas les mêmes.
-then echo"you lied!"
-fi
-exit
-
-
-
-
Voila un petit programme permettant d'apprendre la syntaxe du if en
-bash. comme vous pouvez le voir, le language est plutôt lite, et la
-structure if n'est pas très difficile a prendre en main.
-
Passons maintenant au while:
-
1
-2
-3
-4
-5
-6
-7
#!/bin/bash
-echo"what is your name?"
-read name
-while[ 1 < 10 ]## le while se présente sous la forme while (truc); do (machin); done. Les [] sont en fait des programmes differents, inclus dans bash.
-do echo"i love"$name
-done
-exit
-
-
-
-
Ce petit programme permet d'observer les bases de while (qui est la
-boucle de base en bash).
#!/bin/bash
-echo"please enter a number between one and five"
-read number
-case$number in
-1)
-echo"the choosen number was one"
-;;
-2)
-echo"the choosen number was two"
-;;
-3)
-echo"the choosen number was three"
-;;
-4)
-echo"the choosen number was four"
-;;
-5)
-echo"the choosen number was five"
-;;
-*)
-echo"this number is not correct"
-;;
-esac
-exit
-
-
-
-
case est un opérateur plus complexe a utiliser a bon escient, et sert a
-faire des ifs multiples sans avoir a taper des dizaines de lignes de
-code.
-(pour ceux qui auraient du mal avec cet opérateur, il faut comprendre
-que le code vérifie chacune des conditions : le 1) est validé si la
-valeur de \$number est 1, le 2) est validé si cette valeur est 2, etc..
-le *) désigne toutes les valeurs, et est donc validé si aucune autre
-valeur n'a précédemment acceptée.
-
Quelques notions manquent ici:
-- les nombres aléatoires sont générés par un appel a la variable
-\$RANDOM, qui renvoie un nombre aléatoire entre 0 et 32767 (un entier a
-16 bits donc). il est possible de faire des invocations a des nombres
-aléatoires plus grands, mais les méthodes permettant de faire cela sont
-plus complexes, et je ne les aborderai donc pas ici.
-- comme vous avez pu le constater, les variables sont désignées en tant
-que telles par l'utilisation d'un symbole \$ au début de leur nom.
-Ainsi, echo number renverra "number", tandis que echo \$number renverra
-le résultat de la variable \$number.
-être utilisées dans un programme bash.
-- comme vous avez pu le constater, les commandes doivent tenir en
-théorie en une ligne. Cependant, le caractère \ permet de retourner a
-la ligne en faisant considérer a bash qu'il s'agit de la même ligne.
-
Globalement, il faut admettre que bash n'a pas vocation a être un
-langage de programmation extrêmement développé. Sans framework
-graphique, avec peu de manières d'utiliser de grandes variables, ou
-encore une gestion de la mémoire risible, bash n'a rien d'un langage de
-développement professionnel.
-Cependant, le simple fait qu'il soit considéré comme un langage de
-programmation a part entière font de lui un langage de script d'une
-puissance incontestable, et sa simplicité et sa grande popularité font
-de lui un langage de choix pour apprendre la programmation simplement et
-sans trop se prendre la tête.
-
J'espère que cet article aura été utile a certain-e-s, et je vous
-souhaite bonne chance dans votre découverte de la programmation (n'allez
-pas voir ceux qui font de l'orienté objet, c'est des méchants :3)
PGP (pour pretty good privacy) est un système de
-chiffrement asymétrique (pour plus d'information sur le chiffrement
-asymétrique, voir ici) utilisant en général les algorithmes RSA
-et/ou DSA, et pouvant servir a chiffrer tout fichier, mais aussi a
-signer des emails. Le système de signature consiste a s'identifier en
-tant que la personne que l'on est, en certifiant de son identité, et
-repose sur un système dit de Web of Trust.
-
Ce concept de Web of Trust est simple: si je valide le code vous
-identifiant (votre clé), en certifiant que vous êtes qui vous êtes et
-que je vous connais, et que d'autres personnes m'ont déjà
-personnellement validé, les autres utilisateurs seront enclins a croire
-que vous êtes en effet la personne que vous prétendez être. Bien
-entendu, les utilisateurs validant trop de clés rapportées comme fausses
-voient la valeur de leurs signatures baissée, et toutes les clés signées
-par ces utilisateurs voient leur crédibilité baisser.
-Inversement, les "bons utilisateurs" voient la valeur de leurs
-signatures augmentée, ce qui augmente la crédibilité des clés qu'ils ont
-signées.
-
Ceci dit, un email peut être a la fois signé et chiffré, de façon a être
-sûr, non seulement que l’expéditeur de l'email est bien celui qu'il dit
-être, mais aussi que l'email n'a pas été modifié entre l'envoi et
-la réception (en effet, avec un chiffrement de type RSA/DSA, une
-modification du corps de l'email rend ce dernier illisible, la clé
-publique ne correspondant plus a la phrase de passe du message), ce qui
-offre bien évidemment des avantages non négligeables dans un
-environnement ou la protection des échanges est importante (soit a peu
-près partout sur internet, si vous tenez a votre vie privée. Pensez a
-quitter Gmail aussi, par exemple).
-
Il est cependant a noter que les clés publiques sont généralement
-situées sur un serveur de clés publiques, tel pgp.mit.edu ou encore
-subkeys.pgp.net (certaines personnes préfèrent garder leur clés hors des
-serveurs de clés publiques, craignant une compromission de ces serveurs.
-Dans le cas d'utilisateurs normaux (c'est a dire n'échangeant pas de
-secrets classés secret-défense par email), la protection offerte par les
-serveurs de clé publiques est suffisante)
-
L'une des implémentations les plus connues et utilisées de PGP est sans
-conteste GPG (GNU Privacy Guard) , qui comme son nom l'indique fait
-partie du projet GNU, et qui (<troll> de façon surprenante pour un
-programme GNU</troll>) est extrêmement efficace et claire.
-
Après ces explications techniques, voici venue le
-moment intéressant/utile, a savoir l'application. Le chiffrement et la
-signature de mails doivent cependant attendre un petit peu, étant donné
-qu'il vous faut d'abord créer votre clé et la placer sur un serveur de
-clés publiques, de façon à ce que votre destinataire puisse vous
-identifier lorsqu'il recevra le mail, mais aussi a configurer votre
-client mail pour utiliser gpg (je baserai les explications de cet
-article sur Thunderbird, mais des explications efficaces sont trouvables
-facilement sur les interwebs).
-
Tout d'abord, générons une clé GPG :
-
gpg--gen-key
-
-
-
-
GPG va vous demander les méthodes de chiffrement que vous voulez
-utiliser, le plus sur est de laisser la valeur par défaut. La question
-suivante est de savoir quelle taille votre clé doit faire, il est
-préférable de choisir la taille la plus importante possible (4096). GPG
-veut ensuite savoir quand votre clé doit expirer. La méthode simple est
-bien évidemment de ne jamais la faire expirer, il est cependant plus
-intéressant dans une logique de sécurité de régler cette durée a six
-mois/un an.
-
Des informations personnelles vous sont ensuite demandées,
-concernant votre nom (mettez le vrai, tel qu'il apparaît sur votre carte
-d'identité, si vous souhaitez utiliser votre véritable identité), votre
-adresse mail (mettez la plus utilisée, vous pourrez en rajouter plus
-tard), et un mot de passe pour la clé (utilisez un mot de passe
-sécurisé!! Il est conseillé d'utiliser au moins 8 caractères, dont majuscules,
-minuscules, caractères spéciaux et nombres (vous pouvez utiliser la
-commande makepasswd, qui génère automatiquement un mot de
-passe)
-
GPG va maintenant prendre un peu de temps pour générer le couple clé
-publique/clé privée, vous devriez profiter de ce temps pour effectuer
-des opérations autres sur votre ordinateur : taper des textes, lancer
-des films, écouter de la musique... De façon à augmenter les chances
-d'obtenir un nombre bien aléatoire (le générateur d'aléatoire se base
-sur la RAM pour obtenir des bits au hasard)
-
Une fois cela fini, vous obtenez un couple clé publique/clé privée, que
-vous ne pouvez pas visualiser entièrement pour l'instant. Il est
-cependant possible (et recommandé) de les exporter pour les sauvegarder
-via une commande:
pour la clé privée. Il est possible et même souhaitable de copier ces
-clés sur une clé USB, une carte SD, ou un autre support de stockage
-résistant, de façon a avoir une solution de sauvegarde, au cas ou vous
-perdiez ces clés sur ce PC.
-
Cela fait, listons les informations sur votre clé publique :
La partie pub indique que c'est une clé publique, 4096R indique que c'est
-une clé RSA sur 4096 bits. La partie 27D81AC8 est
-l'identifiant de la clé publique, Key fingerprint = 6345 A91A FF89 97E0 13D0
-96A9 9E2A 1917 27D8 1AC8 est appelé fingerprint de la clé. Les champs
-uid sont des manières d'identifier la clé et la personne associée a
-celle-ci, et enfin le champ sub est indicateur d'une subkey, système
-uniquement pris en charge par GPG et non inclus dans les premières
-versions de PGP, donc non-implémentées dans nombre de clients pgp.
-Passons maintenant a la mise en place de cette clé publique sur un
-serveur de clés : nous utiliserons ici le serveur pgp.mit.edu.
Maintenant que votre clé publique a été uploadée, vous pouvez l'utiliser
-pour signer et chiffrer vos emails!
-Installons donc l'extension Enigmail pour Thunderbird, permettant de
-chiffrer/signer vos emails de façon transparente. Il conviendra de
-paramétrer cette extension, via le menu OpenPGP dans Thunderbird, puis
-Setup Wizard (l'option entre Help et About OpenPGP). Normalement,
-Enigmail détecte votre installation de gpg automatiquement, si cependant
-ce n'était pas le cas, vous pouvez utiliser la clé exportée tout a
-l'heure (pubkey.gpg) en l'important (import key from file).
-
Selon les options que vous avez utilisées, vos emails seront
-automatiquement signés et/ou chiffrés a l'envoi. Gardez cependant a
-l'esprit que si tout le monde peut lire les mails signés, il n'en est
-pas de même pour les mails chiffrés, pour lesquels il est nécessaire de
-posséder la clé publique du correspondant en question, et de posséder
-soi même une clé privée, donc d'utiliser OpenPGP aussi.
-Concernant les signatures de clés, elles fonctionnent de manière très
-simple :
-Vous devez télécharger la clé de votre correspondant, via un
(a noter que cette commande fonctionne aussi en cherchant une adresse
-email ou un nom. Cependant, en cherchant via l'identifiant de la clé,
-vous êtes sur de trouver votre correspondant. Globalement, l'email est
-lui aussi assez sûr en terme de recherche de clés, tandis que le nom
-donne rarement un résultat). L'étape suivante est de vérifier que votre
-correspondant est bien la personne qui est spécifiée sur sa clé. Pour
-cela, il convient d'avoir déjà vu physiquement cette personne et si
-possible d'avoir vu une pièce d'identité lui appartenant, et d'avoir une
-confirmation de cette personne que la clé que vous voyez lui appartient
-bien.
-Ceci fait, vous pouvez signer la clé via un
Salut!
-Tout d'abord, je tiens a m'excuser de ne pas avoir eu le temps d'écrire
-récement, mais j'ai eu la chance d'avoir un PC a monter, donc j'ai passé
-pas mal de temps assez occupé.
-
Enfin, après un certain temps a farfouiller au millieu des connecteurs
-SATA et a apprendre que, oui, l'alimentation sert aussi pour les disques
-durs, je suis de retour pour un court article.
-Du coup, je m'étais dit que j'allais reprendre sur le thème de
-l'informatique expliquée au grand public, en tentant d'aller un peu plus
-loin que la dernière fois sur le thème de la programmation
-Ce qu'il faut comprendre, c'est la facon dont fonctionne un ordinateur.
-Si a peu près tout le monde sait que "les ordinateurs, ils ne
-comprennent que les 1 et les 0!", peu de gens savent comment cela
-fonctionne en détail.
-
Si vous êtes sur ce blog, il y a pas mal de chance que vous ayez déjà
-des notions de base en informatique. Ainsi, vous savez surement que les
-ordinateurs fonctionnent avec des programmes, qui sont composés de
-code.
-Ainsi, il faut comprendre que le code (source) est "compilé" en un
-fichier "binaire". Un fichier binaire est un fichier comprenant les
-instructions telles qu’exécutées par le processeur, et donc absolument
-illisible pour un humain.
-
La compilation est le processus qui transforme le code source en
-binaire executable. Les binaires ont, sous Windows, l'extension .exe,
-tandis que sous les systèmes UNIX-like, ils n'ont pas d'extension
-particulière.
-Ceci étant dit, il faut comprendre que certains langages sont plus
-proches que d'autres du langage processeur, les langages les plus
-proches sont dits de "bas niveau". Les langages les plus éloignés sont
-donc dits de haut niveau.
-
Par exemple, l'assembleur est l'un des languages de plus bas niveau,
-tandis que python par exemple est un langage de plus haut niveau. Les
-langages de haut niveau sont souvent bien plus simples a comprendre et a
-apprendre que les langages de bas niveau
-
Ainsi, en C, un langage de niveau relativement bas, pour afficher
-"hello world" sur l'écran, le code nécessaire est :
et n'a pas besoin d'être compilé , puisqu'il peut être intepreté
-directement.
-
Python utilise en effet un système similaire a Java en ayant un
-interpréteur dit "runtime" ou "temps réel", qui interprète le programme
-sans le compiler. Java utilise un système légèrement différent, puisque
-le code a besoin d'être compilé, mais est interpreté par un interpréteur
-et non par le processeur.
-
Cette méthode permet le fameux "code once, run everywhere", ce qui
-signifie que le même code est exécutable sur quasiment tous les systèmes
-d'exploitation (en fait, tous ceux sur lesquels l’interpréteur est
-disponible.)
-
Voila, je vous laisse sur le fonctionnement de Java et de Python, et je
-vais me coucher.
-A bientôt!
Aujourd'hui, et depuis 1901 (j'ai révisé mon histoire récemment), il
-existe une loi dite de séparation des églises et de l'état, qui consiste
-a faire en sorte que l'état n'ait rien a voir avec les differentes
-églises, pour de sombres histoires d'indépendance et de laïcité.
-(principes qui sont aujourd'hui en voie de disparition, mais ce n'est
-pas le propos qui nous occupe ici). Cela dit, cette bonne idée
-politique, si elle a évité a ses auteurs de nombreux tracas, et leur a
-surement permis de conserver une tête en état de fonctionnement bien
-reliée a leur colonne vertébrale, ne vous interesse que moyennement, et
-vous voudriez retourner répondre a vos mails sur Gmail et micro-blogguer
-(quel mot horrible...) sur twitter?
-
Ça tombe bien, vous abordez justement le sujet véritable de cet article
-(non, mon blog n'est pas devenu un histoblog, désolé aux déçus...), a savoir
-la centralisation qui se met progressivement en place sur internet depuis
-quelques années : Twitter, Google, Facebook, Micro$oft, Apple, tous ces
-acteurs du web (et pas que, pour certains...) ont commencé a prendre
-pour manie de centraliser vos données : pour prendre un exemple simple,
-si vous utilisez Gmail (qui depuis quelque temps, lit aussi vos mails
-pour accorder la publicité, dites adieu a votre vie privée), vous avez
-un compte Google Talk, probablement aussi un Google+.
-
L'outil le plus pratique aujourd'hui pour aggreger des flux RSS est
-Google Reader, et vous l'utilisez aussi probablement. Votre téléphone
-est un android? Ah, un Nexus? Vous avez donc toutes les applications
-google installées, et Chrome mobile comme navigateur par défaut, qui est
-synchronisé avec la version qui tourne sur votre PC (via les serveurs de
-Google, bien sur).
-Depuis peu, les recherches sur le moteur de recherche
-sont elles aussi ajoutées a votre profil, enregistrées a jamais par
-Google (qui n'est pas touchée, en tant que société américaine, par la
-"loi des 10 ans" francaise.). Vous commencez a voir le truc? Non, ne
-jetez pas ce telephone, enfin! (je refuse de rembourser tout smartphone
-ayant été perdu a cause de cet article) J'ai pris ici comme exemple
-Google, parce que c'est celui qui propose le plus de services, mais
-Apple avec iCloud, iTunes et son iPhone fait pareil, tout comme M$ avec
-WP8 et Skydrive.
-
Twitter et Facebook n'ont de rôle dans ce sujet qu'en ce que vous leur
-fournissez des informations dont ils s'empressent de devenir seuls
-propriétaires (cf les Conditions d'Utilisation de ces deux services),
-puis de les revendre a des annonceurs faisant de la publicité
-ciblée. Le problème est simple a apprehender, vous ne voulez pas que
-l'un de ces services connaisse trop de choses sur vous (et ils recoupent
-très bien les informations venant de sources differentes), car il est
-évident qu'ils les vendent a des entreprises peu scrupuleuses quand
-a leurs engagements de confidentialité, quand a leurs securité
-aussi; mais surtout parce que depuis le 11 Septembre 2001 et le
-Patriot Act, toute entreprise américaine doitfournir toutes ses
-informations au gouvernement américain sans aucune intervention d'un
-juge, ou de quelque institution de controle que ce soit.
-
Ce qui est, comme vous pouvez le comprendre, relativement
-problématique. (pour ceux qui a ce point se disent "je n'ai rien a
-cacher, donc je m'en fous si le gouvernement américain sait tout de
-moi", je vous conseille d'aller lire cet article de Jean Marc
-Manach, plein de bon sens...) Pour éviter cela, vous avez plusieurs
-possibilités: utiliser des services concurrents pour tout (Facebook
-Mail, Skydrive, Twitter et Google Reader par exemple), tout en vous
-souvenant que comme ces entreprises sont toutes américaines, le
-gouvenrnement américain détient tout de même vos informations, et que ca
-lui prendra juste un peu plus de temps.
-
Vous pouvez aussi n'utiliser que des entreprises francaises,
-mais cela ne regle que le problème du Patriot Act, et pas celui de
-la revente de vos données. Et puis essayez de trouver un service équivalent
-a Google Reader et fourni par une entreprise française, on en reparlera.
-Non, la véritable alternative, c'est d'héberger vos services vous
-même, d'avoir votre propre serveur sur lequel vous possedez le plus
-de services possibles, et d'utiliser des concurents ou des services
-libres au maximum pour les autres, ceux qui ne sont pas distribuables
-(par exemple, les cartes sont difficiles a mettre en commun,
-or plusieurs alternatives existent: Google Maps, <troll>Apple
-Maps</troll>, Bing Maps, OpenStreetMaps, etc...).
-Beaucoup de ces services sont cependant très facilement
-décentralisables, surement parce qu'ils ont a la base étés conçus comme
-des services décentralisés. Ainsi les emails, le web, le chat (via XMPP)
-par exemple sont basés sur un système décentralisé.
-
De plus, votre serveur peut vous servir a beaucoup d'autres des
-choses que vous feriez habituellement sur votre ordinateur
-personnel: conserver une présence sur IRC, compiler du code, faire
-du rendu vidéo, etc... En bref, un serveur peut vous servir
-a effectuer toutes les opérations que vous effectuez sur votre
-ordinateur sans les inconvénients de la consommation éléctrique
-ni du bruit, mais vous permet aussi de ne dépendre aucunement
-d'une entreprise américaine, et cependant de disposer de tous les
-services utiles offerts par ces dernières.
-
Un serveur peut de plus vous permettre de controller parfaitement
-tous ces services, sans aucune limitation d'aucune sorte,
-voire de vous créer une page web. Bien entendu, il est bien plus
-utile d'avoir un serveur si vous avez aussi un nom de domaine.
-Heureusement, ils sont peu chers et souvent fournis avec le serveur.
-
Dans de prochains articles, je vous expliquerai comment louer puis
-configurer votre serveur pour qu'il serve de serveur mail (IMAP/SMTP),
-web, base de données, et proxy. Cela dit, comme c'est un serveur sous
-linux, vous pouvez l'utiliser pour a peu près n'importe quoi.
-Voila, a bientôt!
Le Quenya est, pour ceux qui ne connaissent pas (comme moi jusqu’à il y
-a peu...), le nom que donnait Tolkien au dialecte principal parlé par
-les Elfes dans les différentes œuvres de l'auteur, dont Le Seigneur des
-Anneaux, le Hobbit, ou encore le Silmarillion. Il faut se rendre compte
-avant de commencer cet article que l'une des œuvres les plus
-impressionnantes de Tolkien, si ce n'est la plus grande, est
-l'impressionnant travail linguistique passé sur les différentes langues
-présentes dans son œuvre littéraire : L'elfique, qui est donc le quenya,
-la langue des nains, qui est appelé le khazalide, etc.
-
En effet, a contrario des "langues" développées dans d'autres œuvres littéraires
-telles Eragon ou Harry Potter, où l'auteur-e se contente de lier un mot
-de français (ou d'anglais) a un mot de sa "langue", les langues de
-l'oeuvre de Tolkien sont des langues complètes. Elles possèdent des
-racines logiques, des systèmes de grammaire et de conjugaison propres,
-une logique inhérente dans la prononciation ou l'orthographe, et ainsi
-de suite.
-
Un véritable rêve de linguiste donc, puisque ces langues sont
-pratiquement entièrement documentées par Tolkien lui même (voir
-l'appendice E du SdA, particulièrement instructif a ce sujet.)
-
J'ai donc décidé d'apprendre le Quenya récemment, et je vais donc poster
-ici des résumés des cours que je suis ( disponibles ici , une
-traduction en français est disponible la en pdf ), et des infos ici
-toutes les deux semaines.
-
Si ce sujet vous intéresse, le compte twitter @Quenya101 poste
-régulièrement des informations sur le sujet, et pour plus d'infos sur le
-sujet, vous pouvez en trouver par ici.
-
Et en tant que première leçon, vous pouvez apprendre que ce mot que vous
-avez prononcé comme le Kenya tout le long de cet article se prononce en
-fait [Kwenïa], ou bien Qwenya!
Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques
-années (plus ou moins, parce que j'ai toujours un Windows en dual boot,
-principalement pour les jeux (possiblement plus pour longtemps, avec
-l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou
-moins bien mon système. Or il y a plusieurs choses a savoir sur les
-systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est
-le système de couches.
-
Un système d'exploitation (de type UNIX, \<troll>enfin un vrai système quoi.
-\</troll>) incorpore plusieurs systèmes de couches.
-
Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique,
-c'est a dire que tous les composants sont intégrés au kernel. Ce qui
-signifie que rien ne peut être ajouté au noyau sans recompiler celui ci.
-Or, quand on sait que le noyau comprend entre autres les drivers du
-matériel et des systèmes de fichier, cela peut poser des problèmes quand
-a la taille du kernel et a la licence libre de ce dernier.
-
Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui
-signifie que des modules peuvent être chargé a tout moment en cours
-d’exécution, ce qui permet l'utilisation de nouveaux systèmes de
-fichiers a chaud, ou l'insertion de matériel et l'installation de
-drivers sans interrompre l’exécution du système (Windows utilise un
-système de fausse installation de drivers pour le matériel externe, et
-un système de pré-installation des drivers pour les périphériques dits
-"plug and play")
-
Après le noyau intervient le système. Or, au tous premiers instants du
-boot, les systèmes GNU/Linux utilisent un système permettant de limiter
-l'utilisation de ressources systèmes si elles ne sont pas nécessaires,
-et incorpore ainsi un système dit de "runlevels"
-
Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce
-runlevel permet de tester le bon démarrage du système sans avoir a
-effectuer de manipulation pour le ré-éteindre
-
Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté
-étant donné que ce runlevel donne accès a un système en étant
-automatiquement loggé en tant que root, avec tous les autres
-utilisateurs désactivés, de même que tous les systèmes de réseaux
-
Le runlevel 2 est appelé mode multi user, et vous mets en face d'un
-système classique. en ligne de commande, mais avec tous les systèmes de
-réseau désactivés.
-
Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux
-activés.
-
Le runlevel 4 n'est pas officiellement défini, et est censé être
-activable en fonction des besoins de l'utilisateur. Sur la plupart des
-distributions grand public, ce runlevel est lié au...
-
Runlevel 5! Multi-user, networking, with working GUI! c'est le système
-tel que vous le connaissez, avec l'interface graphique et le système de
-login graphique.
-
Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine
-quand il devient le runlevel courant.
-
(Il est a noter que Debian, et donc toutes les distribs qui en sont
-dérivées, ne font pas de distinction entre les differents runlevels du 2
-au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login
-et une interface graphique, et un mode réseau fonctionnel, bref avec des
-fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)
-
Il est possible de changer de runlevel grâce a la commande runlevel
-(oui, c'est évident...)
-
Les systèmes Linux utilisent aussi un système dit de SandBox , qui en
-informatique est un système permettant d'isoler les processus les uns
-des autres. Ainsi, la pile réseau, qui est le système auquel les
-différents processus envoient les différents paquets qui doivent sortir
-de la machine , et qui redistribue ces paquets, est isolée du reste du
-système, en cela qu'aucun des autres processus ne peuvent modifier cette
-pile hors du runlevel 1 ou 2.
-
De la même façon, le navigateur chrom/ium fait fonctionner tous les
-onglets, ainsi que toutes les extensions, dans des processus différents.
-Certaines distributions linux implémentent un système de cette sorte
-pour toutes les applications, ou seulement pour certaines. ainsi Chakra
-Linux a un système d'installation d'applications dans des disques
-virtuels, ce qui permet une sécurité totale du processus.
-
Voila, j'espère vous en avoir appris un peu sur le fonctionnement des
-différentes couches de linux, et j'espère que cet article vous poussera
-a tester un peu votre système et a vous amuser avec les différents
-runlevels
Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
-avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
-connaissez surement NTFS, EXT4, ou encore FAT32.
-
Ces différents noms désignent en effet des systèmes de fichiers. Mais
-qu'est-ce qu'un système de fichiers?
-
Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
-fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
-plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
-(kibioctet), en fonction du système de fichier utilisé.), qui est
-donc composé de bits, interprétés différemment en fonction du type de
-fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
-n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
-ou il commence ni où il s'arrête (je schématise un peu, mais c'est
-l'idée).
-
Ainsi, le système de fichier donne un cadre et un standard à
-l'arborescence des fichiers. Par exemple, le système de fichier ext4
-utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
-disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
-et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
-de fichiers nécessitent l'inclusion de drivers dans le noyau pour
-pouvoir être pris en compte.
-
Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
-reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
-près tout type de partition récente.
-
Il convient de bien faire la différence entre le système de fichier et
-l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
-une entité virtuelle englobant la racine / et tous les fichiers et
-dossiers contenus dedans, le système de fichier permet a votre système
-GNU/Linux de distinguer les différents fichiers composants cette
-arborescence.
-
Détaillons maintenant les types de fichiers les plus répandus:
-
-
-
FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
- soit la définition d'un système de fichier), remplissent leur rôle le
- plus simplement possible. Ne permettant (historiquement) que des noms de
- 8 caractères (plus extension de trois caractères), ni chiffrement, ni
- système de distinction d'utilisateurs (DOS étant un système
- mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
- utlisants respectivement des blocs de 16 et 32 Kio.
-
-
-
NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
- NT) est un système de fichier qui est apparu avec Windows XP, et qui
- était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
- FAT différentes capacités dont le chiffrement, les liens symboliques, la
- compression et les quotas pour les volumes, permettant de limiter la
- taille maximum occupée dans une partition.
-
-
-
ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
- Ne différant pas énormément de NTFS, je le mentionne principalement
- parce qu'il est prévu qu'il soit le défaut pour Windows 8.
- Il apporte principalement la redondance, c'est a dire que chaque
- fichier possède une somme de contrôle en 64 bits stockée dans un fichier
- séparé pour éviter les corruption de disque.
-
-
-
Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
- les plus utilisés sous linux pour le grand public. (Je traiterai ici
- d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
- fonctions que l'on peut attendre d'un système de fichiers moderne, ni
- plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
- acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
- "par extent", ce qui signifie que la création d'un fichier réserve
- automatiquement les zones contiguës de façon a réduire la fragmentation.
-
-
-
ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
- programmeur Hans Reiser, est a retenir pour avoir été le premier système
- de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
- 4 milliards. Le but de ce système est de créer un système polyvalent, a
- la fois système de fichiers et base de donnée (de part sa grande
- capacité en terme de nombre de fichiers et de l'utilisation d'un
- journal.)
-
-
-
Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
- l'allocation par extent, mais possède de plus un système de
- sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
- montées en même temps (système pratique et utile pour faire des
- snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
- taille des partitions, en les agrandissant ou en les rétrécissant, est
- compatible avec LVM, a un système de checking intégré (btrfsck), et
- utilise un algorithme de compression appelé LZ4, qui accélère les accès
- aux fichiers compressés d'environ 30% par rapport a LZO, le système
- utilisé dans ext4.
-
-
-
HFS+ : le système de fichier présent sur tous les macs a des capacités
- relativement standards, et ressemble énormément a l'ext3. Il supporte
- cependant les liens directs vers les dossiers, fonction rare sur les
- systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
- dans les années a venir
-
-
-
ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
- et *BSD, est, tel Btrfs, a la fois un système de fichier et un
- remplaçant/compatible avec LVM, C'est un système de fichiers conçu
- principalement pour les serveurs, et il intègre ainsi un système de
- redondance des données pour éviter les corruptions, un mode RAID-Z
- (apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
- etc...
-
-
-
Comme on a pu le voir, les systèmes de fichiers disponibles sont
-légions. Cependant, le plus adapté a Linux et a une utilisation grand
-public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
-n'est pas aujourd'hui proposé par défaut sur les distributions les plus
-utilisées, au profit de l'ext4, qui commence a accuser son âge...
-
Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
-fonctionnement du système, sont en fait de première importance, et ce
-choix ne devrait pas être laissé au hasard, et être mis a jour
-régulièrement (pour éviter les failles de sécurité...)
-
Bon courage, et bon choix pour votre prochain système.
Après avoir lu cet article paru sur écrans.fr, et au vu des
-nombreuses réflexions que j'ai eu sur ce sujet au cours des années, je
-commence a me demander si la réponse logique ne serait pas d'enseigner
-les bases de l'informatique (bases d’électronique, de programmation et
-de logique formelle) dès le collège.
-
En effet, l'exemple qui me revient toujours est celui des technoprêtres
-de warhammer 40 000, dans un univers ou la technologie est ritualisée et
-incomprise même des plus savants, qui se contentent de reproduire ce qui
-existe, et parfois par chance de retrouver un schéma explicatif lisible
-par une machine, et qu'ils ne comprennent pas eux mêmes, ou toute
-technologie est ointe d'onguents sacrés, entourée d'encens avant d'être
-péniblement actionnée par des assistants ne comprenant rien a cette
-technologie (ayant lu Hackers - Heroes of the Computer Revolution de
-Steven Levy, c'est l'ambiance que l'on retrouve quand l'auteur décrit
-l'ambiance près des machines IBM au MIT, au début de l'ouvrage), et il
-me semble que de plus en plus la société se rapproche de cela.
-
Cette culture de l’ingénierie, qui existait beaucoup lors des débuts de
-l'informatique (telle que décrite par exemple par Steve Wozniak dans son
-livre iWoz) disparait pour laisser place a une culture de la
-consommation et de l'utilisation de contenus existants, et même a une
-certaine peur de la compréhension de la technologie. Ceux qui s'y
-intéressent sont considérés comme marginaux (combien de hackers créent
-des outils sur lesquels seront construits tous les systèmes du siècle a
-venir, tels des Dennis Ritchie en puissance? Combien d'entre eux ne sont
-pas intégrés a la société dite "normale"?), et on peut souvent observer
-les réactions de peur que lancent les actions des hackers, ne serait-ce
-que dans les journaux (combien de journaux 'mainstream' ont-ils parlés
-des hackers en bien, c'est a dire tels qu'ils sont réellement, depuis
-les années 80?) ou a la télévision.
-
Ainsi, la culture et la connaissance de ces appareils que
-sont les ordinateurs, qui aujourd'hui se trouvent du fond de nos
-poches a dans l'espace en passant par l’intérieur des pacemakers
-jusqu’à être une composante indispensable de la société, se perdent et
-rendent ainsi la compréhension de ces appareils impossible (j'ai eu
-la désagréable surprise récemment de voir un camarade de classe
-me poser ingénument la question "Ah, mais en fait, quand tu installes
-Linux, ça change le fond d'écran et les icônes?". Au-delà du niveau,
-la misère de cette question est que cette personne n'avait probablement
-aucune idée de la façon dont fonctionnait son ordinateur, a part
-pour le fond d'écran en question et pour les fameuses icônes.) pour
-le grand public, et cet évolution crée de fait une sorte d'oligarchie de
-techno-comprenants, seuls capables de manier et de créer la technologie.
-
C'est pour cela qu'il me semble intéressant, important, peut être même
-requis, d'inclure au programme du collège puis du lycée des cours
-d’électronique et d'informatique tels que décrits plus haut, de façon a
-ce que les élèves comprennent le monde qui les entoure. Car c'est la le
-but du cycle scolaire secondaire, me semble-t-il, et non pas de former
-des futurs travailleurs. Sinon, pourquoi y aurait-il des cours de
-musique, d'arts plastiques, ou encore de philosophie? Si le but du cycle
-secondaire est bien d'ouvrir l'esprit des élèves sur le monde et sur ce
-qui les entoure, alors les cours sur l'informatique s'imposent comme une
-évidence, puisque ceux-ci nous entourent aujourd'hui bien plus que quoi
-que soit d'autre...
-
Ces cours seraient susceptibles de s’insérer en un mélange entre des
-cours de technologie (qui aujourd'hui sont bien plus orientés physique
-et machines-outils qu'informatique ou électronique, alors que la
-technologie d'aujourd'hui et vraisemblablement de demain aussi est
-l'informatique) et de physique, pour le côté électronique, et de façon a
-donner enfin aux cours de physique un intérêt quelconque, sortir au delà
-de la théorie et de l'abstraction complète que sont actuellement ces
-cours et passer un peu dans la réalisation, avec des arduinos par
-exemple.
-
Vous aussi, intéressez vous a cela, de façon a ce que les jeunes ne
-finissent pas par ne rien comprendre a ce qui est aujourd'hui l'une des
-composante les plus importantes du monde tel qu'il est programmé.
Bonsoir! Un petit post pour faire un peu le point sur ce blog.
-Comme vous avez pu le remarquer, j'ai un peu de mal a tenir les délais
-que je m'étais fixés pour ce blog (un post tous les 8 jours), et après y
-avoir un tantinet réfléchi, ceci est du a deux points principaux :
-
-
-
Tout d'abord, le manque d'inspiration, tout simplement. C'est assez
-compliqué de trouver des sujets intéressants liés a l'informatique, et
-qui méritent un article. Je vous invite d'ailleurs a me suggérer des
-sujets via les commentaires ou twitter (@Wxcafe)
-
-
-
Ensuite, le délai de 8 jours est trop court pour me permettre de faire
-les recherches nécessaires, tout en manageant mes cours et mon temps
-libre.
-
-
-
A cause de cela, j'ai pris la décision de changer le rythme de parution
-des articles a un *minimum* d'un post tous les 10 jours. Bien entendu,
-si j'ai de l'inspiration en trop, plus de posts sont envisageables.
-
Voila. A part ca, je tiens a vous remercier de me lire (c'est assez
-étonnant de voir ca...), et je précise que je vais ajouter une page
-About Me, qui bien entendu rassemblera des informations sur moi, ma vie,
-mon oeuvre :P
-
Ceci dit, je vais bosser un peu sur le prochain article.