Architecture Hexagonale avec Micronaut
Documentation complète pour maîtriser l’architecture hexagonale (Ports & Adapters) avec Micronaut Framework.
Cette documentation vous guide pas à pas pour créer des applications robustes, testables et maintenables avec Micronaut.
Qu’est-ce que l’architecture hexagonale ?
L’architecture hexagonale (aussi appelée Ports & Adapters) est un pattern architectural qui permet de créer des applications :
- Indépendantes du framework - Le cœur métier ne dépend d’aucune technologie
- Facilement testables - Isolation totale entre les couches
- Flexibles - Remplacer une base de données ou une API sans toucher au code métier
- Maintenables - Séparation claire des responsabilités
Principe fondamental
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ REST │──────→ │ DOMAIN │ ←──────│ Database │
│ (Adapter) │ │ (Core) │ │ (Adapter) │
└─────────────┘ └──────────────┘ └─────────────┘
Input Pure Output
Port Business Port
LogicLe domain est au centre et ne dépend de RIEN. Tout le reste dépend du domain.
Pourquoi cette documentation ?
Cette documentation a été créée pour tous les niveaux : débutants, développeurs confirmés et architectes.
Développeurs Débutants
Pour les Développeurs Débutants
Apprendre l’architecture hexagonale pas à pas avec des exemples concrets.
- Concepts de base expliqués simplement
- Exemples progressifs du simple au complexe
- Tutoriels guidés avec des
Steps - FAQ et pièges courants
Parcours recommandés
Choisissez votre parcours selon votre niveau et vos objectifs.
🚀 Je débute
Je débute avec l’architecture hexagonale
Comprendre les bases
Introduction - Qu’est-ce que l’architecture hexagonale ?
Maîtriser Micronaut
Concepts Micronaut - IoC, Beans, Dependency Injection
Comprendre le pattern
Ports & Adapters - Le pattern en détail
Créer vos premiers ports
Guide des Ports - Créer des ports Input/Output
Garantir la conformité
Tests d’Architecture - Garantir la conformité avec ArchUnit
Sections principales
1. Fondamentaux
1. Fondamentaux
Les bases de l’architecture hexagonale et des concepts Micronaut.
- introduction.mdx
- micronaut-concepts.mdx
- annotations.mdx
- ports-and-adapters.mdx
Contenus :
- Introduction - Qu’est-ce que l’architecture hexagonale ?
- Concepts Micronaut - IoC, Beans, DI, AOT
- Annotations - Guide complet Lombok + Micronaut
- Ports & Adapters - Pattern en profondeur
Exemple rapide
Voici comment créer un endpoint complet avec l’architecture hexagonale en 4 étapes.
1. Domain
1. Domain (cœur métier)
Le domain contient les entités et les interfaces (ports de sortie).
@Value
public class Trend {
String keyword;
Integer score;
}public interface TrendRepository {
Optional<Trend> findByKeyword(String keyword);
}Le domain ne dépend de RIEN - pas de framework, pas de BDD, pas d’API.
Résultat : Le domain est pur, l’infrastructure est remplaçable, tout est testable.
Technologies
Stack technique recommandée pour l’architecture hexagonale avec Micronaut.
| Technologie | Usage | Pourquoi ? |
|---|---|---|
| Micronaut 4.x | Framework principal | Moderne, rapide, AOT compilation |
| Lombok | Réduction boilerplate | Génère getters, constructeurs, etc. |
| Jackson | Sérialisation JSON | Standard pour APIs REST |
| JUnit 5 | Tests unitaires | Framework de test moderne |
| AssertJ | Assertions | Assertions fluides et lisibles |
| ArchUnit | Tests architecture | Garantir conformité hexagonale |
| Mockito | Mocking | Isoler les dépendances dans les tests |
Commencer maintenant
Prêt à maîtriser l’architecture hexagonale ? Choisis ton parcours et plonge dans la documentation !
Débutant
Parcours Débutant
Comprendre les bases
Introduction - Comprendre les bases
Découvrir Micronaut
Concepts Micronaut - IoC, Beans, DI
Créer ton premier port