Un mois avec...OpenSUSE

Test de OpenSUSE 42.2 Leap Gnome

J'ai longuement hésité avant de publier cet article car je n'avais plus aucun copie d'écran à ajouter car la machine qui m'a servi à tester a eu la mauvaise idée de perdre son LVM au dernier moment, avec les fichiers dessus.

Cependant, ce que j'ai à dire sur cette distribution ne requiert pas absolument de captures d'écran pour être compréhensible. J'ai quand même du temps passé à la tester dans le but d'écrire cet article.

Le XML-RPC en Shell UNIX

Pourquoi et comment réaliser un service XML-RPC en Shell UNIX

 «Pourquoi faire simple quand on peut faire compliqué ?» Telle est la devise des Shadocks qui pourrait s'appliquer à ma situation actuelle. En effet, j'ai pris quelques heures de mon temps -- 5 heures en tout et pour tout -- pour développer un service XML-RPC entièrement en Shell UNIX.

Tout est parti d'une amélioration de mon EntropyCMS. Je comparais le résultat avec une autre page, d'un autre site, afin de comprendre pourquoi Google trouvait des erreurs dans la sémentique; une page de référence dont le code était joli, propre, même s'il contenait un nombre incalculable de références à des réseaux sociaux dont la plupart faisaient redondance. Comme je regardais si les métadonnées et la sémantique de mon résultat produit avaient les mêmes propriétés que la référence choisie, je suis tombé sur une balise faisant du pingback en faisant appel à un obscur xmlrpc.php.

Ce n'était pas la première fois que je voyais cette référence. Mais, cette fois-ci, j'ai décidé de me pencher sur le sujet et d'en savoir plus sur ce XML-RPC car mes serveurs LAPSUS utilisent des services P2P et je vois régulièrement passer des requêtes XML-RPC sur mon réseau sans savoir ce que c'est exactement. D'autre part, étant un grand utilisateur de XML, j'étais très intrigué par un service utilisant un protocole utilisant ce langage.

Un mois avec… Ubuntu Budgie

Test de Ubuntu Budgie 32 bits

Je suis toujours très frustré de voir des tests de distributions faits à la va-vite, dans une machine virtuelle qui sera supprimée après la fin du tournage, avec la présentation en quelques clics des nouveautés, des plus et des moins et se focalisant souvent sur les performances brutes, mais plus rarement sur les détails nécessaires à un usage quotidien confortable. De plus, rares sont ceux qui testent dans la durée. Parfois, ils nous gratifient d'un petit «une semaine avec…», trois petits tours et puis s'en vont. C'est pourquoi j'ai décidé de lancer une série de tests de distributions libres sur une durée d'un mois chacune, afin de les éprouver dans le temps.

Aujourd'hui, je commence le cycle avec un jeune arrivant dans la famille des Ubuntu, à savoir Ubuntu Budgie (v16.10). Cette distribution possède la particularité d'être disponible en 32 bits, chose de plus en plus rare de nos jours. J'avais dans l'idée de tester une distribution sur une machine dédiée 64 bits, mais en définitive, j'ai voulu voir si cette distribution 32 bits tenait la route avant de la tester sur 64 bits.

Entropie et éco-conception logicielle

Comment l'entropie gouverne l'éco-conception logicielle et comment en déduire des bonnes pratiques générales

L'éco-conception logicielle est une pratique de plus en plus courante. Elle repose sur des principes d'économie, de design technique, technologique et logiciel permettant de gagner en efficacité énergétique sans trop sacrifier la beauté du code.

A priori, l'éco-conception logicielle, lorsqu'elle est expliquée sous la forme d'une longue liste de bonnes pratiques, peut paraître rébarbative. Mais cette liste ne tombe pas du ciel. Intuitivement, si l'on comprend le principe thermodynamique de l'entropie, alors on peut en déduire assez aisément un certain nombre de bonnes pratiques d'éco-conception logicielle sans faire trop d'efforts de mémoire.

Le DNS inverse et le PTR

Auto-hébergement : comprendre le DNS inverse et configurer le PTR pour un serveur de messagerie

Être (micro)hébergeur nous confronte parfois à des problèmes inhabituels que monsieur Tout-Le-Monde ne rencontrerait pas : pour chaque domaine que j’héberge, j’associe un serveur de courriel. Et depuis que j’ai changé de fournisseur d’accès à Internet (FAI), une partie des courriels envoyés depuis chez moi reviennent avec des erreurs :

host xxx.yy.zz[IP] refused to talk to me: xxx.yy.zz 421 Access temporarily denied. Reason : sender host aaa.bbb.ccc.ddd does not resolve to a valid hostname

ou encore :

host xxx.yy.zz[IP] said: 550 No RDNS entry for aaa.bbb.ccc.ddd (in reply to RCPT TO command)

