Technologie

De la nécessité de poser les bonnes bases de vos projets logiciels

L’une des préoccupations fondamentales de l’Ingénieur c’est de s’assurer de la qualité du produit que son équipe délivre. Et ceci passe nécessairement par le processus de la mise en œuvre. Mettre en place des bonnes bases pour un projet est très indispensable à son aboutissement.

Des bases conventionnelles

Dans nombre de situations, on est pressé par l’obtention du résultat que le processus de réalisation ne préoccupe guerre les acteurs. En informatique, ceci est d’autant plus vrai que j’en fais régulièrement un sujet de discussion avec mes étudiants durant mes cours de Génie Logiciel.

A plusieurs reprises, en entreprise, j’ai beaucoup plus considéré le cadre de travail et la mise en place d’un environnement de développement conventionnel que l’obtention de la solution. Aussi finit-on par remarquer que la conséquence immédiate est le rendement satisfaisant découlant des efforts réalisés en amont.

Durant mes premiers pas avec le framework CakePHP, j’ai rencontré le terme “Convention above configuration“. Bien avant ça, je rencontrais beaucoup de difficultés à fournir une solution efficace: le générateur automatique de code, la relation entre les classes générées, le bon formatage des vues, … Mais après, prenant en compte les conventions de bases du framework, la vie est devenue plus facile pour moi.

Les tendances aujourd’hui, en terme de développement logiciel, orientent le technicien vers une approche agile. Ceci exige une adaptation rapide aux changements sur le projet. Plus spécifiquement, pour que cette adaptation soit douce, sans peine, il faut mettre en œuvre des pré-requis parmi lesquels l’intégration et le déploiement continus.

Intégration et déploiement continus : prérequis

Le sujet est passionnant : savoir qu’il suffit d’une commande pour envoyer son code source (brut) sur un serveur, pour déclencher tout un ensemble de tâches qui aboutissent au déploiement de son projet sur le serveur (test, production, …), c’est intéressant.

Mais ce que ça demande en amont, c’est (pour ne citer que ceux-ci) :

  • la configuration de l’environnement de développement
  • la configuration du projet
  • l’écriture de tests
  • la mise en œuvre des conventions usuelles (migrations, nomenclature des tables, classes et fichiers, …)
  • la mise en place des configurations d’intégration et déploiement continus
  • etc…

Pour des équipes efficaces

Le développement logiciel se fait rarement en solo aujourd’hui. Les conventions et bonnes pratiques sont délicates pour que des équipes fonctionnent et sortent le meilleur d’eux-mêmes, au risque de voir naître des hostilités au sein de l’équipe.

Pour des équipes de développement, quelques recommandations :

  • Définir une convention pour le versionnage du code : ceci est très délicat pour épargner les peine d’intégration des contributions de chaque membre.
  • Utiliser les migrations si c’est possible : les migrations dans plusieurs environnements web se chargent de créer les tables utilisées dans l’application, peu importe le système de base de données utilisé.
  • Écrire les tests pour une bonne partie du code : pendant qu’ils s’assurent du bon fonctionnement des fonctionnalités développées, ils sont un socle pour rassurer l’autre développeur de la bonne foi du travail que vous avez réalisé.
  • Configurer l’intégration et le déploiement continus : se basant sur les tests, vous définissez un certain nombre de règles pour reproduire votre environnement d’exécution, faire les tests et s’assurer du bon fonctionnement de votre projet dans un environnement autre que celui de développement. S’en suit l’étape de déploiement durant laquelle, sur la base de configurations établies, le code peut être déployé automatiquement.
  • Error reporting : Cette partie concerne la mise en exécution et les éventuels bugs et exceptions qui peuvent exister et que l’utilisateur ne pourra pas efficacement remonter. Un outils comme Sentry vous fournit la trace du bug/exception et peut être intégré à des outils comme Github et Gitlab pour un meilleur suivi.

Je recommande vivement à tous de prendre un temps pour poser les bonnes bases afin de rendre doux le travail de développement logiciel.

Koffi Sani

African Optimist Citizen | IT Engineer | Budding Entrepreneur | On the lookout of ideas that will change Africa | I sometimes talk about code at https://code.koffisani.dev

Partager
Ecrit par
Koffi Sani

Articles récents

Dieu est juste, pour le Paris Saint-Germain aussi

Bien que Paris Saint-Germain ne soit pas favori face au Bayern Munich, il ne serait…

4 ans

Education au numérique : ce que je propose

Ce samedi, ce fut une fois encore l'occasion pour moi de passer sur le plateau…

4 ans

Voici le nouveau Github Student Pack, mais il faut ceci pour certains étudiants

Vous avez déjà entendu parler de "Github Student Pack" ? C'est une offre gratuite de…

5 ans

LinkedIn pour certifier vos compétences ?

Ce réseau social qui se veut différent des autres de part son caractère professionnel est…

6 ans

Comment donc choisir son framework ?

Le développement d’applications informatiques implique souvent sa normalisation et son accélération. Les développeurs sont souvent…

6 ans

Pourquoi utiliser un framework dans une application web ?

Le développement d’applications informatiques implique souvent sa normalisation et son accélération. Ce qui conduit généralement…

6 ans