Compilation, versioning, crossbuild, release et conteneurisation en un seul outil ?
9,90 € TTC
p. 06 SmolBSD : un système UNIX de 7 mégaoctets qui démarre en moins d’une seconde
p. 18 Le microbenchmark est mort, vive le benchmarking différentiel !
p. 28 En finir avec les Makefiles en Go avec GoReleaser
p. 42 Génération et gestion de certificats avec Erlang/OTP
p. 56 Sysdig et sécurité locale
p. 63 Les codes fantastiques : bouturage
p. 64 PEAC : l’arrière-petit-neveu de Galois et Fibonacci
« Move fast and break things »
Vous avez peut-être déjà entendu cette phrase, ou plutôt cette devise initialement issue de la philosophie des équipes de développement Facebook pré-2014 et flottant de-ci de-là depuis, comme la clé même de la notion d’innovation. Popularisée ces dernières années par quelques réussites grandi-
loquentes comme celles de SpaceX, préférant tester dès que possible et apprendre de ses erreurs (comme avec le lancement de Starship et son « désassemblage non planifié ») que plancher, comme la NASA l’a fait pour Apollo et STS, sur un concept pour ne passer à la pratique qu’une fois tous les problèmes réglés avec une quasi-certitude.
Cette approche est certes intéressante, mais n’est finalement ni récente ni applicable universellement. Nous avons eu dernièrement un aussi triste que parfait exemple des limites, lorsqu’il s’agit de la sécurité des personnes. Je parle, bien entendu, de l’accident du submersible Titan d’OceanGate utilisant cette « philosophie » pour soi-disant innover dans l’utilisation de matériaux composites, pourtant connus pour leur faiblesse en compression, dans les applications sous-marines de grande profondeur (voir à ce propos l’excellente vidéo YT de Real Engineering [1]).
La devise n’est pourtant pas nouvelle, puisqu’il ne s’agit finalement que de la transposition du fameux « Release Early, Release Often » (ou RERO) dont parle Eric S. Raymond dans son essai « The Cathedral and the Bazaar » en 1997 ! Mais RERO ne s’arrête pas à RERO, car l’acronyme, dans le texte original, se poursuit par un très clair « And listen to your customers ».
De manière générale, ce genre de devise, qu’il s’agisse de développement logiciel, de déploiement d’infrastructure, d’innovation technologique, ou encore d’exploration spatiale ou sous-marine ne peut exister, et surtout être appliquée sans se voir dûment complétée par une autre : ne risquez jamais quelque chose que vous n’êtes pas à 100 % prêt à perdre. Et il existe un grand nombre de choses qui devraient normalement automatiquement entrer dans cette catégorie, les vies humaines, la liberté, le droit à la vie privée, l’esprit critique...
Sans cela, la philosophie n’est pas RERO ou MFBT, mais juste YOLO et ça, on sait généralement comment ça finit.
Denis Bodor
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...
Quand on travaille avec des langages compilés, construire ou téléverser des artefacts sont des tâches qui peuvent devenir répétitives. On peut automatiser ces tâches avec des outils qui ont fait leurs preuves comme make. Mais il existe un outil qui permet d’automatiser un grand nombre de ces tâches en très peu de temps quand on fait du Golang : GoReleaser. Dans cet article, nous allons expérimenter de manière incrémentale ses fonctionnalités.
Certains outils parfois très prisés des sysadmins se révèlent être aussi efficaces pour un usage en sécurité, que ce soit en offensif ou défensif. C’est le cas de sysdig, que nous allons utiliser dans le cadre de détection d’intrusion.
Nouvel épisode des codes fantastiques avec une histoire de clonage d’arbres en Python.