La cryptographie pour les nuls I : Keepassx

Comme tout le monde, vous avez plusieurs mots de passe à mémoriser : boîtes mails (avec un « s » car vous en avez bien évidemment plusieurs), comptes sur divers sites (amazon, ebay, banque, facebook satan [1], forum ubuntu-fr…). Du coup, comme tout le monde, vous utilisez partout le même. Grossière erreur ! Si l’un de ces sites se fait pirater, c’est tous vos comptes qui sont compromis ! Ce qui, faut-il le préciser, n’est pas une bonne chose : non seulement le vilain pourra accéder à vos données sur le site maintenant piraté mais aussi sur les autres. Il pourra aussi éventuellement se faire passer pour vous ou utiliser les informations acquises pour payer avec votre carte bleue. Ce qui n’est guère enthousiasmant.

« Que faire ? », me demanderez-vous. « Installez Keepassx », vous répondrai-je.

De la nécessité de stocker ses mots de passe

Tout d’abord, j’espère que l’introduction ci-dessus vous a montré qu’il faut utiliser différents mots de passes pour les différents sites que vous utilisez. Néanmoins, mémoriser plusieurs mots de passe peut s’avérer difficile, et ce d’autant plus qu’ils doivent être « bon ». En effet, les vilains pas beaux qui veulent pirater vos comptes peuvent employer une méthode très simple : essayer tous les mots de passes possibles jusqu’à tomber sur le bon. Pour se prémunir contre cela, il n’y a pas des dizaines de manières de procédé : il faut des mots de passe compliqués. 8 caractères sont un minimum strict, la présence d’au moins un chiffre et de lettres de différentes casses [2] aussi. De plus, l’essai de tous les mots de passe possibles, appelé « attaque par la force brute » voire « brut-force » pour les intimes anglophones ne consiste pas seulement en un essai de toutes les combinaisons de lettres possibles. En effet, le procédé peut être amélioré en utilisant des dictionnaires : dès lors, on essaie d’abord toutes les combinaisons de mots du dictionnaire, d’où la nécessité d’un mot de passe encore plus compliqué. Illustrations :

  • aaa ou 123456 ou encore azertyuiop : très mauvais mots de passe. De part leur simplicité, ils sont très répandus et par conséquent parmi les premiers à être testés (cf. sources données en fin d’article). Vous pouvez presque considérer les informations publiées avec un tel mot de passe (tout pourri) comme publiques, c’est à dire que tout un chacun peut non seulement les lire mais les modifier, ce qui peut être encore plus embêtant.
  • john781124 : mieux, mais la date de naissance est aussi un motif (trop) classique. Cela peut être suffisant pour des choses de peu d’importance (inscription sur des forums par exemple), mais est trop faible pour une application nécessitant une vraie sécurité : mot de passe root sous GNU/Linux, mot de passe bancaire, données chiffrées sur votre ordinateur [3], etc. Et ne venez pas pleurer si votre compte se fait pirater !
  • J0h24n,11 ou N'epmcqàjd12Eacd'èépmmlm. : respectivement mieux et vraiment beaucoup beaucoup mieux. Le premier est obtenu à partir du prénom et de la date de naissance mais il a été amélioré en remplaçant le « o » par un « 0 » (zéro), en mettant le jour de naissance dans le nom et en ajoutant un ponctuation. Plus efficace que le précedent, il est par contre plus difficile à mémoriser. Le deuxième est très robuste et en fait assez facile à mémoriser : les fans de Lovecraft savent bien ceci : « N’est pas mort ce qui à jamais dort. Et au cours d’ères étranges peut mourir même la mort. ». Prenez la première lettre de chaque mot, gardez la ponctuation et séparez les phrases par un nombre (12 ici) et vous obtenez un beau mot de passe en béton armé !

    Ces mots de passes, en particulier ceux du type du deuxième sont adaptés à la protection d’informations sensibles. En fait, en tant qu’humains, vous ne pourrez pas faire beaucoup mieux…

  • DfASXxYv9egtwyDEudfkKx8FZPk ou 4rig9sFVL0xAiT9x+amcUdmLe/Q : Impossible en théorie [4] de faire mieux ! En effet, il s’agit ici de séquences de lettres, chiffres et ponctuation presque aléatoires (on dit « pseudo-aléatories »). Si elles étaient parfaitement aléatoires, il n’y aurait absolument aucun moyen autre que la force brute pour les obtenir. En pratique, même si les séquences ne sont que pseudo-aléatoires, la force brute reste la seule possibilité (à moins de vraiment utiliser un générateur pseudo-aléatoire en carton).

