Initial vault setup
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user