Conformité documentaire des fournisseurs, 2018
Attestation Légale : stabiliser une plateforme SaaS de conformité en pleine transformation
Attestation Légale, aujourd'hui Once For All, édite une plateforme SaaS qui gère le dossier administratif des fournisseurs pour le compte de leurs donneurs d'ordre : attestations URSSAF, assurances, extraits Kbis. Fin 2017, plus de 46 000 utilisateurs s'y connectaient. De janvier à mi-juillet 2018, pendant que l'éditeur préparait le passage de sa plateforme d'OVH à AWS et la refonte complète de son produit, Innéair a été lead developer de la plateforme historique : elle l'a stabilisée, y a livré de nouvelles fonctionnalités et a contribué au plan de migration.
- Client
- Attestation Légale, éditeur lyonnais de logiciels, aujourd'hui Once For All
- Plateforme
- La plateforme France, qui relie donneurs d'ordre et fournisseurs : front office Drupal, back-office et certification des documents sur une famille d'applications Symfony
- Intervention d'Innéair
- Lead developer de la plateforme historique : stabilisation, performance, nouvelles fonctionnalités, préparation de la migration
- Technologies
- Back-end PHP, Symfony, Silex, Drupal
- Données MySQL, PostgreSQL, Elasticsearch, Redis
- Messages RabbitMQ, ActiveMQ
- Hébergement OVH, AWS, Apache
Tenir la plateforme historique pendant la transformation
L'éditeur avait lancé la refonte de son produit sur une nouvelle plateforme ; d'ici là, la plateforme historique devait continuer de servir ses clients. Elle n'avait rien d'un bloc unique : Drupal portait le front office, une famille d'applications Symfony portait le back-office, l'inscription et la certification des documents, et RabbitMQ synchronisait la certification avec le front office.
Comme lead developer, Innéair a sécurisé et stabilisé cet ensemble. Elle a assaini le code, supprimé des redondances, relevé une à une les neuf applications PHP de la préproduction et inventorié les licences des composants pour mesurer les risques de propagation des licences copyleft, comme la GPL de Drupal. Elle a contribué au plan de migration vers la nouvelle architecture, notamment sur la reprise des données, et participé aux arbitrages techniques.
Au quotidien, Innéair a structuré les pratiques de développement de l'équipe et l'a accompagnée en Scrum et en Kanban.
Mesurer avant d'optimiser
Sur une page lourde du front office, Innéair a mesuré en développement trois configurations du cache Drupal : celle en place et deux variantes, avec pour chacune le temps de génération, le temps d'affichage et le nombre de requêtes SQL. Générer tout le cache d'un coup accélérait l'affichage, mais la génération prenait alors plus de trente secondes et plus de 70 000 requêtes. Générer le cache d'un seul arbre à la fois gagnait sur les deux tableaux : 61 % de temps en moins pour la génération et 30 % pour l'affichage, sans requête supplémentaire. C'est cette variante qui est partie en production.
Livrer une fonctionnalité à travers deux applications
Un prospect demandait de pouvoir clôturer ses opérations, c'est-à-dire ses chantiers. La fonctionnalité touchait le front office Drupal, qui porte les opérations, et RedFive, l'application Symfony qui tient les obligations documentaires dans Elasticsearch. Innéair l'a livrée derrière un drapeau de fonctionnalité et a écrit sa procédure de mise en production étape par étape : côté Drupal, le nouveau statut de l'opération et l'initialisation des opérations existantes ; côté Elasticsearch, le nouveau champ des obligations et le rattrapage de tous les documents déjà indexés.
Rendre visibles les incohérences du référentiel
Le référentiel documentaire rattache chaque type de certificat de conformité à un type de document, et un certificat ne doit appartenir qu'à un seul. Innéair a construit une page de contrôle qui croise les 40 types de documents et les types de certificats dans une matrice, et qui signale en rouge chaque certificat rattaché à plusieurs types de documents. L'éditeur préparait la migration de ses données vers la nouvelle plateforme, qui demandait de fixer au plus tôt les règles de cohérence : ce contrôle les rendait vérifiables.
Ce qu'Innéair en retient
Une plateforme qui doit continuer de servir ses clients pendant qu'on la transforme demande trois réflexes : mesurer avant de changer, rendre les règles visibles et écrire ce qu'un autre devra rejouer. Innéair les applique aujourd'hui à chaque mission.
Réalisation suivante : Nivéales Médias : quinze sites de presse outdoor sur un même CMS
Votre plateforme est devenue difficile à faire évoluer ?
Innéair reprend des applications web en production et les fiabilise sans arrêter vos livraisons. Tout commence par un diagnostic de quatre à six jours, qui se termine par un plan chiffré.