4/12/24

Protéger le coeur du métier : pourquoi l'architecture plug-in est votre meilleure alliée

Découvrez comment l'architecture plug-in protège le cœur métier de votre application en évitant les dépendances inutiles.

4/12/24

Protéger le coeur du métier : pourquoi l'architecture plug-in est votre meilleure alliée

Découvrez comment l'architecture plug-in protège le cœur métier de votre application en évitant les dépendances inutiles.

4/12/24

Protéger le coeur du métier : pourquoi l'architecture plug-in est votre meilleure alliée

Découvrez comment l'architecture plug-in protège le cœur métier de votre application en évitant les dépendances inutiles.

Dans un environnement où les besoins métiers changent vite, comment s’assurer que les fonctionnalités cruciales restent à l’abri des régressions ? L’idée, c’est de garder une architecture propre et flexible, sans enchaîner inutilement les éléments clés du système. C’est là que se pose la vraie question : comment structurer une application pour que le cœur du métier – ces fonctionnalités critiques – soit autonome, sans se retrouver coincé par des dépendances superflues

Dans cet article, on va voir comment mettre en place une architecture évolutive basée sur des plug-ins. L’idée, c’est de donner aux développeurs des outils pour respecter les règles métier, tout en assurant l'indépendance des composants vraiment importants. On prendra un exemple concret pour comprendre comment cette architecture permet de rester flexible tout en protégeant les fonctionnalités cœur, comme le module client, des régressions liées à d’autres composants du système.

Contexte

Prenons un exemple : disons qu’on a deux fonctionnalités, Client et Company. D’un point de vue business, le client est le plus important, c’est lui qui rapporte. On appelle ça une fonctionnalité "Cœur". Pour garder une architecture propre, ce genre de fonctionnalités – celles qui comptent le plus pour le business – doit rester indépendant et ne dépendre d'aucune autre fonctionnalité. Cette règle permet de réduire les risques de régression sur ce qui est vraiment essentiel pour l’entreprise.

Liste des clients - sans la colonne entreprise

Imaginons maintenant qu’on ait un nouveau besoin métier : le client doit appartenir à une entreprise. Naturellement, on aurait tendance à modifier l’architecture pour que la fonctionnalité Client dépende de la fonctionnalité Entreprise (User.company = ...). Logique d’un point de vue technique, mais pas forcément d’un point de vue business. Si le client est le cœur du métier, il faut qu’il puisse fonctionner sans l’entreprise pour permettre au business de tourner.

Liste des client - avec la colonne entreprise

Voici les étapes à suivre pour y arriver :

  1. Déterminer avec le business ce qui est cœur de métier
  2. Toujours vérifier les dépendances des composants cœur
  3. Découper en composants pour enrichir les fonctionnalités de base
  4. Utiliser de l'injection de dépendance

Classe composite

Pour ajouter de nouvelles fonctionnalités sans toucher au module de base (client), on découpe le composant en plusieurs parties indépendantes. Les nouvelles fonctionnalités, comme la colonne Entreprise ou le champ Entreprise dans le formulaire, sont ajoutées via des "composites" de la classe fille.

Diagramme de classe de la fonctionnalité de liste des client, avec extension

Ici, la fonctionnalité de liste des clients génère un tableau alimenté grâce à une liste d’extensions (listExtensions). Ces extensions apportent les données nécessaires pour remplir le tableau (tableColumns, columnValue, …).

Voici l’architecture en l’état :

Diagramme de classe implémentation d’une extension pour la liste des client

Nous constatons que la fonctionnalité du client, qui est une fonctionnalité cœur, dépend de la fonctionnalité entreprise. Cette dépendance n’est pas souhaitable, le client étant plus important, il est plus souhaitable qu’il soit le plus naïf, et ainsi le plus simple possible.

Inversion de dépendance

Pour que le module client reste indépendant, on inverse les dépendances : le module client traite une liste d’extensions (interface) au lieu de dépendre directement de classes spécifiques. Ce sont les extensions qui se référencent elles-mêmes lors de l'initialisation de l’application ou au chargement de la page. Ainsi, les règles métier du client restent isolées du reste.

Exemple d’architecture pour la liste des clients

Diagramme de classe -  injection de dépendance par enregistrement d’une extension

De cette façon, lors de l'initialisation, la fonctionnalité Company s’enregistre comme extension du client.

Diagramme de classe - implémentation d’une extension avec injection de dépendance

Cette solution est agnostique du langage ou de la bibliothèque. Certains frameworks proposent des outils d’injection de dépendance, qui font gagner du temps mais créent une dépendance au framework. On en parlera dans un autre article.