Néanmoins, même s’il est possible de mémoriser quelques très bon mots de passe, il vous en faut en fait de très nombreux. Donc vous ne pouvez pas les mémoriser : il faut les stocker. L’idée de keepassx (et d’autres logiciels du même acabit, comme passwordsafe) est de stocker des mots de passe en les protégeant… À l’aide d’un mot de passe ! Celui-ci, appelé « maître », se doit d’être particulièrement solide. Le mien par exemple fait aux alentours de 20 caractères avec majuscules, minuscules, ponctuations, chiffres et lettres accentuées. Mais il ne peut pas être aléatoire car vous allez devoir le mémoriser (en fait, c’est le seul).

Utilisation de Keepassx

Lors donc, intéressons-nous de plus près à ce logiciel. Tout d’abord, pourquoi vous parle-je de celui-ci en particulier ? Parce que je le connais bien (c’est celui que j’utilise) et parce qu’il est multi-plateforme : il tourne aussi bien sous GNU/Linux que sous Windows ou Mac OS. Enfin, c’est ce que tout le monde dit, moi je n’ai testé que la version GNU/Linux [5].

Installation

  • GNU/Linux : Sous ubuntu, ouvrez un Terminal (Applications > Accessoires > Terminal). Là, tapez « sudo apt-get install keepassx », puis faites « Entrée ». Ensuite, tapez votre mot de passe (rien ne s’affiche, c’est normal) puis re-faites « Entrée ». Une fois que les messages cryptiques ont fini de défiler, c’est bon ! Vous pouvez le trouver dans le menu Applications > ??????. Ceux qui ne sont pas sous Ubuntu auront reconnu une bête installation de paquet. Au pire, les sources sont dispos.
  • Windows : comme toujours, télécharger le .zip sur le site du programme, dézippez le (clic droit > ouvrir avec winzip… Du moins je suppose ^^). Ensuite, pour lancer le programme, cliquez simplement sur KeePassW.exe. Notez que vous pouvez mettre le dossier ainsi obtenu sur clef USB afin d’être sûr d’y avoir toujours accès ! C’est ce que je fais personnellement, mais nous y reviendrons.
  • Mac OS : … Euh… Aucune idée. Vous pouvez le télécharger ici, mais je ne sais pas ce qu’il faut faire après. Peut-être qu’en priant suffisamment fort, le fantôme de Steeve Jobs vous viendra en aide ? EDIT : une bonne âme a fourni des explications sur le sujet dans les commentaires ; louée soit-elle !

Création de votre base de données chiffrées

