blog.bressure.net

Carnet professionnel d'un informaticien

Application, Paramétrage

POC d’usine logicielle

admin

Les 2 fonctions principales d’un IDE est de permettre la création du code source et de tester son exécution. Cette définition est le plus petit dénominateur commun de tous les IDE du marché. D’autres fonctions peuvent être fournies par l’IDE mais cela ne vas pas sans poser certains problèmes conceptuels. Par exemple un IDE peut générer le livrable comme un WAR ou un TGZ contenant l’application entière. Le risque est alors grand d’utiliser l’IDE comme principal système de construction rendant tout changement de l’IDE difficile car mettant en péril la production du logiciel.

Choix d’un IDE

Il y a fort longtemps quand je m’occupais de Software Factory, le choix de l’IDE et des outils d’intégration continue et de suivi de qualité du code étaient au cœur de mes préoccupations. Il est temps de rafraîchir un peu mes idées et me faire une opinion sur ces outils en 2020.

L’objectif est de produire une Usine Logiciel centrée autour de GitLab. Si ce dernier permet de modifier unitairement les fichiers via une interface web et que cela dépanne, on est quand même loin d’un environnement de développement complet. Je vais donc tester plusieurs outils à commencer par l’IDE. Je vais passer en revue Netbeans, Eclipse et IntelliJ avec comme objectif de ne me servir que des 2 fonctions principales énoncées au début du billet.

Tests unitaires et d’intégration

Ensuite dans la phase de développement les tests unitaires arrivent très vites surtout quand on est en méthode agile. Tester le code de manière totalement isolé c’est-à-dire en maîtrisant par simulation les interaction avec du code externe est nécessaire mais pas suffisant. L’intégration avec les composants externe devrait être testé avant la production du livrable final et le test de l’application en condition réelle par l’utilisateur. C’est en cela que des tests d’intégration doivent faire partie du processus de production. Nous allons voir comment les mettre eu œuvre.

Test IHM avec Selenium

De nos nous les applications orientées utilisateurs sont des applications web. Tester l’IHM revient à tester une manipulation de navigateur. Nous ne pouvons donc faire l’impasse sur des tests d’IHM et Selenium aujourd’hui l’outil préconisé. Nous allons voir comment le mettre en œuvre et éprouver sa simplicité ou pas….

Audit et suivi de la qualité avec SonarQube

SonarQube est un outils qui permet de suivre la dette technique et plus globalement la qualité du logiciel à travers des métriques résultantes de l’analyse statique du code. Son utilisation dans une Software Factory est de nos jours au moins fortement recommandée. Nous allons donc tester sa mise en œuvre autour de GitLab.

Jenkins vs Gitlab

J’utilise GitLab comme outils central de ma Software Factory mais c’est un outils qui en fait beaucoup: un peu éditeur de source, dépôt Git, dépôt d’image Docker, IC/DC. Or Jenkins est l’outil référent dans l’intégration continue et bénéficie d’un plus grand support des outils tierces. Je vais donc voir comment utiliser au mieux Jenkins et la partie dépôt de source de GitLab.

Dépôt de livrable

Afin d’avoir une alternative à Gitlab, je vais explorer différentes solution de dépôt de livrable tel Nexus ou la registry docker pour les images docker.


Voilà les grandes lignes qui vont occuper ces prochains jours voire semaines.

Tags:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Back to top