---
title: "Module 8 : Backend API (PHP)"
weight: 620
description: "L'authentification JWT est gérée par SmartAuth :"
category: "Formation"
type: "formation"
---

# 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](/training/module8-backend-api/routage) | Configuration des routes dans api.php |
| 2 | [Controllers](/training/module8-backend-api/controllers) | Logique métier et CRUD |
| 3 | [Mappers](/training/module8-backend-api/mappers) | Conversion Dolibarr -> React |
| 4 | [Extrafields](/training/module8-backend-api/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

[Commencer : Routage ->](/training/module8-backend-api/routage)