Maintenant, créons une base de données contenant vos mots de passe. Dans mon immense bonté, j’ai même fait des captures d’écran pour vous faciliter encore plus la tâche ! Gardez à l’esprit que je n’ai cependant testé que la version GNU/Linux et que des différences peuvent exister avec les autres. Je serais cependant surpris qu’elles soient autres que cosmétiques.

  1. Lancement : création d’une base de donnée chiffrée

    Capture d'écran montrant la création d'une nouvelle base de données chiffrée par Keepassx

    Voici la fenêtre qui s’ouvre quand vous lancez keepassx pour la première fois. Comme vous pouvez le constater, on vous demande de définir la « clef maître ». Celle-ci est le mot de passe qui vous sera demandé à chaque fois que vous lancerez l’application pour retrouver vos mots de passe. C’est sur lui que repose la sécurité de toutes vos données, alors choisissez en un bon. Et ne l’oubliez pas ! Si vraiment vous n’êtes pas sûrs de vous, vous pouvez l’écrire sur un papier que vous garderez dans votre porte-feuille (ou encore mieux, écrivez juste un moyen mnémo-technique).

    Il est également possible d’utiliser un fichier comme mot de passe. À vous de voir, si vous ne savez pas quoi faire, choisissez un mot de passe 😉

  2. Confirmation du mot de passe

    Capture d'écran montrant la fenêtre de confirmation du mot de passe.

    Tout est dans le titre : il faut que vous retapiez votre mot de passe. J’ai bien dit « retapez » hein, pas « copiez-collez ». Le but étant de vérifier que vous n’avez pas fait de faute de frappe, ce serait dommage de contourner cette sécurité.

  3. Fenêtre principale

    Passons au chose sérieuses ! Regardons à quoi ressemble l’interface principale de Keepassx. Pour bien commencer, voilà une capture d’écran :

    Capture de la fenêtre principale de Keepassx

    Vous pouvez dors et déjà noter la présence d’icônes classique dans la deuxième barre horizontale en partant du haut : une feuille blanche pour créer une nouvelle base de données, un disquette sortant d’un dossier pour l’ouverture d’une base de données déjà existante, une disquette pour la sauvegarde et une clef jaune pour l’ajout d’une nouvelle entrée. Notez au passage qu’une description rapide de l’action effectuée par chaque bouton apparaît en plaçant la souris dessus sans cliquer.

    La notion d’entrée est cruciale pour le fonctionnement de ce logiciel, je propose donc [6] que nous nous intéressions de plus près à cette notion. Pour Keepassx, une entrée est l’ensemble constitué d’un nom d’utilisateur, du mot de passe qui lui est associé et d’autres informations facultatives, comme l’adresse du site considéré, un quelconque commentaire, une date d’expiration et même un éventuel fichier à joindre à l’ensemble. Ce fichier sera d’ailleurs chiffré lui aussi [7].

    La barre latérale à gauche de l’interface montre les différents groupes d’entrées. Celles-ci sont regroupées pour permettre des les retrouver plus simplement. Cela n’a rien d’obligatoire, mais c’est quand vachement pratique ! Pour ajouter un nouveau groupe, cliquez simplement sur l’onglet « groupes » dans la barre horizontale (tout en haut), puis cliquez sur « ajouter un groupe ».

Ajout et consultation d’une entrée

Maintenant que le programme est lancé, il s’agit de l’utiliser !

  1. Nouvelle entrée

    Comme dit précédemment, l’information est stockée dans des « entrées ». Nous allons donc en créer une. Pour cela, cliquez sur la clef jaune dans la barre d’icône ou bien faites un clic droit sur le groupe dans lequel vous voulez mettre cette entrée et choisissez « ajouter une nouvelle entrée. Ceci devrait apparaître :

    Capture de la fenêtre de création d'une nouvelle entrée

    C’est assez clair : il faut que vous remplissiez les différents champs pour pouvoir stocker les informations voulues. Notez qu’il est possible en faisant un clic droit sur une entrée dans l’écran principal de copier le mot de passe et le nom d’utilisateur. Du coup, le mot de passe ne sera jamais affiché en clair (à moins que vous ne le demandiez explicitement) ! Mais intéressons-nous de plus près au champ « mot de passe ».

  2. Génération d’un mot de passe

    Comme précédemment, il faut le taper deux fois. Néanmoins, si vous voulez créer un nouveau compte sur un site, ou bien si vous voulez remplacez un mot de passe en carton existant, vous pouvez en générer un quasi-aléatoire. Puisque vous n’avez pas besoin de mémoriser les mots de passe, autant en profiter pour prendre des trucs solides ! CLiquez sur l’icône « Gén. » à côté des champs « mot de passe ». La fenêtre suivante apparaît:

    Capture de la fenêtre de génération d'un nouveau mot de passe

    Je vous conseille les réglages que j’ai utilisé. Cependant, il se peut que certains sites interdisent par exemple les caractères spéciaux. Dans ce cas, décochez simplement la case correspondante. Si la longueur est limitée, vous pouvez également la diminuer.

    La case « activer la collecte d’aléas » permet, si elle est cochée, d’augmenter « l’aléatoiritude » [8] du mot de passe généré. Pour cela, lors de la génération, une nouvelle fenêtre va apparaître:

    Capture de la fenêtre de génération des aléas

    Comme expliqué dans la nouvelle fenêtre, agitez la souris et tapez n’importe quoi au clavier pendant la durée nécessaire. Le but est d’avoir des mouvements aléatoires, donc faire des ronds avec la souris n’est pas une bonne idée…

  3. Sauvegarde

    Pour sauvegarder votre base de données, il suffit de cliquer sur la disquette de la barre d’icône puis de créer un fichier à l’endroit où vous voulez, ayant le nom que vous voulez. Il sera bien de stocker cette base de données à plusieurs endroits, par exemple sur une clef USB que vous avez toujours sur vous (j’en ai une dans mon porte-clefs) sur laquelle vous pouvez mettre le fichier .exe de Keepassx. Comme ça, vous pourrez accéder à vos mots de passe sur le PC sous Windows de vos amis [9].

  4. Lecture

    Pour accéder aux informations que vous venez d’enregistrer, il suffit de lancer Keepassx. S’il n’ouvre pas la bonne base de données tout seul, il faut la lui préciser soit lorsque cela est demandé (au lancement), soit en cliquant sur l’icône « ouvrir » (deuxième en partant de la gauche).

    Pour lire le contenu d’une entrée, le plus simple est de faire un clic droit dessus : on vous proposera de copier le mot de passe ou le nom d’utilisateur : même pas besoin de l’afficher à l’écran ! Sinon, vous pouvez cliquer sur « afficher/modifer » pour tout voir. Mais ça ne devrait pas souvent être la peine.

