Mai 2016

GNU/Linux Magazine 193

Synthèse vocale

Faites parler votre ordinateur ! 

En savoir plus

7,90 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
GNU/Linux Magazine 279

GNU/Linux Magazine 279

Janvier / Février 2026
9,90 €
GNU/Linux Magazine 278

GNU/Linux Magazine 278

Novembre / Décembre 2025
9,90 €
GNU/Linux Magazine 277

GNU/Linux Magazine 277

Septembre / Octobre 2025
9,90 €
GNU/Linux Magazine 276

GNU/Linux Magazine 276

Juillet / Août 2025
9,90 €
GNU/Linux Magazine 275
9,90 €
GNU/Linux Magazine 274

GNU/Linux Magazine 274

Mars / Avril 2025
9,90 €
GNU/Linux Magazine 273

GNU/Linux Magazine 273

Janvier / Février 2025
9,90 €
GNU/Linux Magazine 272

GNU/Linux Magazine 272

Novembre / Décembre 2024
9,90 €
SOMMAIRE :

Actualités

p. 06 Nouveau langage Perl 6 : une expressivité sans précédent

Humeur

p. 14 Code et maintenabilité

Repères

p. 16 Peut-on vraiment calculer avec un ordinateur ?
p. 22 Expliquer un code QR
p. 28 Déchiffrer un code QR

Sysadmin

p. 32 Mettre en place un bureau virtuel sur son serveur dédié
p. 38 Tomcat en version « Stateless »
p. 46 Git init /etc

Les « how-to » du développeur

p. 52 Rédiger son article avec Asciidoc[tor]

Développement

p. 56 Écrire son thème Asciidoctor
p. 64 Il ne lui manque que la parole...
p. 72 Le Graal à portée de main: écrire un interpréteur

Développement web & mobile

p. 78 Android Context : Quel Context utiliser dans votre application Android ?

 

éDITO :

La complexité est un problème auquel tout développeur est confronté un jour ou l’autre et autant que ce soit le moins souvent possible ! La complexité ? Non, je ne parle pas de complexité algorithmique qui est nécessaire et permet d’optimiser le code. Il est question ici de la complexité induite par certains développeurs dans leurs programmes. N’avez-vous jamais rencontré un code censé réaliser une tâche extrêmement simple et clairement définie sans pour autant pouvoir le lire rapidement ? Un effet pernicieux de la fatigue ? Non, simplement un individu qui souhaite étaler son savoir, montrer qu’il « sait » de quoi il parle. Ainsi, pour répondre au problème « écris une fonction permettant d’additionner deux entiers », là où un développeur consciencieux se limiterait à l’écriture effective de ladite fonction, ces individus vont définir au minimum deux classes et une interface (et s’ils ont le moyen d’utiliser l’héritage, ça ne sera que mieux).

Quid de la philosophie UNIX : « ne faire qu’une seule chose, mais la faire bien » ? À quoi bon développer un système capable d’effectuer des opérations sur les nombres complexes quand on demande une simple addition d’entiers ? Cet exemple est bien entendu abrégé mais, aussi contradictoire que cela puisse paraître, la plus grande difficulté est de simplifier les choses. Pour pouvoir travailler en équipe et maintenir du code, il faut être capable d’écrire des instructions claires au sein d’une architecture qui aura peut-être demandé des heures de réflexions, mais paraîtra évidente. Le développeur qui « étale sa science » est un nuisible pour l’équipe, une source de perte de temps et de tensions (essayez de discuter avec quelqu’un qui a forcément raison).

Si nous changeons de domaine, prenons le dessin, n’importe quel étudiant des beaux arts sera capable de dessiner un « bête » taureau. En retrouver les lignes essentielles sera un travail autrement plus complexe et la vue du résultat final passera pour une évidence. On pourra entendre « un enfant de maternelle peut le faire » ou « moi en cinq minutes je fais la même chose »... Certes, une fois que le résultat est là, que tout le travail de simplification a été effectué, la reproduction sera plus aisée. Si vous cherchiez une idée de destination pour vos prochaines vacances, vous pourrez théoriquement voir les onze états successifs de la lithographie « Le Taureau » de Pablo Picasso au MoMA (Metropolitan Museum of Art). Mais comme les œuvres voyagent, il n’y sera peut-être pas... avec un peu de chance, vous pourrez la voir en France (elle était à Beaubourg il y a quelques années). Sinon on peut aussi en trouver des photos sur internet : http://www.moma.org/collection/works/62951 pour l’état III ou encore http://www.moma.org/collection/works/63062 pour l’état XI. Vous comprendrez de quoi je veux parler.

L’idée est la même lorsque l’on effectue une présentation devant un auditoire : créer des slides bourrés de texte, de code et d’équations est à la portée du premier venu. Simplifier le propos, alléger les supports visuels tout en expliquant des choses complexes, là est la réelle difficulté et la réelle preuve de maîtrise. Pour y parvenir, il n’y a qu’une solution : rester humble et continuer à apprendre, par exemple en lisant GNU/Linux Magazine...

Bonne lecture !

Tristan Colombo

Le magazine de référence technique pour les développeurs sur systèmes open source et les ingénieurs R&D !

GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...

Signer ses mails avec S/MIME et Mutt
GNU/Linux Magazine n°45
L'utilisation des certificats SSL/TLS est très répandue dans le monde du web. Lorsqu'on parle, en effet, de ce type de choses, on pense naturellement à HTTPS. Mais, l'utilisation de ce standard va bien plus loin avec la configuration de VPN, l'authentification de clients (web ou autres), mais également la signature des messages électroniques. Chose qui nous intéresse ici.Comme vous le savez peut-être, dans le monde de la signature électronique pour la messagerie, deux philosophies se partagent la vedette. Nous avons, d'une part, GnuPG/PGP et le concept de réseau de confiance (Web of trust) et, de l'autre, S/MIME et le principe de l'autorité de certification.
Vos sauvegardes incrémentales avec Rdiff-backup
GNU/Linux Magazine n°45
Le programme Rdiff-backup permet de copier l'intégralité d'un répertoire vers un répertoire de sauvegarde, que ce dernier soit sur votre machine locale ou sur un autre ordinateur accessible à travers le réseau. Rdiff-backup produit des sauvegardes dites « incrémentales », ce qui signifie que, une fois la première copie effectuée, Rdiff-backup ne va envoyer vers le répertoire de sauvegarde que les différences survenues depuis la dernière sauvegarde, rendant ainsi le volume de données à sauvegarder plus léger. Mais, rdiff-backup conserve également ces différences, ce qui permet à tout moment de retrouver l'état de votre répertoire source tel qu'il était à chaque sauvegarde effectuée.
HAproxy : proxy TCP générique et HTTP
GNU/Linux Magazine n°45
…ou « comment protéger Apache de Slowloris » : j'ai hésité avec ce titre un peu plus racoleur, mais ce serait un peu trop restrictif. HAproxy est un (reverse) proxy travaillant aux niveaux 4 à 7 du modèle OSI, capable de faire de la répartition de charge et de la haute disponibilité sur les services TCP en général, et HTTP en particulier. Tout ceci avec une grande souplesse de configuration, une extrême fiabilité et des performances bluffantes... Il permet en prime de protéger votre serveur web favori (Apache) des attaques à la mode en ce moment. Tout un programme !
Ce magazine est intégralement disponible sur Linux Magazine Connect
© 2026 - LES EDITIONS DIAMOND