Module 8 : Backend API (PHP)
Ce module couvre la création de l'API REST côté serveur : routage, controllers, mappers et intégration avec Dolibarr.
Prérequis
- Connaissance de PHP et de Dolibarr
- Modules 5-7 complétés (architecture et hooks frontend)
Structure backend
monmodule/ ├── pwa/ │ └── api.php # Point d'entrée des requêtes ├── smartmaker-api/ │ ├── Controllers/ # Logique métier │ │ └── ItemController.php │ └── Mappers/ # Conversion Dolibarr → JSON │ └── dmItem.php └── smartmaker-api-prepend.php # Bootstrap
Chapitres
| # | Chapitre | Contenu |
|---|---|---|
| 1 | Routage | Configuration des routes dans api.php |
| 2 | Controllers | Logique métier et CRUD |
| 3 | Mappers | Conversion Dolibarr → React |
| 4 | Extrafields | Formulaires dynamiques et champs personnalisés |
Objectifs du module
À la fin de ce module, vous saurez :
- Configurer les routes API
- Créer des controllers avec CRUD complet
- Mapper les objets Dolibarr vers JSON
- Gérer l'authentification JWT
- Utiliser les extrafields
Flux d'une requête
1. React: api.private.get('items/123')
↓
2. HTTP: GET /pwa/api.php?route=items/123
↓
3. api.php: Route vers ItemController::show
↓
4. Controller: Charge l'objet Dolibarr
↓
5. Mapper: Convertit en JSON
↓
6. api.php: Retourne JSON avec code HTTP
SmartAuth
L'authentification JWT est gérée par SmartAuth :
- Validation automatique des tokens
- Accès à l'utilisateur Dolibarr connecté
- Refresh automatique des tokens