Passé un moment de surprise – Comment est-il possible que des machines connectées à Internet pour causer librement refusent de se parler ? –, c’est bien la première fois que je fais face à ces erreurs. Et c’est aussi la première fois que je tombe sur un FAI qui m’oblige par la force des choses à me soucier du DNS inverse et son enregistrement associé : le PTR.

ZeroInbox avec Thunderbird

Comment gérer sa messagerie avec Thunderbird

Comme tout le monde, je suis constamment victime de l’abondance numérique. Notre histoire (écrite donc) et nos contrats (officiels ou sociaux) reposent encore sur l’écrit, permettant de garder une traçabilité. Nous sommes donc incités à conserver toute trace écrite le plus longtemps possible. Et je ne compte plus les fois où cette conservation m’a sorti d’un mauvais pas.

Les capacités de stockage me permettent aisément de stocker les écrits qui restent encore peu gourmands en ressources.

Cependant, cette facilité a son revers de médaille : devant le nombre croissant de messages, d’échanges et de sujets, il devient parfois difficile de s’y retrouver et le stockage devient alors contre-productif. Ce n’est pas tant l’information qui compte, mais la bonne information au bon moment. Et face à cette abondance numérique, il convient de faire le ménage pour séparer le bon grain de l’ivraie.

LAPSUS : Le code derrière une application

À quoi ressemble le code d'une application sur un serveur LAPSUS ?

Développer une application sur un serveur applicatif LAPSUS requiert un très haut niveau de compétences techniques qui n'est pas à la portée de n'importe qui. Pour vous en convaincre, je vais détailler ici les principales fonctions utilisées.

FINT Is Not Twitter

Pourquoi je développe FINT

Plus je développe, plus j’ai besoin de communiquer sur un certain nombre de sujets, notamment les nouveaux articles de cybercarnet, ou la disponibilité de nouveaux téléchargements.

Écrire un article de cybercarnet prend un certain temps, ne serait-ce que pour la structure, la mise en forme, la vérification, la recherche des sources. Parfois, il  m’est juste nécessaire de publier une nouvelle courte. J’utilise habituellement plutôt Google+ que je trouve pratique, mais assez lourd à l’usage – j’entends ma machine vrombir dès que je l’utilise. Et puis c’est une solution centralisée et propriétaire.

Les témoins, Jéhovah et moi

Pourquoi il ne faut jamais raisonner a posteriori

J'ai été abordé dans la rue par deux hommes. Comme ils semblaient chercher quelque chose, j'ai pensé qu'ils cherchaient une adresse et donc, lorsqu'ils m'ont abordé, je pensais pouvoir les aider à trouver leur chemin.

En fait, ils voulaient plutôt m'aider à trouver le mien grâce à l'aide de la foi et de Dieu. Ils m'ont posé tout un tas de questions, et posé aussi un certain nombre d'affirmations comme le fait que l'homme a été créé par Dieu car notre présence n'est pas un hasard, que tous les hommes sont des pécheurs…

STOP!

L'homme a été créé par Dieu car notre présence n'est pas un hasard.

Réfléchissons un instant.

Conception web avec moteur hybride

Développer des applications web avec un moteur hybride

Je développe toujours des applications web en tenant compte des performances énergétiques. Et je m’arrange toujours pour qu’elles consomment le moins de ressources possible. Pour certaines applications pensées en mode « single », je vais même jusqu’à imposer qu’elles puissent tourner sur des Raspberry Pi. Mais comme j’aime que ce soit simple à utiliser, il faut inclure aussi « simple à installer ».

La méthode de base est « décompresser et utiliser ». Ce qui implique l’usage de fichiers gérés en local plutôt qu’une base de données. Tout d’abord parce qu’une base de données nécessite plus de ressources pour fonctionner (daemon, écoute de port, etc.) mais aussi plus de complications au moment de l’installation et configuration (mot de passe, définition de ports).

C’était l’idée de départ que j’avais pour deux applications en cours de développement : EntropyCMS et FINT. Les développements commençaient bien, mais rapidement, les premières limitations sont apparues.

Le choix des serveurs

Serveur et micro-hébergement : quel matériel choisir ?

Lorsqu'on est micro-hébergeur, la grande question du matériel se pose fatalement. Et devant la richesse des offres, il n'est pas toujours aisé de faire un choix. Pour les serveurs qu'on héberge chez soi, il y a plusieurs possibilités mais 2 catégories majeures : l'assemblage personnel ou l'achat d'une solution toute faite.

Vous conviendrez que le micro-hébergement n'étant pas une pratique courante, il n'existe aucune offre satisfaisante. Et de toute façon, cette offre serait inutile car tout dépend de l'hébergement qu'on propose et des choix technologiques et logiciels que l'hébergeur a faits. Car l'infrastructure est avant tout une affaire de choix. Pourquoi du Linux plutôt que du Windows® ? Pourquoi telle distribution plutôt que telle autre ? Il y a des choix de facilité et des goûts personnels. Le résultat provient d'un mélange des deux.

