Architecture - Monolithique
Une application monolithique, est une app où tous les composants (interface utilisateur, logique métier, accès aux données) sont regroupés dans un seul et unique programme.
Un seul projet. Un seul déploiement.Tout est ensemble, dans un seul bloc.
Prenons un exemple simple : une boutique e-commerce.
Tu as une page d’accueil, un panier, une gestion des produits, un système de paiement.
En architecture monolithique, tout ce code vit dans la même base de code, souvent dans un seul projet, parfois même un seul fichier (oui oui…).
Alors pourquoi utiliser ça aujourd’hui ?
Parce que c’est simple à mettre en place, surtout pour démarrer un projet. Un seul repo, un seul build, un seul déploiement. C’est aussi plus rapide à exécuter sur de petites applications, avec moins de dépendances.
Inconveients
Mais évidemment… tout n’est pas parfait.
Le problème principal du monolithe, c’est que tout est couplé.
Tu veux modifier une fonctionnalité ? Tu dois recompiler et redéployer toute l’app.
Et plus elle grossit, plus elle devient difficile à maintenir. On parle alors de code Spaguetti
Sans parler de la scalabilité : tu ne peux pas scaler un seul composant, c’est tout ou rien.
Conclusion
Malgré tout ça, le monolithe reste un excellent choix dans certains cas :
- Pour un MVP
- Pour un projet interne
- Pour une startup avec peu de devs
- Ou simplement… quand tu veux aller vite et bien