[Symfony – Bootstrap] Logiciel de workflow sur-mesure

Pour ce projet, nous avons été sous-traitant d’une Entreprise de Services du Numérique (ESN) qui nous a choisis pour notre expertise technique dans le développement d’applications. Le client final est une industrie. Ils disposent en interne de milliers de fiches de procédures soumises à des étapes de validation et de contrôle strictes. Le client final avait besoin de mettre en place un outil pour les gérer avec des technologies plus récentes et adaptées à leur environnement technique existant.

Voici le fonctionnement que l’on a appliqué : après avoir défini et analysé le cahier des charges, ainsi qu’estimé le coût du projet à partir de ces informations. Le projet a été diviser en deux phases, une phase d’étude puis une phase de réalisation. Pendant la phase d’étude, nous avons réaliser des ateliers avec le client en vue de rédiger un cahier des charges qui nous a amené à une estimation de la durée du projet de 3 mois. Le client nous a ensuive accordé sa confiance pour réaliser la seconde phase, le développement.

Pour ce projet, nous procédons de manière Agile, en découpant le travail en sprints de 2 semaines. Les compétences techniques attendues par la SSII incluent l’utilisation d’Internet Information Services (IIS), un serveur web développé par Microsoft, ainsi que la mise en place de la récupération des identifiants d’authentification de Windows via le navigateur (SSO).

Nous avons développé leur logiciel en utilisant le Framework PHP Symfony, en complément avec JavaScript et jQuery pour les fonctionnalités dynamiques. Pour le design, nous avons utilisé CSS et Bootstrap afin de créer une interface esthétique et responsive.

Vision et découpage du projet 

Sprint 1 : Écran simple et connexion à la base de données SQL Server

Nous avons mis en place des écrans pour pouvoir visualiser, lire, modifier, créer et supprimer des données telles que les Utilisateurs, les Bâtiments et les Locaux. Nous avons également paramétré la plateforme web pour qu’elle puisse se connecter à leur base de données déjà existante.

Menu vertical 
-Personnes Sélectionner fond bleu 
-Bâtiments fond noire
-Locaux fond noire

Sprint 2 : Écran complexe

La mise en place du visionnage et de la création a été plus longue et a demandé plus de temps de réflexion que les écrans simples. Une fiche procédure comporte de nombreux champs à remplir, dont certains sont dépendant de champs précédents ce qui implique un affichage dynamique. De plus, nous avons créé deux tableaux de contacts offrant la possibilité d’ajouter, de supprimer et de modifier l’ordre des contacts en fonction de certaines conditions.

Pendant ce sprint, nous avons également développé un écran de comparaison de fiches en cas de modifications d’une fiche procédure. Les deux fiches sont affichées côte à côte et les champs modifiés sont mis en évidence.

Sprint 3 : Intégration des droits utilisateurs et gestion des e-mails

Nous avons mis en place le contrôle des droits utilisateurs sur les écrans précédents. L’utilisateur se connecte au logiciel grâce au protocole Lightweight Directory Access Protocol (LDAP), qui récupère les identifiants de sa session Windows pour vérifier ses droits utilisateurs. Pour mettre en place le système d’envoi d’e-mails, nous avons dû configurer le serveur SMTP dans Symfony.

Sprint 4 : Workflow des fiches procédure

Nous avons mis en place la gestion des étapes de validations et de contrôles strictes. Vous trouverez ci-dessous un diagramme (très) simplifié du processus de workflow.

Digramme d'action UML simplifier

Sprint 5 : Ajustements & corrections de bugs

C’est une étape intermédiaire que nous avons prévu pour adapter l’outil aux remarques du client.

Sprint 6 : Gestion de masse

La gestion de masse est un écran où il est possible de modifier plusieurs fiches contacts sans passer par le système de workflow. Cette étape permettant de modifier plusieurs milliers de fiches simultanément, une attention particulière à l’optimisation a été réalisé.

Bout de l'écran gestion de masse

Continuité et maintenance du projet

À la suite de la mise en production réussie, le client a souhaité que l’on continue à améliorer le produit, notamment pour la mise en place d’une troisième connexion LDAP et la migration de la base de données SQL Server vers une base PostgreSQL.

Grâce à notre expertise technique et à notre approche Agile, nous avons pu réaliser avec succès ce projet sur mesure pour notre client final de l’industrie. Nous avons mis en place un logiciel performant et conforme aux attentes.

Notre équipe a travaillé en étroite collaboration avec le client pour comprendre ses besoins spécifiques, définir les fonctionnalités essentielles et mettre en place un système efficace.

Si vous aussi vous avez besoin d’un nouvel outil, nous serons ravis de discuter de vos besoins et de vous accompagner dans la réalisation de vos projets.