Conclusion

Un article plus long que la moyenne (en particulier du fait du nombre de captures d’écran) qui était j’espère suffisamment accessible pour que même les plus novices le comprenne. Comme toujours, n’hésitez pas à me poser des questions dans les commentaires ! Prochaine épisode : « La cryptographie pour les nuls II : truecrypt » aucours duquel nous verrons comment utiliser vos mots de passes en béton pour protéger vos données sur votre ordinateur (ou sur votre clef USB).

Sources

  • Un document (pdf en anglais disponible ici) rédigé par Imperva (en), une société américaine spécialisée dans la sécurité des données, après qu’un hacker ait mis la main sur 32 millions de mots de passe qu’il a publié de façon totalement anonymisée (c’est à dire que les logins correspondant n’étaient pas révélés, le but n’était donc manifestement pas de nuire).
  • Cet article (en) expliquant comment fonctionne un « casseur de mot de passe » puis des méthodes pour s’en prémunir a été écrit par Bruce Schneier, un sommité mondial en sécurité de l’information. En fait, il y a même des « Bruce Schneier Facts » (en) calqués sur les « Chuck Norris Facts ». Attention cependant, un niveau correct en cryptologie et/ou théorie de la complexité est nécessaire pour les apprécier à leur juste valeur…

[1] (retour) Hmmm ? Subtilité ? Et puis quoi encore ?
[2] (retour) On appelle « casse » le fait pour une lettre d’être en majuscule ou en minuscule. En l’occurrence, il faut que vous mélangiez majuscules et minuscules.
[3] (retour) Un article sur comment chiffrer vos données personnelles sur votre ordinateur devrait suivre sous peu.
[4] (retour) En théorie seulement, en pratique, pour que cela soit parfait, il faudrait un générateur de nombres parfaitement aléatoires. Cela n’existe pas à l’heure actuelle, mais il en existe tout de même de bons. Pour les besoins de la démonstration, j’ai utilisé celui d’openssl avec la commande openssl rand -base64 20 (20 étant le nombre d’octets générés) même s’il est imparfait, comme tous (à des degrés divers cependant).
[5] (retour) Je vais pas installer windows juste pour ça, non mais 😮
[6] (retour) Mais sans vous laisser le choix parce que bon, hein, c’est moi le chef quand même. Non mais.
[7] (retour) Techiquement, Keepassx peut donc être utilisé pour stocker autre chose que des mots de passe de façon sécurisée. Néanmoins, il n’a pas été conçu dans cette optique et n’est par conséquent pas vraiment adapté à cet usage. Bien sûr, cette fonctionnalité peut dépanner ; cependant, je recommande plutôt pour cela truecrypt (qui sera lui aussi le sujet d’un article).
[8] (retour) Oui, bon, vous avez compris hein. Ne chipotez pas.
[9] (retour) Et vous faire ainsi piquer tous les mots de passe que vous utiliserez chez lui parce qu’il aura 15 virus différents d’installés sur sa machine dont 3 enverront les mots de passe qu’ils ont vu aux chinois du FBI travaillant pour le KGB :P. Oui, « référence nécessaire », certes. Tant pis.

