Skip to main content

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.

Sequence

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.

Sequence

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…).

Sequence

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

Sequence

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