GNU/Linux Magazine Hors-série N°
Numéro
113

Code Legacy ...ou comment maintenir vos vieux codes encore en production

Temporalité
Mars/Avril 2021
Image v3
Code Legacy ...ou comment maintenir vos vieux codes encore en production
Article mis en avant

Résumé

Printemps 2021 : à l’occasion d’un nettoyage de printemps bien nécessaire et maintes fois reporté, Anatole retrouve un disque dur poussiéreux, rangé consciencieusement sur une étagère. Mais pourquoi donc avait-il gardé cette relique ? Allez hop, à la poubelle ! Mais, et si… Par acquit de conscience, Anatole suspend son coup de marteau fatidique et branche le disque. Il découvre, ébahi, une multitude de programmes qu’il avait écrit une dizaine d’années plus tôt : de petits outils sans prétention, mais qui lui seraient particulièrement utiles aujourd’hui. Il essaye de les exécuter, de les compiler, rien n’y fait. Pourtant il en est certain : ils fonctionnaient jadis !

Dans ce numéro...


Dans le dossier de ce hors-série, nous allons voir un aspect de la maintenance logicielle qui consiste essentiellement à recréer un environnement dans lequel un programme obsolète pourra être exécuté. Mais un autre aspect de la maintenance de code est à garder en mémoire également bien que se situant en amont : la qualité du code !
Voici une sélection d'ouvrages pour la plupart récemment sortis ou sur le point de sortir et qui ont attiré notre attention.
Expliquer des faits scientifiques (des formules mathématiques, des phénomènes de physique, etc.) ou du code n’est pas toujours simple. Le recours à des animations peut apporter beaucoup plus de clarté et faciliter la compréhension de votre auditoire. Et ce n’est pas si compliqué à créer...
Maintenir régulièrement et efficacement un logiciel n’est pas une tâche simple. La complexité croissante qui vient avec l’enrichissement de la solution et la multiplication des versions, ainsi que des plateformes d’exécution ajoutent sans cesse à la problématique. Pour y parer, méthode comme outillage adapté sont donc requis.Dans cet article, nous nous proposons de faire un petit tour d’horizon des défis qui caractérisent aujourd’hui la maintenance logicielle.
Docker est un mot à la mode qu’on associe volontiers à microservices et autre Cloud. Cependant, nous allons voir ici qu’il peut aussi rendre des « macroservices » :-) dans un cadre tout à fait différent, voire contraire : celui de la maintenance logicielle !
Pour la recherche scientifique comme pour d'autres domaines, on a souvent besoin de reproduire un environnement logiciel à l'identique non seulement sur différentes machines, mais aussi à différents instants dans le temps. Docker et les machines virtuelles, qui sont souvent la solution choisie pour répondre à ce besoin, ont des limitations qu’il est facile de ne pas voir. Cet article illustre l’utilisation de GNU Guix pour des déploiements reproductibles, au bit près, dans l’espace et dans le temps.
Tracer les fractales de Mandelbrot ou de Newton sur de petits microcontrôleurs 8 bits ou 32 bits nous donne l’opportunité d’appréhender la représentation des nombres en virgule fixe pour une implémentation efficace de l’arithmétique – même sur des nombres complexes – sur systèmes embarqués à ressources réduites. Pouvoir tester le même code sur une multitude de plateformes impose de structurer son code pour séparer la partie algorithmique et l’accès aux ressources matérielles : nous allons proposer une architecture de code et de Makefile compatible à la fois avec des tests sur PC et sur diverses architectures de microcontrôleurs, en faisant appel aux stubs.
Il n'est pas rare de vouloir intégrer de petits tableaux dans ses documents. LaTeX permet de créer rapidement et simplement une telle représentation d'informations. Il est également possible, avec un peu d'huile de coude, de créer des tableaux très complexes ! Ce n'est pas si compliqué... à condition de savoir comment faire !
Les tests ont toujours été un facteur non négligeable de réussite lors de la conception d’un projet de développement. Ces différentes procédures, accompagnant généralement le code source, permettent d’augmenter grandement la qualité d’une application, qu’elle soit libre ou fermée. Même s’il est vrai qu’un programme ne peut-être testé dans son intégralité, les tests mis en place permettront de livrer à l’utilisateur final un système stable ainsi qu’une garantie de fonctionnement. Bien entendu, Erlang/OTP n’est pas en reste, et fournit aux développeurs tout un arsenal d’outils agissant sur l’excellence du produit.

Magazines précédents

Débogage : outils et méthodes pour traquer les erreurs
GNU/Linux-Magazine Hors-série N°111
Débogage : outils et méthodes pour traquer les erreurs
Python 3 pour débuter la programmation
GNU/Linux-Magazine Hors-série N°110
Python 3 pour débuter en programmation
Dossier : Programmez avec un moteur 3D !
GNU/Linux-Magazine Hors-série N°109
Programmez avec un moteur 3D !
Dossier : Codez une fois, déployez partout !
GNU/Linux-Magazine Hors-série N°108
Codez une fois, développez partout !
Dossier : Git - Maîtrisez le versionning de code
GNU/Linux-Magazine Hors-série N°107
GIT - Maîtrisez le versionning de code

Les derniers articles Premiums

Les derniers articles Premium

Le combo gagnant de la virtualisation : QEMU et KVM

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Brève introduction pratique à ZFS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Il est grand temps de passer à un système de fichiers plus robuste et performant : ZFS. Avec ses fonctionnalités avancées, il assure une intégrité des données inégalée et simplifie la gestion des volumes de stockage. Il permet aussi de faire des snapshots, des clones, et de la déduplication, il est donc la solution idéale pour les environnements de stockage critiques. Découvrons ensemble pourquoi ZFS est LE choix incontournable pour l'avenir du stockage de données.

Générez votre serveur JEE sur-mesure avec Wildfly Glow

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Et, si, en une ligne de commandes, on pouvait reconstruire son serveur JEE pour qu’il soit configuré, sur mesure, pour les besoins des applications qu’il embarque ? Et si on pouvait aller encore plus loin, en distribuant l’ensemble, assemblé sous la forme d’un jar exécutable ? Et si on pouvait même déployer le tout, automatiquement, sur OpenShift ? Grâce à Wildfly Glow [1], c’est possible ! Tout du moins, pour le serveur JEE open source Wildfly [2]. Démonstration dans cet article.

Body