Actualités

STRATEGIE DE DEVELOPPEMENT WEB (par l’exemple)

STRATEGIE DE DEVELOPPEMENT WEB (par l’exemple)

Projet :   réalisation d’application WEB dans le domaine du big data. L’objectif est de réaliser un système qui sera le point de départ commun à plusieurs autres applications. Cet élément regroupera la gestion de tous les utilisateurs ainsi que des différents projets et application liée au big data.

A partir de l’expression des besoins clients, nos équipes estiment le travail à réaliser en fonction des éléments fournis. Au cours de cette phase, l’expertise de nos collaborateurs est essentielle pour définir la stratégie gagnante. La première tâche consiste à réaliser la structure de base de l’application partant des technologies retenues :

  • Plateforme de développement Gitlab ;
  • Frontend avec Angular ;
  • Backend avec Flask ;
  • Système de gestion d’identités et d’accès Keycloak ;
  • Système de conteneurisation Docker.

La méthodologie Scrum offre une totale maîtrise de l’avancée et une gestion agile. Une avancée par sprints de 2 semaines a été retenue. Chaque sprint est initié par une réunion de lancement et s’achève pas une réunion de fin de sprint. A partir de cette stratégie, DFM peut prendre en compte de possibles évolutions dans le temps et assurer une gestion de projet dédiée.

Dans les faits, l’intégration continue n’a pas été utilisé au début. C’était un choix : ne jamais corriger quelque chose qui n’est pas cassé. D’ailleurs l’idée à l’origine était de s’intégrer au système de déploiement continue du client. Ce système n’étant pas fonctionnel pour des raisons indépendantes de notre volonté – le client souhaitait gérer cette partie – nous avons alors remédié à ce problème temporairement en mettant en place un serveur et un système de déploiement automatique. Cette capacité d’adaptabilité nous a permis de ne pas perdre trop de temps pour les premières phases de validation de l’interface tout en donnant la capacité au client de valider notre travail et alors avancer dans les temps sur le projet.

Juste après le premier sprint et les premières validations, pour s’assurer de ne pas perdre le travail réalisé, nous avons mis en place la base de l’intégration continue du système : Validation par des Merges Request, tests automatisés à chacune des taches (lors des Merge Request), et déploiement automatique après validation des tâches. Cela nous permet de capitaliser sur tout le travail réalisé dès le début sans perdre notre vitesse de développement. Tout ceci dans un seul et même objectif : obtenir la meilleure qualité possible dans le temps imparti.

Après 8 semaines de travail, soit 4 sprints, nous avons terminé la première phase de développement dans les temps. Dans ce temps imparti, nous avons créé un système complet et sur mesure de connexion, gestion du mot de passe, administration des utilisateurs, gestion de la politique de mot de passe ainsi que l’architecture de base en micro-service (aujourd’hui uniquement celui de l’authentification) et le design de l’interface ainsi que le système de langue avec deux langues ajoutées et leur fichier de traduction (Anglais et Français).

La démarche qualité mise en place a permis après 2 mois de tests chez le client d’avoir aucun bug remonté. L’objectif maintenant est de rajouter les différents éléments manquants.