Cependant, il y a des choix qui proviennent clairement de contraintes techniques. Voici les miens.

lapsus

Mon serveur d'applications (v1.0)

Linux, Apache, MySQL, PHP.

LAMP. Cet acronyme qui devient la référence et la compétence fondamentale à avoir pour commencer à développer des sites web.

Étant issu du monde BSD, j’avais un peu de mal à m’y faire. Tous mes serveurs étaient sous BSD; je n’allais pas changer. Bon, en fait si. À l’usage, Linux s’est avéré plus facile pour moi que mes distributions BSD.

ZenLang

Un utilitaire pour créer des cours de langue

En discutant avec un ami, j'ai eu l'idée de me faire un petit utiltaire pour réaliser les bandes sonores de mes vidéos.

Comme je publie sur Youtube des vidéos de mes développements, notamment EntropyCMS, l'enregistrement direct de mon écran est muet. Pour ajouter des commentaires, il faut ajouter une bande son au montage contenant les commentaires audio. Et faire une bande son juste pour diffuser des développements en cours, c'est beaucoup de travail pour pas grand-chose.

Mais si je générais la bande son à partir de texte, alors c'était simple et automatisable.

Micro-hébergement

Comment je suis devenu micro-hébergeur

Lorsque j’ai eu Internet illimité à la maison, avec une connexion ADSL permanente, j’ai commencé par installer mon propre serveur web, parce que je voulais disposer de toute la documentation technique dont j’avais besoin, n’importe où, sans avoir à la chercher sur telle ou telle machine, tel ou tel disque – à l’époque, les disques n’avaient pas la capacité d’aujourd’hui.

Ça me paraissait donc plus simple de tout avoir sur un site web, pour moi d’abord, et puis pour les autres, si ça pouvait leur être utile.

J'ai perdu mon amour de jeunesse

Pourquoi j'ai quitté FreeBSD

Quinze ans ! Ma relation a durée quinze ans. C'est long !

J'ai immédiatement été séduit par l'héritage génétique, la performance, la souplesse de FreeBSD. J'étais -- et je suis toujours -- un inconditionnel de ce système d'exploitation. Robuste, efficace, performant, capable de tourner sur des machines peu puissantes ou de s'adapter à peu près à tout.

Mais je me tourne à présent vers Linux, bien malgré moi.

Internet m’a sauvé

Comment Internet m'a sauvé d'une vie triste

Dans un certain sens, j’ai eu la chance de ne pas être un « digital native ». J’ai connu le monde avant l’avènement d’Internet. Et avant Internet, le monde était limité et ennuyeux.

Limité car dès lors qu’on voulait apprendre, il fallait emprunter un livre à la bibliothèque et le nombre d’ouvrages était limité à 4 ou 5 par semaine et par personne. Autant dire : rien. Pour seule richesse, j’avais un encyclopédie en 22 volumes. J’ai dû la lire au moins 10 fois. Je la connaissais par cœur. Mais on ne lit pas une encyclopédie comme on lirait une Bible. Comme tout un chacun, mon esprit avait besoin de nouveautés en quasi permanence. Et ce monde de limitations était frustrant. Pis : ennuyeux, sans intérêt… fade.

Puis Internet est arrivé -- pour moi, en 2004, lorsque j'ai été assez grand pour payer et assez dégroupé pour disposer d'une connexion ADSL. Et là, miracle ! Tout est devenu illimité. Brusquement, le monde de la connaissance s’ouvrait à moi et je pouvais satisfaire mes curiosités sans jamais aucune limitation de nombre, de lieu ou de temps. Chaque espace numérique était un univers, immense, infini, n’empiétant jamais sur celui des autres. Il y avait – et il y a toujours – une vraie liberté.

Hello World!

Mon premier article

La formule habituelle des novices lorsqu’ils écrivent leurs premières lignes de code. Quoi de plus normal que de la reprendre lorsqu’on écrit ses premières lignes de blog.

Car je m’y suis mis. Pas par gaîté de cœur mais par obligation technique. À chaque fois que j’écris un article technique, il ne s’agit que d’une recette de cuisine, comment faire pour que ça fonctionne. Mais jamais dans le contexte. La technique se moque du contexte, c’est-à-dire de l’histoire qui a conduit à la réalisation de l’article, l’élaboration de la solution. Or, le contexte peut avoir autant d’importance, sinon plus, mais revêt un caractère plus personnel, plus limité dans le temps (et dans l’espace).

Donc il s’avère judicieux de séparer l’histoire, afin d’avoir une technique efficace, allant à l’essentiel, tout en conservant aussi l’historique de la démarche, les questionnements. Bref, une certaine vision.