Des maths discrètes

Si vous me connaissez IRL, vous savez que je suis parti en direction de l’étoile polaire dans le but d’étudier les maths discrètes. Au cours de ma (pas si longue) existence, chacune de mes déclarations à ce sujet s’est vue accueillir de deux façons différentes :

  • Version initiée : «  Des maths discrètes ? Mais t’es fou ! Qu’est-ce qui t’a pris ?! »
  • Version profane : «  Maths discrètes ? Ah… Euh… C’est quoi au juste ? »

Deux interrogations légitimes qui vont recevoir céant des réponses que j’espère convaincantes.

« Maths discrètes ? Ça se mange ce truc ? »

Non, du moins pas que je sache.

Tout d’abord, entendons nous bien : l’adjectif discret n’a absolument rien à voir avec une quelconque furtivité, invisibilité ou autre. En d’autres termes, les maths discrètes ne sont pas appelées ainsi à cause des ninjas [1]. Encore que ça aurait pu leur être utile, comme nous le verrons plus tard.

« un ninja de la période Edo »

Un mathématicien discret vient d’être dérangé dans ses œuvres (vue d’artiste). Merci wikicommons pour la photo !

En mathématique, discret s’oppose à continu. Exemple de truc continu : les nombres réels. Exemple de truc pas continu : les nombres entiers. Pour comprendre intuitivement à quoi on se réfère quand on parle d’ensemble continu ou discret, pensez à une chose toute simple : est-ce que, pour deux éléments d’un ensemble, il y en a toujours un entre les deux ? Par exemple, est-ce qu’entre deux nombre réels, il y en a toujours un ? Ben oui, leur moyenne par exemple. Est-ce qu’entre deux nombres entiers il y en a toujours un ? Ben non, par exemple on ne trouvera jamais de nombre entier entre 1 et 2.

C’est en fait un peu plus compliqué puisque Q, l’ensemble des nombres rationnels (les fractions, à peu de choses près), n’est PAS continu en dépit du fait qu’il soit toujours possible de trouver un nombre rationnel entre deux éléments de Q. Ne chipotez pas.

Les maths discrètes s’intéressent donc à des structures… discrètes. Logique. En particulier, des pans entiers des mathématiques ne s’intéressent qu’à ce qui se passe dans N (ou Z), c’est à dire au sein des entiers. Par exemple, l’arithmétique et son cortège de nombres premiers constituent un domaine d’étude conséquent (et passionnant). Il y a cependant également d’autres structures discrètes, comme les ensembles désignés par « Z/nZ » correspondant très grossièrement aux nombres allant de 0 à n-1. On peut aussi penser aux graphes, à la logique booléenne, etc.

« Et ça sert à quoi ? Ça me dit pas pourquoi tu veux en faire… »

Vous faites donc partie de ces gens qui estiment que l’utilité prime sur le reste dans la recherche ? Je ne vous félicite pas, rustre. Jusqu’à récemment, la meilleure réponse à cette question était « à occuper les matheux », ce qui est en soit une très noble cause. Néanmoins, avec le développement de l’informatique, une nouvelle réponse un tantinet plus classe est de rigueur : « à faire tourner le monde ». Rien que ça. En effet, le principe de fonctionnement des ordinateurs repose sur un modèle établi par Turing [2] au milieu du XXème siècle, celui de la machine de Turing. Son étude, ainsi que toute la théorie de la complexité qui en découle relève des maths discrètes. L’algorithme permettant à un GPS de calculer le chemin le plus efficace, nommé algorithme de Dijkstra en l’honneur de M. Dijkstra repose sur la théorie des graphes. La sécurité de vos transactions bancaires informatiques dépend de RSA, une méthode de chiffrement reposant sur la théorie des nombres, en l’occurrence la difficulté à factoriser un grand entier. Le processeur, c’est à dire le « cerveau » de votre ordinateur utilise massivement la logique booléenne. Je pourrais continuer pendant des pages, mais je pense que j’ai montré où je voulais en venir : les maths discrètes sont cruciales !

