GNU/Linux Magazine Hors-série N°
Numéro
57
Développement sur systèmes open source

Article mis en avant

Résumé

J'aime bien le Bluetooth. C'est plus simple à mettre en œuvre qu'il n'y paraît et surtout, c'est maintenant un mode de communication presque universel pour ce qui est de la simple connexion sans fil. En effet, le Wi-Fi bien que relativement présent (PC, Mac, smartphones), est encore lourd à mettre en place pour ce qui concerne l'aspect « montage électronique ». Des petits modules existent, bien entendu, pour ajouter une connectivité Wi-Fi à un microcontrôleur, mais cela ce fait généralement au prix d'une liaison SPI et d'une implémentation de toute la pile réseau IP. Ainsi, même en dehors du coup de ce genre de module, cela reste très pénible.

Dans ce numéro...


J'utilise abusivement la communication série pour la plupart de mes montages. C'est simple, intégré à la majorité des microcontrôleurs mis en œuvre et relativement souple. Cependant, durant une longue période, j'ai souffert d'un énorme problème, ou plutôt d'une carence. Lorsque je jouais pour la première fois avec le port série, c'était pour configurer des modems. Cela se faisait avec une petite application MS/DOS du nom de Bitcom (si mes souvenirs sont bons). Simple mais efficace, ce logiciel permettait, tout simplement, de dialoguer avec le modem connecté au port série.
Vous vous souvenez, lorsque vous étiez enfant, du petit jeu consistant à écrire à l'envers afin de rendre le texte lisible dans un miroir ? Nous étions sans doute persuadés, à l'époque, que c'était là une fantastique astuce pour des messages secrets et autres chasses au trésor épiques. L'écriture spéculaire, parce que c'est ainsi qu'on la nomme, n'est pas une nouveauté que pour les enfants. Pour preuve, il est établi que Léonard de Vinci rédigeait ainsi ses notes (l'Homme de Vitruve est un des nombreux exemples), sans qu'on sache si c'était délibéré ou un signe d'aphasie ou de dyslexie.
Lorsqu'on bricole un système actif, en particulier au niveau des partitions des disques, on rencontre toujours le même problème : la mise à jour des informations. Je parle ici de modifier une partition, disons sda4, n'ayant pas sa taille optimale car une partie du disque est inutilisée. Un autre cas d'école pourrait être la suppression de sda3 et sda4 pour recréer un sda3 plus gros.
Les noyaux récents permettent l'accès direct à certaines fonctionnalités de bas niveau depuis le système de fichiers /sys. L'utilisateur disposant des permissions adéquates peut ainsi configurer et commander des éléments matériels sans avoir besoin de développer un code noyau ou système.
La gestion de paquets est, d'un point de vue de l'utilisateur, quelque chose de très simple. Cependant pour le système lui-même c'est d'une difficulté sans nom et la résolution des dépendances peut conduire à des situations très délicates. Parfois, le système de gestion, bien que très efficace dans le cas de Debian, peut rencontrer des difficultés.
Les systèmes de gestion de paquets des distributions sont des éléments clés dans le choix de ces dernières.
Faisons bref ! Le problème se résume à ceci :
Lorsqu'on installe un paquet avec une distribution Debian ou compatible (Ubuntu), les données installées se divisent en deux catégories. Vous avez d'une part les éléments de l'application ou du logiciel à proprement parler, et d'autre part, les éléments configurables.
Que se passe-t-il avec votre distribution préférée lorsque deux paquets installent le même fichier ? C'est là une problématique rare mais qui existe. Un exemple concerne les pages de manuel, par exemple, mais également des scripts d'init, des polices de caractères et même des binaires.
Les goûts et les couleurs, ça ne se discute pas, et ce qui est vrai dans la vie de tous les jours (IRL donc) l'est également pour les shells et les terminaux. Certains les aiment sobres et monochromes, d'autres colorés et très « bling-bling », le tout avec une infinité de niveaux entre ces deux extrêmes. J'ai même vu des gens utiliser leur terminal avec un affichage vert sur noir façon écran Hercules sur un magnifique écran LCD Flatron 19”...
Normalement, les fichiers d'un système GNU/Linux ou *BSD ne changent pas tout seul.
Parmi l'ensemble des besoins ponctuels qui peuvent se faire ressentir dans l'utilisation du shell, il en est deux pour lesquels je ne me rappelle jamais des solutions. Peut-être que le fait de les voir publiées dans ce hors-série aura pour effet de les ancrer définitivement dans ma mémoire et, à défaut, je les aurai sous le coude.
Soyons clair de suite, il ne s'agit pas ici du support inotify du noyau Linux ou même du démon FAM (File Alteration Monitor) initialement développé par SGI. Non, il s'agit de simplement utiliser le shell et quelques commandes simples mais sympathiques.
Si vous ne le saviez pas, les documents OpenDocument issus d'OpenOffice.org, LibreOffice et d'autres applications, sont en réalité des archives Zip.
Plus la puissance de calcul augmente et plus le public est éveillé au sujet de la protection de sa vie privée, plus l'authentification des tiers et le chiffrement des communications est demandé et présent. De plus en plus de services en ligne, par exemple, utilisent maintenant systématiquement TLS/SSL même pour le simple affichage d'un panier sur un site commerçant.
Ah ! Les leds. Que serais-je sans elles ? Mon bureau, sans doute un peu plus que celui d'un utilisateur acharné normal, possède, tout au long de l'année une petit ambiance « Noël » en raison de la profusion de petits voyants lumineux de toutes sortes et de toutes les couleurs. Les leds m'ont toujours captivé et représentent, pour moi, une avancée majeure dans le domaine de l'électronique. Imaginez simplement un instant que ces composants n'existent pas et que cette technologie n'ait jamais vu le jour... Imaginez maintenant votre PC, votre portable, vos routeurs, vos imprimantes, vos NAS, etc. Vous voyez de quoi je parle ?
UTF-8 c'est l'avenir ! Voilà quelque chose que j'ai souvent entendu. Mais l'avenir met du temps à arriver et pour l'instant, nous sommes encore dans le présent.
Le problème qui s'est posé à moi pour cet article est le suivant : la réception d'un message incluant une pièce jointe que mon très cher Mutt était incapable d'ouvrir directement. Voilà qui nous donne l'occasion de nous plonger dans les principes d'associations format/application.
La complétion automatique de la ligne de commandes est quelque chose qui a longtemps manqué à bon nombre de shells non UNIX (si on peut appeler cela des shells). Aujourd'hui c'est une fonctionnalité présente un peu partout, mais les shells open source comme Bash ont toujours énormément d'avance dans ce domaine.
Ah mais j'en vois déjà regarder d'un œil douteux ce texte en se disant « mais il nous prend pour des n00bs ! ». Erreur !
Soit, l'objectif d'un terminal n'est pas de provoquer une crise d'épilepsie chez l'utilisateur ou une expérience extra corporelle par une profusion de couleurs et de clignotement. Cependant, un peu de couleur, comme c'est le cas pour les mécanismes de colorisation syntaxique utilisés par les bons éditeurs de texte/code (comme Vim), apporte une lisibilité supplémentaire.
Connaître l'état de son système en permanence est quelque chose d'important pour un utilisateur UNIX. Je ne suis généralement pas très amateur de widgets de bureau et autres décorations actives bling-bling. Cependant, quand il s'agit de données utiles, je trouve généralement une place sur mon bureau. Bien entendu, il faut que cela soit relativement sobre car je n'aime pas avoir de choses qui gigotent dans mon champ de vision.
De nos jours, la gestion des polices de caractères tient généralement en un seul mot : TrueType (ou son remplaçant/extension OpenType). Dans un autre temps, la gestion de polices était un véritable problème et chaque système, ou presque, utilisait son propre format. Plus exactement, le monde se divisait en deux hémisphères. La première était celle des polices au format Type1 du standard PostScript qui pouvait se décliner en plusieurs formats de fichier.
Bash est le shell par défaut un peu partout. Même si j'ai eu ma période tcsh et même zsh un temps, j'en reviens vite au classique.
La gestion des polices ou fontes de caractères est une problématique délicate avec presque tous les systèmes d'exploitation. Pour preuve, des systèmes bien plus populaires que GNU/Linux dans le monde du desktop sont, par défaut, si limités sur ce point, qu'il leur est nécessaire de faire appel à des logiciels tiers (comme ATM par exemple).
Parmi les applications web les plus intéressantes pour le travail collaboratif, on trouve sans nul doute en première place les wikis.
Le déplacement de serveurs/services (d'un domaine à un autre) est généralement l'une des pires tâches qui puissent incomber à un administrateur. Ceci est valable pour un contenu web, un serveur de mail ou encore des services web comme un WordPress, par exemple.
Je l'ai déjà dit par ailleurs, je travaille énormément avec DokuWiki et en particulier pour finaliser la rédaction de mes articles. C'est fort pratique puisque cela permet une mise en forme suffisante, un suivi des versions et éventuellement un travail collaboratif pour qui est dans mon petit cercle de privilégiés (l'écriture d'article est souvent quelque chose de très personnel).
C'est idiot, mais je ne me rappelle jamais comment on fait.
HTML5 et CSS3 viennent de paraître. Mais ce sont en fait des brouillons (draft - du 25 mai 2011) pour HTML5 et notes (Working groupe note du 12 mai 2011) pour CSS3. Où en est-on ?
Les codecs sous Windows comme sous GNU/Linux c'est un peu comme une collection de timbres ou de Pokemon : il les faut tous, juste au cas où. Mais parfois, on aimerait bien pouvoir utiliser l'un d'entre eux, surtout s'il est courant, juste pour avoir le plaisir d'encoder, avec son outil préféré, un simple morceau de musique (obtenu légalement, bien entendu).
La cartographie réseau est un vaste domaine riche en solutions et en outils.
C'est lors de l'utilisation d'un PABX (un vrai et non un IPBX) de FT que le traditionnel problème « du message à mettre pour la fermeture de Noël » s'est posé.
Enregistrer son bureau peut être utile dans bien des situations. L'idée de base est initialement de présenter une application ou un outil de manière plus visuelle qu'un texte et plus dynamique qu'une simple capture.
Oui, j'ai une PS3 Slim et je trouve que ce matériel constitue une bonne solution de media center pour qui n'a pas spécialement envie de se compliquer la vie. En réalité, j'aime bien me compliquer la vie, mais uniquement lorsque je le désire et avec des choses qui m'intéressent.
Le monde de la radio a bien changé. Lorsque je m'étais heurté au problème décrit par le titre de cet article, seules les plus importantes stations radios proposaient un flux MP3 sur le Net. Les petites radios dites « libres » (car exemptes de publicité et aidées dans une certaine mesure par l'État) commençaient à se rendre compte que, finalement, un PC sous GNU/Linux dans un coin, une bonne carte son et une connexion Internet étaient suffisants pour installer un serveur IceCast ou PeerCast.
Je ne suis, de nature, pas très amateur de montage vidéo. Pour tout dire, je ne comprends pas vraiment comment on peut trouver amusant de créer de toutes pièces un DVD intégrant menu, générique, scènes, bonus, etc. Je dispose d'un caméscope numérique Samsung que je sors une fois tous les 157 ans et, le plus souvent, je préfère utiliser les fonctions d'enregistrement vidéo de mon appareil photo numérique, ou pire, de mon Nexus S.
Fut un temps, j'avais écrit un article sur les codes-barres en deux dimensions. À l'époque, deux standards normalisés se disputaient la vedette : Datamatrix ISO/IEC 16022 (alias ISO/IEC 16022) et les QRcodes. Tout semblait montrer que la palme reviendrait au Datamatrix. C'était sans compter la mode et les applications Android utilisant abusivement les QRcodes.
Diantre que cela peut être énervant. Je n'ai jamais compris pourquoi, en C et en particulier avec printf, il y avait des spécificateurs de format (format specifiers) pour presque tout (décimal, hexa, caractère, etc.), mais pas de binaire.
On a tous nos préférences et ceci vaut pour des commandes de base comme ls.
En programmation c'est comme pour tout, il y a des choses qu'on oublie systématiquement de faire ou, tout simplement, qu'on estimerait qu'elles doivent être faites automatiquement.
J'aime bien jouer avec le noyau. Oh, il ne s'agit généralement pas de gros développements mais, le plus souvent, de petites choses permettant d'accéder à des informations ou de piloter certains matériels. Rien qui soit digne d'intégrer un noyau officiel.
Connaissez-vous les Vimball ? Non, il ne s'agit pas de délicieuses sucreries légères et croustillantes recouvertes de chocolat craquant mais de fichiers destinés à automatiser l'installation d'extensions pour Vim (ceci dit, c'est tout aussi bon).
Un démon qui ne se lance pas, un message d'erreur concernant l'utilisation d'un port ou tout simplement un petit coup d'œil curieux et paranoïaque au système sont autant de raisons d'aller voir « qu'est-ce qui utilise quoi » sur le système.
La solution ultime lorsqu'on se connecte sur une machine à distance est sans nul doute possible ce bon vieux SSH et un shell digne de ce nom. Cependant, il arrive qu'il faille pour une raison ou une autre accéder à des applications graphiques. Heureusement, nous avons VNC qui permet toutes sortes de jonglerie.
GMail c'est bien, c'est beau et très pratique. Mais ce système comprend deux gros problèmes. Le premier concerne le caractère privé des messages dans vos boîtes. Google affiche de la publicité ciblée et cela n'est pas du goût de tout le monde. Non que la publicité soit réellement intrusive, mais elle est sélectionnée et affichée en fonction du contenu de vos messages ou, du moins, des messages que vous lisez dans l'interface web.
Sur un LAN d'entreprise, selon la taille de l'entreprise en question, il n'y a tantôt qu'un administrateur réseau ou du moins quelqu'un qui fait office d'administrateur réseau/système. Les nerfs de cette personne sont souvent mis à rude épreuve et des images violentes à faire peur au réalisateur du projet Blair Witch emplissent souvent son esprit avec pour acteurs certains utilisateurs.
Authentifier les intervenants sur un réseau et chiffrer les communications est maintenant, je pense, quelque chose de systématique chez tout utilisateur connaissant un minimum le fonctionnement d'Internet. Fut un temps, l'utilisation du chiffrement SSL impliquait, en particulier côté serveur, la mise en œuvre de ressources importantes, car l'ensemble était gourmand en calcul.
Vite fait.
Mutt est mon client mail (MUA) préféré. D'ailleurs, en dehors d'une interface webmail de temps à autre, c'est le seul que je supporte. Ceci vient très certainement du fait que je suis quelqu'un qui aime la simplicité et la concision.
Connaissez-vous OpenSSH et ses fonctionnalités en termes de création de tunnels ? Non ? C'est extrêmement pratique pour sécuriser des protocoles (HTTP, FTP, POP3, IMAP, etc.), mais également pour faire, plus ou moins office de pseudo-VPN.
Comme bien des utilisateurs qui ne sont pas nés sous UNIX, au début de ma carrière d'utilisateur GNU/Linux j'ai naturellement cherché à transposer mes habitudes d'utilisateur DOS/Windows. J'ai donc cherché des applications identiques ou proches de celles que j'utilisais sans prendre en compte la philosophie de mon nouveau système. Pour mes mails, cela prit la forme d'un client mail lourd comme Netscape Mail à l'époque. Je conservais donc mes habitudes, mais également mes problèmes. Je faisais fausse route en me privant sans m'en rendre compte des bienfaits d'un UNIX.
Vous est-il déjà arrivé de devoir envoyer un mail à une heure ou une date donnée (ou suite à l'exécution d'une commande) mais que la configuration installée ne permette pas d'utiliser le compte qui vous concerne ? Moi oui. Un autre cas problématique similaire est celui d'un serveur ou d'une machine qui ne vous appartient pas mais qui doit procéder, de la même manière, à un envoi de mail régulier ou à une heure fixe.

Magazines précédents

Les derniers contenus premiums