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