Ce domaine des mathématiques n’est, en dépit de son importance, pas très apprécié en général par les étudiants. Le problème est que les modes de raisonnement employés peuvent être assez éloignés de ce à quoi l’on est habitué dans le cas continu ; c’est du moins mon point de vue. Les maths discrètes peuvent aussi très facilement devenir complètement barrées et ultra-abstraites, par exemple dans le cas de la théorie de la complexité où on se retrouve à considérer des machines de Turing non-déterministes, c’est à dire très (mais alors très très) grossièrement des calculateurs qui peuvent renvoyer le bon résultat, ou pas, sans que ce soit un problème. Bizarre ? Vous n’avez pas idée…

Personnellement je trouve ces divers sujets absolument passionnants, encore plus que la résolution d’équations différentielles ou la physique. D’où mon départ en direction de l’étoile polaire.

« Et les ninjas dans tout ça ? »

En bons espions, les ninjas se devaient probablement de communiquer de façon sécurisée avec un commanditaire [3]. Dans ce cas, ils devaient probablement chiffrer leurs messages, c’est à dire les rendre illisibles pour le cas où un malotru les intercepterait. L’art du chiffrement, la cryptographie, utilise lui aussi massivement les mathématiques discrètes.

D’ailleurs, je compte publier dans les semaines à venir diverses méthodes pour protéger vos informations personnelles sur votre ordinateur, histoire que vous n’ayez pas les mêmes problèmes que Scarlett Johansson.

Sur ce, je retourne à mes activités suédoises et vous souhaite une bonne journée.


[1] (retour) Les ninjas étaient des sortes d’espions œuvrant dans le japon féodal, c’est à dire grossièrement au pays des samouraïs et des geishas (ce blog n’avait pas respecté son quota de cliché ce mois-ci). Dans l’imagerie populaire, ils sont vêtus de noir et ont le visage masqué. C’est en réalité, aussi incroyable que cela puisse paraître, un poil plus compliqué.
[2] (retour) Turing est, à mon avis du moins, un des plus grands génies du XXème siècle, à ranger entre Einstein et Gödel. Grosso modo, il a inventé l’ordinateur pour combattre les nazis : c’est assez dur de faire plus classe. Plus précisément, il a participé activement à la conception des premières bombes cryptographiques qui ont permis d’industrialiser le « cassage » (on dit « cryptanalyse » normalement) de la machine utilisée par les nazis pour chiffrer leur communications, contribuant ainsi à l’invention de l’informatique et à la victoire des alliés pendant la IIème guerre mondiale. Par contre, comme il était gay, il a été castré chimiquement et s’est suicidé en conséquence de cela en mangeant une pomme empoisonnée. La prochaine fois, il y réfléchira probablement à deux fois avant de sauver le monde…
[3] (retour) Pure spéculation de ma part, mes compétences en « ninjalogie » (néologisme pour nommer la science des ninjas) étant plus que limitées.

Inception-post

Aujourd’hui, intéressons-nous de plus près à la dure vie d’un blog en faisant un article de blog sur… le fonctionnement d’un blog. Le mien en l’occurrence puisque je me garderai bien de parler de ceux des autres (ne serait-ce que parce que je ne connaîtrais alors pas assez bien le sujet).

« Yo dawg! » dit X-zibit.

Voilà un article dont X-zibit ne renierait pas le sujet [1].

D’abord, c’est quoi un site internet ?

