Files
wiki/concepts/patterns-architecture.md
2026-06-09 18:40:21 +02:00

2.7 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Patterns d'Architecture 2026-06-06 2026-06-06 glossary
tech
architecture
design
high false
synthesized

📐 Patterns d'Architecture pour Apps Perso

Modèles d'architecture pour structurer ses applications personnelles (self-hosted ou cloud).

  • Monolith vs Microservices : Un monolithe est une application unique, les microservices sont des services indépendants découplés. Pour une app perso, le monolithe est souvent plus simple.
  • Client-Server : Architecture fondamentale où un client (front) consomme des services fournis par un serveur (back).
  • MVC (Model-View-Controller) : Pattern séparant les données (Model), l'interface (View) et la logique de contrôle.
  • Event-Driven : Architecture où les composants communiquent via des événements (pub/sub). Idéal pour des systèmes asynchrones.
  • CQRS (Command Query Responsibility Segregation) : Séparation des opérations d'écriture (Command) et de lecture (Query) pour optimiser les deux.
  • Hexagonal (Ports & Adapters) : Isole le cœur métier de la technique. Facilite les tests et le changement de base de données.
  • Repository Pattern : Abstraction de l'accès aux données. Le métier ne sait pas si les données viennent d'une DB, d'une API ou d'un fichier.
  • Service Layer : Couche intermédiaire qui orchestre les cas d'usage en combinant plusieurs repositories.
  • Backend for Frontend (BFF) : Backend spécifique à un type de client (Web, Mobile) qui agrège les microservices sous-jacents.
  • 12-Factor App : Méthodologie de conception d'applications cloud-native (config via env, stateless, logs en stdout, etc.).
  • Stateless : Le serveur ne conserve aucun état entre deux requêtes (toute l'info est dans la requête). Facilite le scaling.
  • Stateful : Le serveur conserve l'état (sessions, fichiers). Plus simple pour de petits projets.
  • Reverse Proxy Pattern : Utiliser un proxy (ex: traefik) devant plusieurs services pour gérer le routage et le SSL.
  • API Gateway : Point d'entrée unique pour toutes les APIs d'un système, gérant auth, rate limiting et routage.
  • Cache-Aside : Pattern où l'application lit d'abord le cache, et en cas de miss, lit la source et remplit le cache.
  • Sidecar Pattern : Un conteneur auxiliaire déployé à côté du conteneur principal pour fournir des fonctionnalités transverses (logs, proxy, config).
  • Choreography vs Orchestration : En microservices, la chorégraphie laisse les services réagir aux événements ; l'orchestration utilise un coordinateur central.

Liens