En mai 2026, Corim Solutions met en production un nouvel espace client conçu avec Dawap. Ce n’est pas une simple couche de présentation ajoutée au-dessus d’un logiciel existant : c’est une plateforme métier complète, reliée à l’ERP Colline, le logiciel que Corim commercialise auprès de ses clients et utilise aussi en interne pour piloter ses propres opérations.
Le projet démarre fin 2025, avec un contexte particulier : Corim Solutions est un client historique de Dawap, accompagné depuis plus de treize ans. Cette durée change tout. Elle donne assez de confiance pour aborder un chantier ambitieux, mais elle crée aussi une exigence forte : ne pas plaquer une solution standard sur un système existant, respecter les usages installés et faire évoluer l’expérience client sans casser la source de vérité métier.
Cette fiche raconte comment Dawap a cadré, développé, testé et mis en production un portail client et extranet B2B Symfony 8 connecté à cet ERP métier : tableau de bord, sélection de licence, documentation par produit et version, téléchargements, demandes de mise à jour, assistance, Corim Care, gestion des utilisateurs, back-office, synchronisations asynchrones, sécurité MFA et exploitation continue.
Le résultat est un gros projet de développement web sur mesure, mais aussi un projet d’intégration, de conduite du changement, de qualité logicielle et de run. Il rend visible une partie essentielle de notre métier : transformer un SI déjà vivant en expérience utile, fiable et durable pour les clients comme pour les équipes internes.
1. Présentation du client
Un éditeur métier accompagné par Dawap depuis plus de treize ans
Corim Solutions édite et déploie des solutions logicielles métier auprès d’une base installée de clients. Derrière chaque compte, il peut y avoir des licences, des contrats, des versions, des modules complémentaires, des modes d’hébergement différents, des utilisateurs avec des rôles distincts, des demandes d’assistance, des mises à jour, des documents et des services associés.
Depuis plus de treize ans, Dawap accompagne Corim Solutions sur des sujets web, techniques et métier. Cette relation longue permet de comprendre le contexte sans repartir de zéro à chaque évolution : vocabulaire produit, logique de licences, rôle de l’ERP Colline, contraintes clients, attentes support, importance des versions et réalité opérationnelle des équipes.
L’enjeu du nouvel espace client était donc de moderniser la relation client sans remplacer l’ERP. Colline devait rester la source de vérité, pendant que l’espace client devenait l’interface web sécurisée, lisible et exploitable par les clients, les administrateurs de compte et les équipes Corim.
2. Méthode projet Dawap
Un chantier mené comme un produit métier, de fin 2025 à mai 2026
Le projet commence par une phase d’analyse de l’existant : parcours client, comptes, licences, contacts, utilisateurs, rôles, droits, produits, versions, documentation, téléchargements, demandes de support, contraintes d’onboarding et dépendances à l’ERP métier. Cette phase sert à transformer un besoin large en backlog pilotable.
Les sujets sont ensuite priorisés par valeur et par risque : sécuriser l’accès, fiabiliser la synchronisation avec l’ERP, permettre la sélection de compte et de licence, exposer les contenus utiles, cadrer les demandes de mise à jour, outiller le back-office, puis renforcer la qualité, les tests, les performances et la mise en production. Le delivery a été suivi en sprints, avec des arbitrages réguliers et des validations métier.
La qualité a été traitée comme un sujet central. Le dépôt contient des tests unitaires, d’intégration et applicatifs, des fixtures ERP rejouables, des validations automatiques, une CI GitLab, des images Docker PHP/Nginx, des environnements de sandbox et de production, ainsi que des workers RabbitMQ pour découpler les synchronisations critiques.
3. Avant le projet
Des clients à mieux servir sans débrancher le système existant
Avant ce chantier, une partie importante de la relation client reposait sur des échanges humains, des informations internes, des demandes au support et des manipulations liées à l’ERP métier. Les données existaient, mais elles n’étaient pas toujours exposées dans une expérience web unifiée, simple et sécurisée pour les clients.
Les irritants étaient ceux que l’on retrouve souvent chez un éditeur logiciel B2B mature : clients multi-licences, contacts avec des rôles différents, adresses e-mail à fiabiliser, utilisateurs sans e-mail, contrats à vérifier, versions multiples, modules complémentaires, hébergements on-premise ou hébergés, demandes d’intervention et besoin de mieux orienter les clients vers la bonne information.
La documentation, les téléchargements, les demandes de mise à jour, les informations de support et les services comme Corim Care devaient être consultables dans un espace cohérent. Sans cela, les équipes Corim restaient trop sollicitées pour des actions qui pouvaient devenir autonomes, cadrées et traçables.
Le risque n’était pas uniquement fonctionnel. Sur un espace client, chaque approximation peut devenir un problème de confiance : mauvais compte, mauvaise licence, mauvaise version, mauvais rôle, mauvaise visibilité sur un document ou mauvais déclenchement de demande. Il fallait donc construire un produit sérieux, pas une simple zone privée.
4. Objectifs du projet
Créer un espace client utile, sécurisé et connecté à la réalité métier
Le premier objectif était de donner aux clients Corim un point d’entrée clair : se connecter, choisir le bon compte ou la bonne licence, comprendre leur périmètre, accéder à leurs contenus, retrouver leurs documents, demander une mise à jour et contacter les équipes avec le bon contexte.
Le deuxième objectif était de garder l’ERP Colline comme référentiel. Les comptes, licences, contacts, fonctions utilisateur, produits, versions, modules et informations de service ne devaient pas être recopiés manuellement dans un nouveau système fragile. L’espace client devait lire, synchroniser et mettre à jour ce qui devait l’être, avec des mécanismes de reprise et de contrôle.
Le troisième objectif était de fournir aux équipes Corim un back-office métier pour administrer les contenus, suivre les comptes, les utilisateurs, les invitations, les activités, les téléchargements, les documentations, les ressources, les messages, les statistiques et les signaux utiles après la mise en ligne.
Le quatrième objectif était la production. Le projet devait pouvoir être déployé, supervisé, rejoué en environnement de validation, testé automatiquement et exploité avec des workers, des logs, des emails transactionnels, des données multilingues et une gestion robuste des erreurs.
5. Solution livrée
Un espace client complet, entre produit web et intégration SI
Dawap a livré une application Symfony 8 structurée autour de plusieurs contextes métier : comptes, contacts, contenus, produits, support et utilisateurs. Cette organisation permet de garder une séparation claire entre les règles métier, les accès techniques, les interfaces web et les traitements asynchrones.
Côté client, l’espace donne accès à un tableau de bord contextualisé, aux licences, aux produits, aux versions, aux modules complémentaires, aux actualités produit, aux ressources, aux documentations, aux téléchargements, aux demandes de mise à jour, à l’assistance, au support, au contact, au profil et aux préférences.
Côté Corim, le back-office permet de suivre et d’administrer les comptes, les utilisateurs, les contacts, les invitations, les contenus, les CTA, les ressources, les FAQ, les supports, les documentations, les téléchargements, les statistiques de connexion, les activités, les logs API et les indicateurs d’onboarding.
Cette solution se situe à la croisée de plusieurs expertises Dawap : portail client, application métier, application connectée à un ERP ou CRM et intégration API.
6. Connexion à l’ERP métier
Relier l’espace client à l’outil que Corim utilise et commercialise
L’ERP Colline reste au centre du dispositif. Il ne s’agit pas d’un outil périphérique : c’est un produit métier commercialisé par Corim auprès de ses clients, et utilisé aussi en interne par les équipes Corim. L’espace client devait donc se brancher sur un système vivant, stratégique et déjà structurant pour l’entreprise.
L’espace client interroge et met à jour l’ERP pour récupérer les licences, les informations de licence, les utilisateurs rattachés, les données de contact, les fonctions utilisateur, les préférences de communication, les informations de téléassistance et les demandes d’intervention.
L’intégration ne se limite pas à quelques appels API. Le projet gère des cas métier concrets : synchroniser un compte et ses licences, rattacher les bons produits, versions et modules, créer ou mettre à jour les contacts, désactiver les utilisateurs absents, changer un e-mail, modifier un profil, transmettre une demande de mise à jour hébergée ou rafraîchir les autres licences accessibles à un utilisateur.
Pour éviter de bloquer l’expérience utilisateur sur des traitements longs ou sensibles, Dawap a utilisé Messenger et RabbitMQ. Des files dédiées prennent en charge les synchronisations de comptes, les synchronisations manuelles et les contacts ERP. Cette architecture donne plus de maîtrise en cas de reprise, d’échec temporaire ou de forte activité.
Les échanges avec l’ERP sont aussi observables. Les logs API, les fixtures JSON et les tests d’intégration permettent de comprendre ce qui a été appelé, ce qui a été reçu, ce qui doit être rejoué et comment le système se comporte quand la donnée externe change.
7. Parcours client
Rendre les services Corim plus accessibles, sans perdre le contexte du compte
Le tableau de bord devient le centre de gravité du parcours. Une fois connecté, l’utilisateur retrouve le compte ou la licence active, les informations utiles, les ressources recommandées, les actualités produit, les CTA, les accès à la documentation, les propositions de téléchargement et les liens d’assistance.
La documentation est filtrée selon les produits, les versions et les modules activés. Cela évite d’exposer une bibliothèque générique où le client doit deviner ce qui le concerne. L’espace client peut mettre en avant les bons contenus, les bonnes versions et les bons liens rapides.
Les téléchargements on-premise et les demandes de mise à jour hébergée sont traités différemment, parce que la réalité métier n’est pas la même. Un client administrateur peut accéder aux téléchargements lorsque son contexte le permet, ou formuler une demande de mise à jour avec version cible, modules et créneau souhaité.
Les services d’aide sont eux aussi contextualisés : support, assistance, FAQ, contact et Corim Care. L’objectif est de réduire les allers-retours inutiles en donnant au client le bon point d’entrée, avec le bon compte, le bon produit et le bon niveau d’information.
8. Back-office Corim
Donner aux équipes un poste de pilotage, pas seulement une administration de contenu
Le back-office livré avec l’espace client permet aux équipes Corim de suivre le fonctionnement réel de la plateforme. Il rassemble des informations sur les comptes, les utilisateurs, les invitations, les profils, les activités, les documentations, les téléchargements, les produits, les versions, les modules, les ressources et les contenus publiés.
Le tableau de bord back-office donne une lecture opérationnelle : nombre d’utilisateurs, comptes, téléchargements, documentations, progression d’onboarding, complétude documentaire, connexions quotidiennes, produits les plus représentés, navigateurs utilisés et répartition des modes d’hébergement.
Les équipes peuvent aussi intervenir sur des données sensibles avec davantage de contrôle. Par exemple, un e-mail de contact peut être corrigé côté ERP avant une resynchronisation, une invitation peut être suivie, un compte peut être inspecté, des activités peuvent être relues et les contenus peuvent être adaptés au contexte produit.
Cette partie est essentielle dans un vrai projet métier. Un espace client sans back-office finit vite par dépendre de corrections techniques. Ici, les équipes disposent d’outils de suivi et d’administration cohérents avec l’exploitation quotidienne.
9. Sécurité, rôles et accès
Un espace client B2B doit protéger les comptes autant qu’il simplifie l’usage
Le projet intègre un parcours de première connexion, une gestion des mots de passe, des rôles, des droits, des profils, des préférences de communication et de la sécurité MFA. L’objectif est de rendre l’accès plus fluide sans affaiblir le contrôle sur les comptes clients.
Les droits ne sont pas décoratifs. Certains parcours sont réservés aux administrateurs de compte : téléchargements, demandes de mise à jour, Corim Care, gestion d’utilisateurs, invitations ou désactivations. D’autres restent accessibles à des profils plus simples, selon les fonctions récupérées depuis l’ERP.
Dawap a aussi traité des cas de sécurité opérationnelle : empêcher l’auto-désactivation, éviter de supprimer le dernier administrateur actif, désactiver proprement un utilisateur côté ERP et localement, limiter les accès au compte courant, gérer les utilisateurs sans e-mail et éviter les actions ambiguës sur une licence non sélectionnée.
Le multilingue FR/EN a été intégré dans les interfaces et les emails transactionnels, parce que la sécurité ne dépend pas seulement de la technique. Les messages doivent être compréhensibles par les utilisateurs qui reçoivent une invitation, finalisent leur accès, changent leur mot de passe ou gèrent leur profil.
10. Architecture technique
Symfony 8, Docker, workers et séparation claire des responsabilités
L’application repose sur Symfony 8 et PHP 8.5, avec une architecture organisée en couches Domain, Infrastructure et Presentation. Ce choix évite d’enfermer les règles métier dans les contrôleurs et rend le code plus lisible sur un projet long, riche et amené à évoluer.
Le socle technique combine Percona/MySQL, Redis, RabbitMQ, Messenger, Docker, Nginx, PHP-FPM, cron et des volumes dédiés aux uploads, contenus et téléchargements. Les environnements sandbox et production utilisent une logique proche pour limiter les surprises au moment des validations.
Les images PHP et Nginx sont construites par la CI, puis poussées après validation. Les variables d’environnement couvrent les accès à l’ERP, l’URL de l’espace client, le mail, la sécurité, les workers et les chemins de stockage. Cette discipline est précieuse pour un projet qui ne doit pas seulement démarrer en local, mais tenir dans le temps.
Le projet ressemble à une vraie application métier connectée à un SI existant : domaine riche, API externe, traitements asynchrones, interfaces client et administration, contenus dynamiques, droits, logs, tests et déploiement contrôlé.
11. Tests, fixtures et qualité logicielle
Un gros portail client ne peut pas dépendre uniquement de tests manuels
Le dépôt audité contient plusieurs centaines de fichiers de tests et de fixtures. Les tests sont organisés en niveaux unitaires, intégration et applicatifs, avec des jeux JSON ERP rejouables pour valider les synchronisations et les cas métier sans dépendre en permanence d’un environnement externe.
La CI GitLab lance des contrôles de lint, valide les fixtures, vérifie la couverture des services d’écriture du domaine, exécute les tests PHPUnit avec Percona et Redis, puis construit les images applicatives. Cette chaîne réduit le risque de régression sur un périmètre où une modification de modèle peut avoir des effets larges.
Les fixtures ERP ont une valeur particulière. Elles documentent des réponses réelles ou représentatives : licences, informations de licence, utilisateurs, fonctions, demandes et cas de synchronisation. Elles servent à stabiliser le comportement de l’espace client même lorsque l’API externe évolue ou répond différemment.
La qualité est aussi fonctionnelle : vérifier qu’un administrateur voit les bons téléchargements, qu’une demande hébergée contient les bonnes informations, qu’un compte synchronisé conserve les bons contacts, qu’une documentation correspond à la bonne version ou qu’un profil modifié se répercute correctement.
12. Mise en production
Une sortie en mai 2026 préparée par plusieurs mois de stabilisation
Le chantier démarre en novembre 2025, monte fortement en charge au début 2026, puis se concentre sur la stabilisation, les validations, la connexion à l’ERP, les parcours client, le back-office, les contenus, les tests et la préparation de production jusqu’à la sortie de mai 2026.
Cette trajectoire est importante à raconter, parce qu’elle correspond à la réalité d’un gros projet métier. Les premières semaines servent à poser les fondations. Les mois suivants font émerger les cas de bord, les règles de droits, les exceptions ERP, les besoins de contenu, les écrans d’administration, les emails, les workers et les contraintes d’exploitation.
La mise en production s’appuie sur des environnements dédiés, des images Docker, des workers RabbitMQ, des crons, des variables d’environnement, des montages de fichiers pour les contenus et téléchargements, ainsi qu’une séparation claire entre validation et production.
La sortie de mai 2026 n’est donc pas un simple déploiement final. C’est le point où l’espace client devient exploitable, administrable, synchronisé et suffisamment outillé pour que Corim puisse continuer à le faire vivre avec Dawap après la publication.
13. Résultats obtenus
Plus d’autonomie client, plus de contrôle interne et une base durable
Le premier résultat est l’autonomie. Les clients disposent d’un espace unifié pour retrouver leurs informations, leurs licences, leurs produits, leurs versions, leurs documents, leurs téléchargements, leurs demandes et leurs canaux d’assistance.
Le deuxième résultat est la fiabilité. L’ERP reste la source de vérité, mais l’espace client offre une expérience moderne autour de cette donnée : synchronisations, actions contrôlées, rôles, logs, back-office, erreurs gérées et tests pour limiter les régressions.
Le troisième résultat est la capacité d’évolution. Corim dispose d’une application structurée, testée, déployable et administrable, qui peut accueillir de nouveaux contenus, de nouveaux services, de nouvelles règles de synchronisation ou de nouveaux parcours sans repartir d’une base fragile.
Le quatrième résultat est la lisibilité interne. Les équipes Corim voient mieux les comptes, les utilisateurs, les activités, les documents, les téléchargements et l’avancement des parcours. Cette visibilité transforme l’espace client en outil de service, pas seulement en interface publique connectée.
14. Ce que cela change au quotidien
Un produit qui simplifie la relation client tout en respectant l’existant
Pour un client Corim, le changement est concret : moins de recherche, moins d’incertitude, moins de dépendance à un échange manuel pour trouver une documentation, accéder à un téléchargement, demander une mise à jour ou comprendre les services disponibles.
Pour les équipes Corim, l’espace client devient un outil de travail. Il donne un accès plus structuré aux comptes, facilite le suivi, réduit les demandes répétitives, rend les contenus plus pilotables et laisse des traces utiles sur les activités et les interactions.
Pour Dawap, ce projet confirme une conviction forte : les meilleurs développements web B2B ne sont pas ceux qui prétendent simplifier artificiellement un SI complexe. Ce sont ceux qui comprennent la complexité, la rendent exploitable et construisent une interface suffisamment robuste pour durer.
C’est exactement le rôle d’un projet sur mesure : faire entrer un système existant dans une expérience plus fluide, plus fiable et plus lisible, sans perdre ce qui fait déjà tourner le métier.
15. Conclusion
Un projet qui montre ce que veut dire moderniser un SI sans l’arracher
Ce projet est important pour Dawap parce qu’il résume bien notre manière de travailler sur les systèmes métier. Nous n’avons pas cherché à remplacer l’ERP de Corim, ni à masquer la complexité réelle du contexte Corim. Nous avons construit une couche web robuste, sécurisée et administrable qui respecte le SI existant tout en améliorant fortement l’expérience des clients et des équipes.
L’espace client Corim Solutions montre qu’un bon portail B2B n’est pas seulement une interface. C’est un produit relié à des données fiables, des droits, des workflows, des contenus, des logs, des tests, des environnements, des scripts de synchronisation, des messages d’erreur utiles et une exploitation préparée avant la mise en production.
Pour une entreprise qui doit créer un portail client ou extranet B2B, refondre une application métier web ou connecter une interface à un SI existant avec de vraies contraintes de production, ce projet donne une preuve concrète de ce que Dawap sait cadrer, livrer et faire vivre.