Du point de vue de votre navigateur web, c’est à dire du logiciel que vous utilisez pour aller sur internet [2], on peut dire qu’un site internet se résume à deux choses : un contenu et son apparence. Le contenu, c’est le texte que vous lisez, les liens sur lesquels vous pouvez cliquer, les images qui sont affichées ou encore les musiques et vidéos qui sont jouées. L’apparence décrit la façon dont ces informations doivent être affichées à l’écran, notamment la position relative des différents éléments de la page, leur couleur, le type de police utilisée…

Le contenu est écrit dans un langage appelé HTML qui permet de gérer l’information au sein d’une page. Par exemple, si un morceau de texte est important, on le place entre des « balises strong », c’est à dire qu’on écrit « < strong>un truc important< /strong> ». Ainsi, votre navigateur web sait que ce contenu est important et va par conséquent le mettre en valeur (par défaut, en gras). Il existe beaucoup (beaucoup) de balises différentes qui permettent de signaler un lien vers une autre page, de distinguer plusieurs niveau de titre, d’insérer des images, des vidéos… Mais ces balises ne donnent pas d’information quant à l’apparence, elles informent simplement le navigateur sur le type de l’information à afficher (important, texte normal, lien…). La façon dont doivent être affichés ces différents types d’information est gérée ailleurs.

L’apparence à donner à votre page HTML est décrite dans un autre fichier, sobrement appelé « feuille de style » ou plus simplement « CSS » par une sorte de métonymie (très répandue en informatique) qui a donné le nom du format au type de fichier. Donc, une feuille de style écrite au format CSS donne des informations sur la façon dont les différents types d’information doivent être affichés. Par exemple, on peut y préciser le type de police à utiliser, la couleur du fond mais aussi la présence d’une bordure autour d’un élément ou encore sa position au sein de la page. Les possibilités sont énormes ! Tellement énormes qu’à peu de choses près [3], toutes les pages que vous voyez sur internet reposent sur ce principe. L’usage du CSS est purement esthétique ; d’ailleurs, il existe des sites qui n’en ont tout simplement pas. Il n’en sont pas moins parfaitement lisibles ! Juste un peu plus… rustiques.

Les outils du blogueur

Mais alors, ce site ne serait qu’une accumulation de fichiers HTML et de feuilles de style CSS ? Et bien… non. C’est ce que voit votre navigateur web, mais ce n’est pas ainsi que l’information est stockée sur mon serveur. En fait, les pages HTML sont générées sur mon serveur quand vous les demandez.

Explications : il est tout à fait possible d’écrire à la main des pages HTML et des feuilles de style CSS. D’ailleurs, c’est comme ça que j’ai créé les autres parties de mon site personnel. Par contre, dans le cas de mon blog, vous pouvez constatez qu’il y a de nombreuses pages disponibles : une par article, une par mot clef, une par mois, etc. Impossible de faire tout ça à la main ! J’utilise donc un programme qui, quand vous demandez une page, la génère pour que vous puissiez la télécharger et l’afficher. C’est, ici, ce qu’on appelle un moteur de blog. Plus généralement, c’est le rôle du langage PHP dont vous avez peut-être déjà entendu parler. Bien qu’ultra répandu, il ne fait pas l’unanimité du fait de problèmes multiples.

Comme indiquée dans la section adéquate de mon site, j’utilise wordpress ; c’est à dire que quand vous voulez aller par exemple sur la page principale de mon blog, votre navigateur demande à mon serveur de générer cette page. À ce moment-là, wordpress écrit un fichier HTML à partir des informations dont il dispose (parce que je les lui est donné en écrivant par exemple un article) qu’il renvoie à votre navigateur avec le CSS adapté. C’est comme ça que vous pouvez lire le présent article ! Plus compliqué que ça n’en a l’air, hein ? Et pourtant, il n’y a besoin d’aucune connaissances particulières pour publier sur un blog, tous ces mécanismes sont « cachés » [4].