Conclusion

Cette approche d'architecture permet de maintenir une indépendance cruciale entre les fonctionnalités cœur de métier et les autres composants du système. En inversant les dépendances, on s’assure que les fonctionnalités critiques, comme le client, restent isolées et protégées des régressions causées par des changements dans d’autres modules moins importants. Cette méthode renforce la robustesse de l'architecture et rend l’évolution de l'application plus flexible et contrôlée. Dans un contexte où les besoins business évoluent en continu, cette architecture plug-in offre aux devs une solution propre, modulaire, et évolutive tout en minimisant le risque d’altérer ce qui est essentiel pour l'entreprise.

A lire aussi

Article
4/4/25
Pourquoi recruter de nouveaux devs n’est pas la solution pour accélérer le delivery ?
Recruter plus de développeurs n’accélère pas toujours le delivery. Une organisation tech claire et scalable est la vraie clé de la vélocité.
Lire l'article
Article
3/4/25
Pourquoi les entreprises peinent à recruter des développeurs seniors en 2025 ?
Découvrez pourquoi votre organisation n’attire pas les profils expérimentés et comment y remédier.
Lire l'article
Article
1/4/25
Structuration équipe tech : le vrai levier pour scaler sereinement
Structurer son équipe tech est une étape critique pour scaler sans chaos. Découvrez les 6 leviers pour organiser vos équipes tech de manière performante et autonome.
Lire l'article

A lire aussi

4/4/25
Pourquoi recruter de nouveaux devs n’est pas la solution pour accélérer le delivery ?
Recruter plus de développeurs n’accélère pas toujours le delivery. Une organisation tech claire et scalable est la vraie clé de la vélocité.
Lire l'article
3/4/25
Pourquoi les entreprises peinent à recruter des développeurs seniors en 2025 ?
Découvrez pourquoi votre organisation n’attire pas les profils expérimentés et comment y remédier.
Lire l'article
1/4/25
Structuration équipe tech : le vrai levier pour scaler sereinement
Structurer son équipe tech est une étape critique pour scaler sans chaos. Découvrez les 6 leviers pour organiser vos équipes tech de manière performante et autonome.
Lire l'article

Prêt à (re)mettre la tech au service de votre business ?

Quelque soit votre besoin, nous mettons un point d’honneur à vous apporter des solutions claires et pragmatiques, adaptées au stade de développement de votre entreprise et à vos équipes existantes.

Confier un projet
4/12/24

Protéger le coeur du métier : pourquoi l'architecture plug-in est votre meilleure alliée

Télécharger
4/12/24

Protéger le coeur du métier : pourquoi l'architecture plug-in est votre meilleure alliée

Au programme de ce livre blanc :

Télécharger ce Livre blanc !

A lire aussi

Livre Blanc
14/10/24
Startups, scale-ups : face à l’ultimatum de la rentabilité, comment rationaliser vos projets tech ?
Des conseils concrets et des exemples réels pour aider les CEO à optimiser leurs ressources tech et renforcer l’efficacité de leur organisation.
Lire l'article

A lire aussi

14/10/24
Startups, scale-ups : face à l’ultimatum de la rentabilité, comment rationaliser vos projets tech ?
Des conseils concrets et des exemples réels pour aider les CEO à optimiser leurs ressources tech et renforcer l’efficacité de leur organisation.
Lire l'article

Prêt à (re)mettre la tech au service de votre business ?

Quelque soit votre besoin, nous mettons un point d’honneur à vous apporter des solutions claires et pragmatiques, adaptées au stade de développement de votre entreprise et à vos équipes existantes.

Confier un projet
4/12/24

Protéger le coeur du métier : pourquoi l'architecture plug-in est votre meilleure alliée

Commencer le diagnostic
4/12/24

Protéger le coeur du métier : pourquoi l'architecture plug-in est votre meilleure alliée

Pourquoi faire un audit tech avant d'investir ?

Votre cible d'investissement repose-t-elle sur une base technologique solide ?

A lire aussi

Livre Blanc
14/10/24
Startups, scale-ups : face à l’ultimatum de la rentabilité, comment rationaliser vos projets tech ?
Des conseils concrets et des exemples réels pour aider les CEO à optimiser leurs ressources tech et renforcer l’efficacité de leur organisation.
Lire l'article

A lire aussi

12/3/25
Audit tech : Évaluez l'actif technologique de votre cible d'investissement
Assurez la réussite de votre investissement en vérifiant que votre cible repose sur des bases technologiques solides.
Lire l'article

