Script Shell / Boot / Recyclage de projets :
14,90 € TTC
p. 04 Réutilisation d’un lecteur audio de figurines
p. 26 Mise en œuvre de l’OPC UA
p. 40 Personnalisez automatiquement vos installations de Raspberry Pi OS
p. 58 AlertBox : un boîtier d’alerte multifonctions (suite)
p. 84 Accélérez vos simulations VHDL avec Verilator
p. 102 Communication LoRa au moyen de RIOT-OS pour la mesure centimétrique par GPS différentiel avec RTKLIB
Nouveaux langages, donc nouveaux outils ?
Avez-vous remarqué que nombre de nouveaux outils en ligne de commandes, très populaires, sont tous écrits dans des langages tout aussi nouveaux ? bat qui remplace cat est écrit en Rust, le délicieux fuzzy finder fzf faisant de l’ombre à bash-completion est en Go, idem pour Zellij (Rust) concurrençant Screen/tmux, ou encore lsd, alias LSDeluxe faisant passer ls pour une antiquité, est développé en Rust... On en viendrait presque à penser que Rust et Go sont la cause directe de la performance de ces outils. Non ?
Pas vraiment, mais en partie tout de même. Je m’explique.
Lorsqu’on souhaite apprendre un nouveau langage, on ne peut le faire de façon théorique et trop académique. Il faut « faire quelque chose avec » pour se heurter à des problématiques bien réelles. Quoi de plus naturel donc que de répliquer l’existant. Après tout, on a un modèle et le cahier des charges est livré clé en main. Souvent, cela se résume à un simple « tiens, je vais refaire XXX pour voir ce que YYY vaut ». Et forcément, quitte à refaire, autant ajouter son grain de sel et améliorer les choses, c’est pourquoi les projets qui débutent ainsi finissent généralement bourrés de fonctionnalités absentes de l’original.
Il faut ensuite remarquer deux choses. D’une part, vous n’aurez entre les mains que les projets qui aboutissent. Cela s’appelle le « biais des survivants » et vous n’entendrez jamais parler des développements qui ne mènent à rien. Ceci donne une fausse impression de réussite systématique. C’est très trompeur, car vous ne saurez jamais combien de devs auront finalement jeté l’éponge.
Une autre chose, qui cette fois est réellement positive, est la suivante : l’outil créé a atteint un niveau de stabilité suffisant pour être rendu public et devenir populaire. Ce n’est pas une preuve de l’aspect miraculeux du langage utilisé, mais, au moins, que celui-ci n’aura pas excédé le développeur. Voire très certainement qu’il aura conquis son cœur, du moins au point de continuer à faire évoluer agréablement sa création. Ce n’est pas rien.
Donc non, ce ne sont ni Rust ni Go qui font la popularité de ces outils, mais ces outils sont la preuve de la popularité grandissante et de l’adoption de Rust et de Go, tout de même.
Denis Bodor
Né en 2014, Hackable est un bimestriel destiné aux professionnels et particuliers souhaitant découvrir et progresser dans les domaines de l’électronique numérique et de l’embarqué. Il fournit un contenu riche orienté vers une audience désireuse de bénéficier d'une veille technologique différente et résolument pratique. Le contenu du magazine est conçu de manière à permettre une mise en pratique directe des connaissances acquises et apprendre tout en faisant.
En ces temps difficiles de pénurie de framboises, recycler une carte existante, quel que soit son modèle, est quelque chose de courant. Plus question en ce moment d'installer un système et de laisser traîner le tout dans un coin, après quelques tests. Même la multiplication des cartes microSD ne solutionne pas le problème, en particulier s'il faut acheter des supports de qualité pour ne pas être limité en performances. La conséquence est claire et tient en quelques mots : installation, installation et re-installation !
Afin de compenser les effets corrélés qui dégradent la mesure de position par navigation satellitaire, notamment GPS, nous désirons faire communiquer deux récepteurs de signaux de navigation par satellite capables de compenser les délais ionosphériques et troposphériques en vue d’une mesure centimétrique. Pour ce faire, une liaison point à point sub-GHz d’une portée de plusieurs kilomètres est établie en s’appuyant sur l’interface physique LoRa programmée grâce à l’environnement exécutif RIOT-OS sur STM32. Cet exercice est l’opportunité d’analyser l’impact des paramètres de communication numérique sur le débit, la portée ou la robustesse de la liaison radiofréquence.
Dans la première partie de cet article, nous avons construit un boîtier d’alerte, nous l’avons conçu suffisamment souple pour s’adapter aux différents cas d’utilisation par les services opérationnels. Nous allons voir comment le piloter en mode « low code » à l’aide de Node-RED.