Pourquoi wordpress ? Parce que c’est une référence en la matière et parce que c’est open-source, tout simplement ! Un autre avantage est sa modularité : on peut très facilement lui ajouter des composants, comme par exemple Statsurfer qui me permet d’avoir diverses statistiques sur la fréquentation de ce blog et dont il a déjà été question par ici. D’ailleurs, s’ils se trouvent des rigolos pour tomber ici en quête de « fesse-de-nonnes » [5] (coucou les fétichistes o/), la plupart des gens qui arrivent ici par le biais de google le font à cause… Du général Ackbar. L’image « it’s a trap » du précédent article est extrêmement bien référencée, à tel point que si on recherche cette phrase sur images.google.fr, ce blog est la deuxième proposition. Pourquoi ? Aucune idée…

Web 2.0

Que serait un blog actuel sans la mention du web 2.0 ? Pour ceux qui ne savent pas ce qu’est le web 2.0, laissons la parole aux experts.

Je ne sais pas vous mais moi ça me rassurerait de savoir que le législateur maîtrise parfaitement son sujet lorsqu’il propose un loi. Remarquez, ça expliquerait certaines choses

En gros, c’est un terme faisant référence au fait que le web [6] n’est maintenant plus structuré de façon asymétrique avec des éditeurs de contenu d’un côté et des « lecteurs » de l’autre mais est au contraire un lieu ou tout le monde peut publier facilement du contenu : blog, wiki, commentaires possibles un peu partout… Et il y a effectivement des commentaires ici, principalement de personnes que je connais (pour ne pas dire exclusivement). Sauf que les spammeurs se sont réveillés.

Spam ? Nommé ainsi en référence à un sketch des Monty Python (les informaticiens ont de bonnes références), on appelle spam les mails non sollicités qui vous infligent des choses aussi diverses que de la pub allant du viagra au rachat de prêt, des liens inconnus au bataillon ou encore tout simplement de télécharger un bon vieux virus des familles. Par extension, il désigne aussi les commentaires qui n’ont rien à faire sur un blog, leur seul fonction étant de poster un lien vers un site quelconque afin d’améliorer son classement dans les moteurs de recherche. Du coup, vous devez maintenant faire un petit calcul hors de portée d’un posteur automatique avant de pouvoir laisser un commentaire ici. C’est aussi le rôle des « captcha », ces textes écrits bizarrement qu’il vous faut recopier avant de pouvoir vous inscrire de nombreux sites ou bien pour faire une transaction bancaire.

Aveu de Cheval de Troie et Conclusion

Vous aurez remarqué que sous couvert de parler de mon blog, j’ai en fait surtout expliqué les bases (ultra basiques certes) du fonctionnement du web et vulgariser ainsi des concepts aussi variés que les feuilles de style et le web 2.0. J’espère avoir été clair, n’hésitez pas à poser vos questions dans les commentaires !

Mise à jour

Contrairement aux apparences, la balise « iframe » de youtube ne propose pas de version HTML5 de la vidéo, du coup, je l’ai téléchargée et hébergée ici (histoire d’être cohérent : si je dis du mal de flash, c’est pas pour l’utiliser juste après ^^).


[1] Pour ceux qui n’aurait pas compris le pourquoi de cette image, une petite explication s’impose.
[2] Par exemple Firefox, Chrome, Opera, Safari… Il y en a énormément ! On me souffle dans l’oreillette qu’il se trouve des gens pour affirmer qu’Internet Explorer (« IE » dans les cercles initiés) en serait un aussi, mais on attend toujours la preuve de cette affirmation pour le moins surprenante.
[3] D’autres choses peuvent en fait intervenir, comme par exemple du JavaScript pour avoir des pages dynamiques (c’est à dire avec « des trucs qui bougent ») ou du Flash, mais ça, c’est le mal. À tel point qu’il y a un consensus maqueux-linuxiens sur le sujet et même, depuis récemment, windowsiens ! C’est dire !
[4] Ce que je trouve personnellement fort dommage…
[5] J’ai eu le malheur de faire mention de l’exposition « lust & last » qui avait lieu au nationalmuseet à Stockholm quand je suis arrivé et qui se caractérisait par… Des fesses de nonnes exposées à l’entrée du musée.
[6] Je parle bien de la façon dont les sites internet sont publiés et lus et non de la structure du réseau qui est, elle, par essence totalement décentralisée. Ou du moins devrait.