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

38 lines
2.7 KiB
Markdown

---
title: Patterns d'Architecture
created: 2026-06-06
updated: 2026-06-06
type: glossary
tags: [tech, architecture, design]
confidence: high
contested: false
sources: [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
- Domaine : [[tech]]
- Outil : [[traefik]]
- [[message-queue]]
- [[architecture-monolithique]]