Prêt à (re)mettre la tech au service de votre business ?

Quelque soit votre besoin, nous mettons un point d’honneur à vous apporter des solutions claires et pragmatiques, adaptées au stade de développement de votre entreprise et à vos équipes existantes.

Confier un projet

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

This is some text inside of a div block.
This is some text inside of a div block.
de
company's name
François Bulteau

J'ai été marqué par l'expertise technique et l'écoute d'Hones face à nos problématiques métiers spécifiques. Leur contribution a été essentielle à notre projet, alliant qualité et réactivité. Leur capacité à intégrer rapidement notre environnement technique complexe a facilité le succès de notre collaboration. Leur soutien a non seulement permis d'alléger ma charge de travail en tant que CTO mais aussi de faire progresser toute notre équipe technique.

François Bulteau
CTO
de
Spliit
Oliver Abitbol

Nous avons fait appel à Hones pour développer les compétences de notre CTO, obtenir un regard extérieur sur notre organisation et prendre du recul sur notre stack technique. Hones a proposé Yann comme coach, qui a mené des sessions de 2 heures par mois avec notre CTO, accompagné d'un suivi régulier. Nous avons apprécié la réalisation des objectifs initiaux, la flexibilité de l'offre, la disponibilité des équipes d'Hones, et la sélection d’un profil parfaitement adapté à nos besoins.

Oliver Abitbol
CEO
de
Delight Data
Emma Capron

Notre collaboration avec Hones, commencée en 2022, s'est concentrée sur le développement de notre plateforme. Leur approche pragmatique et leur expertise technique ont été essentielles, nous offrant confiance et clarté. Leur vision intègre une stratégie business réfléchie, contribuant à notre sérénité et à l'alignement de nos objectifs. Après 2 ans, nous restons pleinement satisfaits de leur accompagnement

Emma Capron
Co-founder et COO
de
Slash Interim
Caroline Lecué

Nous avons sollicité Hones pour nous aider à décider de l'avenir de notre ERP « maison » : continuer à investir ou repartir de zéro. Hones a rapidement mobilisé trois experts (profil CTO) pour réaliser un audit en un mois, comprenant plus de vingt interviews, des tests techniques et des revues de code. Leur écoute, compréhension, rapidité et efficacité ont été remarquables, tout comme la qualité de leur analyse et de leurs livrables.

Caroline Lecué
CEO
de
Finacca
Olivier Tilloy

Travailler avec Hones a été une très bonne expérience. Leur équipe a démontré une expertise technique de haut niveau en réalisant une due diligence approfondie en trois semaines. J'ai particulièrement apprécié leur approche rigoureuse et la clarté de leur rapport, ce qui nous a permis de valider notre investissement en toute confiance. Grâce à Hones, nous avons pu confirmer la solidité technique de la startup et investir en toute sérénité.

Olivier Tilloy
Co-Founder and Managing Director
de
Techmind
This is some text inside of a div block.
This is some text inside of a div block.
de
company's name

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

François Bulteau
CTO
de
Spliit

J'ai été marqué par l'expertise technique et l'écoute d'Hones face à nos problématiques métiers spécifiques. Leur contribution a été essentielle à notre projet, alliant qualité et réactivité. Leur capacité à intégrer rapidement notre environnement technique complexe a facilité le succès de notre collaboration. Leur soutien a non seulement permis d'alléger ma charge de travail en tant que CTO mais aussi de faire progresser toute notre équipe technique.

Oliver Abitbol
CEO
de
Delight Data

Nous avons fait appel à Hones pour développer les compétences de notre CTO, obtenir un regard extérieur sur notre organisation et prendre du recul sur notre stack technique. Hones a proposé Yann comme coach, qui a mené des sessions de 2 heures par mois avec notre CTO, accompagné d'un suivi régulier. Nous avons apprécié la réalisation des objectifs initiaux, la flexibilité de l'offre, la disponibilité des équipes d'Hones, et la sélection d’un profil parfaitement adapté à nos besoins.

Emma Capron
Co-founder et COO
de
Slash Interim

Notre collaboration avec Hones, commencée en 2022, s'est concentrée sur le développement de notre plateforme. Leur approche pragmatique et leur expertise technique ont été essentielles, nous offrant confiance et clarté. Leur vision intègre une stratégie business réfléchie, contribuant à notre sérénité et à l'alignement de nos objectifs. Après 2 ans, nous restons pleinement satisfaits de leur accompagnement