Après une mission sur des outils nécessitant une stabilité maximale étant donné des contraintes opérationnelles fortes, tout en y intégrant des nouvelles fonctionnalités régulièrement, j’ai été conforté sur la nécessité d’avoir des pratiques de développement et de maintien en production de qualité. En travaillant désormais sur des projets pilotés par EURODECISION, j’ai bien apprécié que ces pratiques soient au cœur de la conduite de nos projets !

Tout d’abord, j’ai pu rapidement m’intégrer sur un projet existant d’EURODECISION, du fait de l’organisation du développement en équipe.

De fait, toutes les personnes impliquées dans un projet utilisent des outils de travail collaboratif communs à l’ensemble des projets d’EURODECISION, qu’ils soient développés en C++, Python, Java, CSS/HTML/JavaScript… Cette homogénéisation des pratiques pour le travail en équipe permet l’intégration rapide d’une nouvelle personne contributrice à un projet.

Nous utilisons pour le partage du code informatique le bien connu gestionnaire de versions Git, en suivant le workflow Gitflow pour la gestion des différentes branches de code. Ce modèle permet d’avoir un historique de code du projet bien organisé, d’assurer la traçabilité du contenu des livraisons à nos clients et de faciliter le développement de fonctionnalités en parallèle.

La combinaison de Git avec le logiciel Gitlab garantit le suivi des développements des projets avec précision, avec notamment les fonctionnalités de création de tickets, des revues de code, de gestion des droits ou bien de wiki. La gestion ainsi uniformisée des projets facilite le travail des collaborateur·ice·s.

En utilisant ces outils, j’ai pu constater qu’EURODECISION assure à ses clients de livrer des solutions logicielles de qualité, grâce à des outils d’intégration continue qui apportent une forte valeur ajoutée à nos projets.

En effet, pour s’assurer de la qualité de nos solutions, il est par exemple nécessaire de tester toute nouvelle portion de code avant de la déployer. Les projets comportant plusieurs milliers de lignes de code, il est alors nécessaire d’avoir des outils performants, qui s’exécutent automatiquement, pour éviter des interventions manuelles contraignantes dans la réalisation de ces multiples tests.

Pour en savoir plus, contactez-nous
Nom
Prénom
Société
E-mail *
Téléphone
Votre message *

* Champs obligatoires

Ainsi, à chaque proposition de modification, tous les types classiques de tests informatiques (compilation, analyse statique de code, analyse dynamique du code lors de l’exécution de tests unitaires ou fonctionnels) sont réalisés sur de multiples systèmes d’exploitation. Jenkins est utilisé pour l’orchestration et l’automatisation de ces tests. Un outil développé en interne permet de simplifier à l’échelle d’un projet la mise en place de ces séquences, et de les uniformiser entre projets.

Et, toujours sans aucune intervention manuelle, une fois les tests exécutés, les rapports et le code source sont envoyés sur la plateforme SonarQube. Selon la définition de notre standard de qualité à EURODECISION, cet outil permet alors d’identifier certaines failles, de les corriger et de minimiser le risque que le code ajouté au projet comporte des erreurs ou soit non testé et documenté.

L’outil SonarQube nous permet également de monitorer la qualité du projet et d’estimer la « dette technique », c’est à dire le temps qu’il faudrait pour que le code soit totalement exempt de bugs et de mauvaises pratiques.

La maîtrise de l’évolution des projets d’EURODECISION repose également sur la bonne gestion des versions des bibliothèques logicielles communes utilisées. Les changements de dépendance peuvent rapidement être fastidieux pour un projet, mais un suivi de ces évolutions est bien en place !

Il est en effet nécessaire de tracer les versions d’une bibliothèque logicielle, car il est important de profiter de leurs évolutions, tout en s’assurant qu’aucune modification impacte négativement un projet utilisant cette librairie.

Pour s’assurer que ces bibliothèques restent des boîtes à outils pratiques pour nos projets, des « gestionnaires de paquets » sont utilisés. Ils fonctionnent comme des serveurs sur lesquels on accède à toutes les versions disponibles, avec les informations relatives à chaque évolution. En fonction de nos besoins, on y récupère facilement les versions des bibliothèques voulues, par de simples configurations du projet.

Développant en C++, j’utilise le gestionnaire de paquets Conan, sélectionné par EURODECISION, qui remplit très bien cette fonction.

En tant que développeuse, je trouve que les travaux de modernisation des process et des outils de développement entrepris par EURODECISION il y a plusieurs années sont vraiment appréciables !

Des outils internes sont également maintenus pour gagner du temps de développement sur des tâches chronophages qui permettent de nous consacrer sur les demandes de nos clients spécifiques à leur métier et sur les performances de nos solutions proposées.

EURODECISION a notamment développé un générateur de code C++ qui permet en quelques secondes de traduire un modèle métier en code source, sur lequel nous pourrons développer nos algorithmes, avec la garantie qu’il soit efficace, sûr (gestion mémoire et encapsulation) et standardisé.

Forte des années d’expériences d’informatique industrielle et des mathématiques appliquées d’EURODECISION, c’est un plaisir d’ajouter de nouvelles briques à l’édifice.

Merci à toutes les personnes œuvrant pour la qualité à EURODECISION ! Leur travail permet tout autant de répondre aux exigences de qualité fortes de nos clients, mais aussi d’offrir la garantie de développer nos solutions dans d’excellentes conditions.

 

Pour en savoir plus : Zoom sur les process de développement chez EURODECISION