Le diagramme d’architecture hexagonale, également connu sous le nom d’architecture de ports et d’adaptateurs, est un modèle d’architecture logicielle visant à rendre les systèmes logiciels plus maintenables, testables et adaptables aux exigences changeantes. Il s’agit d’une manière d’organiser le code d’un système logiciel de manière à ce qu’il reste indépendant de ses interfaces externes, telles que les bases de données, les interfaces utilisateur ou les services tiers. Le diagramme d’architecture hexagonale permet une séparation claire entre la logique métier du logiciel et les dépendances externes, ce qui facilite la gestion et la maintenance du logiciel au fil du temps.
La figure ci-dessous montre un exemple de diagramme d’architecture hexagonale.

Le diagramme d’architecture hexagonale est appelé hexagonal car il est généralement représenté par un hexagone ayant la logique métier au centre et les interfaces externes aux bords. La forme hexagonale symbolise l’idée d’un noyau de logique métier entouré d’une couche protectrice d’adaptateurs qui permettent au système de communiquer avec le monde extérieur.
Histoire du diagramme d’architecture hexagonale
Le diagramme d’architecture hexagonale a été présenté pour la première fois par Alistair Cockburn, un expert reconnu du développement logiciel, en 2005. Cockburn a proposé le diagramme d’architecture hexagonale comme moyen de rendre les systèmes logiciels plus adaptables aux exigences changeantes. L’idée derrière le diagramme d’architecture hexagonale était de créer une architecture souple pouvant évoluer au fil du temps sans altérer le code existant.
Depuis lors, le diagramme d’architecture hexagonale a gagné en popularité parmi les développeurs logiciels comme moyen de créer des systèmes logiciels plus maintenables et testables. Le diagramme d’architecture hexagonale a été utilisé dans divers systèmes logiciels, allant des applications web aux systèmes embarqués, et s’est avéré être une méthode efficace pour organiser le code.
Quand utiliser un diagramme d’architecture hexagonale ?
Le diagramme d’architecture hexagonale convient le mieux aux systèmes logiciels qui doivent être hautement maintenables, testables et adaptables aux exigences changeantes. Il est particulièrement utile dans les situations où de nombreuses dépendances externes doivent être gérées, telles que les bases de données, les services tiers et les interfaces utilisateur.
Le diagramme d’architecture hexagonale convient également bien aux méthodologies de développement logiciel agiles, car il permet de créer un logiciel souple et adaptable au changement. Le diagramme d’architecture hexagonale facilite le changement des interfaces externes d’un système logiciel sans affecter la logique métier interne.
Comment créer un diagramme d’architecture hexagonale avec Visual Paradigm ?
La création d’un diagramme d’architecture hexagonale dans Visual Paradigm est simple :
- Cliquez sur le bouton Diagramme menu.
- Cliquez sur le bouton Nouveau bouton.
- Sélectionnez Diagramme d’architecture hexagonale et cliquez sur Suivant. Notez que vous devez créer un compte VP Online pour continuer. La création d’un compte est gratuite.

- Vous pouvez maintenant créer le diagramme à l’aide des symboles situés à gauche.

Exemples de diagramme d’architecture hexagonale
Exemple 1 de diagramme d’architecture hexagonale :

Exemple 2 de diagramme d’architecture hexagonale :

Questions fréquentes sur le diagramme d’architecture hexagonale
Quels sont les avantages de l’utilisation d’un diagramme d’architecture hexagonale ?
Le diagramme d’architecture hexagonale offre plusieurs avantages, notamment une maintenabilité, une testabilité et une adaptabilité accrues. Il permet de séparer la logique métier d’un système logiciel de ses dépendances externes, ce qui facilite la gestion et la maintenance du code au fil du temps. Il facilite également le test de la logique métier d’un système logiciel de manière isolée, sans avoir à s’inquiéter des dépendances externes.
Quels sont les inconvénients de l’utilisation d’un diagramme d’architecture hexagonale ?
Le principal inconvénient de l’utilisation d’un diagramme d’architecture hexagonale est qu’il peut être plus complexe que d’autres modèles d’architecture logicielle. Il exige une planification et une conception soigneuses pour s’assurer que le système logiciel est organisé de manière cohérente et facile à maintenir au fil du temps. Il peut également nécessiter plus de temps et de ressources au départ, bien que cet investissement puisse se révéler rentable à long terme grâce à un système plus adaptable et plus facile à maintenir.
Un diagramme d’architecture hexagonale peut-il être utilisé avec n’importe quel langage de programmation ou technologie ?
Oui, le diagramme d’architecture hexagonale peut être utilisé avec n’importe quel langage de programmation ou technologie. Il s’agit d’un modèle d’architecture logicielle indépendant du langage et de la technologie, ce qui signifie qu’il peut être appliqué à tout système logiciel, quelle que soit la langue ou la technologie utilisée. Toutefois, les détails d’implémentation d’un diagramme d’architecture hexagonale peuvent varier selon le langage ou la technologie spécifique utilisée. Par exemple, la manière dont les dépendances externes sont gérées peut différer entre les langages ou technologies.
Le diagramme d’architecture hexagonale est-il bien adapté aux architectures de microservices ?
Oui, le diagramme d’architecture hexagonale peut être bien adapté aux architectures de microservices. En fait, il est souvent utilisé en conjonction avec les architectures de microservices afin d’organiser le code de chaque service. Le diagramme d’architecture hexagonale permet de s’assurer que chaque microservice est bien organisé et facile à maintenir, tout en garantissant que les microservices peuvent communiquer entre eux et avec les dépendances externes de manière standardisée.
Le diagramme d’architecture hexagonale peut-il être utilisé avec du code hérité ?
Oui, le diagramme d’architecture hexagonale peut être utilisé avec du code hérité. En fait, il est souvent utilisé comme moyen de refactoriser le code hérité afin de le rendre plus facile à maintenir et plus adaptable aux exigences changeantes. En appliquant le diagramme d’architecture hexagonale au code hérité, il est possible de créer un système logiciel plus modulaire et plus testable, qui est plus facile à manipuler au fil du temps.
Souhaitez-vous en savoir plus sur les diagrammes d’architecture hexagonale ?
Les références ci-dessous vous fournissent plus d’informations sur les diagrammes d’architecture hexagonale.
- “Architecture hexagonale : trois principes et un exemple d’implémentation” par Alistair Cockburn – Cet article explique les trois principes de l’architecture hexagonale et fournit un exemple de mise en œuvre.
- “Architecture hexagonale” par le Dr. Venkat Subramaniam – Cet article traite du modèle d’architecture hexagonale et fournit un diagramme détaillé de ses composants.
- “Architecture hexagonale avec Spring” par Baeldung – Cet article fournit un exemple de mise en œuvre de l’architecture hexagonale à l’aide du framework Spring, et inclut un diagramme de l’architecture.











