À retenir
- Simplicité de développement, de test et de mise en ligne au démarrage.
- Toutes les fonctionnalités sont interdépendantes (couplage fort).
- Plus difficile à faire évoluer ou à réparer quand l'application devient gigantesque.
Un monolithe applicatif est un logiciel construit comme un bloc unique et indivisible. Imaginez un château de sable sculpté d'un seul tenant : si vous voulez agrandir une seule pièce, vous devez souvent manipuler l'ensemble de la structure car toutes les fonctions (gestion des clients, paiements, affichage) partagent le même code et les mêmes ressources.
Étymologie
Issu du grec monos (seul) et lithos (pierre), le terme désigne à l'origine un monument taillé dans un bloc de roche unique. En informatique, il s'est imposé par opposition aux architectures modernes découpées (microservices) pour décrire des programmes où tout est regroupé dans un seul ensemble cohérent.
Exemples d'usage
- Une boutique en ligne traditionnelle où le catalogue, la gestion des stocks et le tunnel d'achat font partie du même programme informatique.
- Un système de gestion de contenu (CMS) classique qui gère à la fois l'interface visuelle et la base de données dans un seul paquet logiciel.
Cas d'usage
Ce modèle intervient souvent lors de la création d'un prototype (MVP) pour aller vite, ou pour des applications dont la complexité reste modérée et qui sont gérées par une petite équipe de développeurs.
Bonnes pratiques
Il est recommandé de structurer le code de façon modulaire à l'intérieur du monolithe (on parle de monolithe modulaire). Cela permet de garder un code propre et facilite une éventuelle transition vers une architecture plus complexe si l'application connaît un grand succès.
Synonymes
Antonymes
Conseil
Si vous débutez un projet, ne fuyez pas le monolithe par peur de paraître 'dépassé'. Sa simplicité de gestion vous permettra de vous concentrer sur les fonctionnalités importantes avant de vous soucier de la complexité technique des réseaux.
Questions fréquentes
Le monolithe est-il une technologie obsolète ?
Absolument pas. Pour de nombreux projets, il reste la solution la plus efficace et la moins coûteuse par rapport à la complexité des microservices.
Peut-on transformer un monolithe en microservices ?
Oui, c'est une démarche courante appelée 'refactorisation', mais elle demande du temps et une planification rigoureuse pour découper les fonctionnalités sans interrompre le service.