Développeur
37 chapitres répartis en 13 sections
Premiers pas
Authentification
Authentification — Concepts & Flow
Vue d'ensemble du flow OAuth2 PKCE Wakastart : concepts clés, diagramme complet et prérequis Keycloak.
Authentification — Implémentation PKCE
Code complet du flow PKCE : génération, start-login, échange, enrichissement, cookies et logout.
Contexte utilisateur — Structure du payload /me
Structure complète du payload /me : identité, niveaux d'accès, équipes, droits applicatifs et features.
Contexte utilisateur — Cache & Invalidation
Quand appeler /me, stratégie de cache React, invalidation après refresh token et bonnes pratiques.
Sécurité
Contrôle d'accès — Modèle & Cascade
Les 3 vecteurs de droits Wakastart : adminLevel, wakaRoles, appRights, et la cascade de features.
Contrôle d'accès — Guards & Hooks
Implémentation complète : hook useAppRights, composant Protected, guard NestJS AppRightGuard.
Contrôle d'accès — Feature Flags
Cascade de features App/Network/Customer, activation conditionnelle et intégration dans les guards.
Bonnes pratiques — Sécurité
Tokens, secrets, HTTPS, CSP, logs : les règles de sécurité non négociables pour une Wakapp en production.
Bonnes pratiques — Performance & Observabilité
Cache, refresh proactif, pagination, TanStack Query, métriques Prometheus et structured logging.
Pièges classiques d'intégration
Les 10 erreurs les plus fréquentes lors de l'intégration d'une Wakapp : symptôme, cause et solution.
Utilisation de l'API
Utilisation de l'API — Conventions REST
Authentifier les requêtes, pagination, filtres, multi-tenant automatique et format d'erreur unifié.
Utilisation de l'API — Headers & Rate Limits
Headers requis et optionnels, idempotence, CORS, rate limiting et backoff exponentiel.
Référence des endpoints
Tableau exhaustif de tous les endpoints Discovery, Auth, profil, CRUD, invitations et modules disponibles pour une WakaApp.
Erreurs — Codes HTTP
Format d'erreur unifié, codes HTTP 400 à 5xx, causes et stratégies de gestion pour une Wakapp robuste.
Erreurs — Codes métier
Codes d'erreur métier Wakastart, messages exacts testables programmatiquement et mappings d'état.
Modules
API Invitations — Création
Créer une invitation : prérequis, endpoint POST /api/invitations, body, réponse et gestion d'erreurs.
API Invitations — Vérification & Acceptation
Endpoints verify et accept : implémentation de la page d'acceptation, effets serveur et pièges.
MCP Server — Vue d'ensemble
Le serveur MCP WakaStart hébergé sur docs.wakastart-dev.app : 5 tools, resources disponibles et caractéristiques techniques.
MCP Server — Configuration Claude Code
Configurer Claude Code avec .mcp.json pour accéder au serveur MCP WakaStart sur docs.wakastart-dev.app.
Modèle d'architecture
Vue d'ensemble de la plateforme
Wakastart est une plateforme PaaS qui héberge ton app — tu déclares ses composants, Wakastart les build et les exécute.
Hiérarchie App → Environnement → Instances
Le modèle hiérarchique de Wakastart : Architecture (le blueprint) vs Environnements (les instances réelles).
Sources & services
Repository (dépôt Git)
Repos managés ou importés : la source du code que tu vas builder.
Service — composant exécutable
ServiceDefinition (architecture) vs ServiceInstance (environnement) : le pattern 2 niveaux.
Build — du code à l'image Docker
Le pipeline qui transforme ton code Git en image Docker prête à déployer.
Bases, stockage, routing
Bases de données et stockage
PostgreSQL, MongoDB, Valkey et buckets S3 : les dépendances persistantes de ton app.
URLs et routing
Domaines, sous-domaines et HttpRoutes : comment Wakastart route le trafic HTTP vers tes services.
Variables et secrets
Comment Wakastart fournit la config à tes services : architecture, configuration d'environnement, binding.
Environnements & cycle de vie
Environnements
Un environnement = une instance complète et isolée de ton app. Champs principaux, cycle de vie, dashboard.
Cycle de vie d'une ressource
Statuses PENDING → PROVISIONING → PROVISIONED → DESTROYING → DESTROYED.
Builds vs Deployments
Différence cruciale : un Build produit une image, un Deployment lance des pods. Mode AUTO vs MANUAL.