# LOT 18.1 - Correctif Direction certifiee : schema OVH et runtime sans CREATE

## Probleme constate

Deux erreurs ont ete observees pendant les essais :

- creation d'un acces Direction depuis PLACE : erreur API tracking HTTP 500 `Device activation creation failed` ;
- demande de code SMS Direction depuis le Fil de Course web : `SQLSTATE[42000] 1142 CREATE command denied` sur `course_feed_direction_auth`.

La cause est le comportement runtime du lot precedent : le code applicatif tentait d'ajouter des colonnes ou de creer la table 2FA si elles n'existaient pas. Sur OVH, le compte applicatif peut etre volontairement limite aux droits applicatifs et ne pas disposer de `CREATE` / `ALTER`.

## Correctif applique

- `SRC/Tracking/DeviceActivationRepository.php` ne tente plus d'executer `ALTER TABLE` en runtime.
- Le code verifie les colonnes Direction attendues et retourne l'erreur explicite `tracking_direction_schema_missing` si la migration n'a pas ete appliquee.
- `SRC/Tracking/CourseFeedRepository.php` ne tente plus de creer `course_feed_direction_auth` en runtime.
- La 2FA Direction retourne l'erreur explicite `direction_auth_schema_missing` si la table de codes SMS n'existe pas.
- `public/api/tracking/create_device_activation.php`, `public/api/course_feed/login.php`, `public/api/course_feed/request_direction_sms.php` et `public/course_feed/index.php` retournent des messages JSON exploitables par PLACE ou l'interface web.

## Migration SQL a appliquer

Le fichier suivant doit etre importe une fois sur la base tracking OVH avec un utilisateur ayant les droits de migration :

`sql/2026_06_29_course_feed_direction_certification_full.sql`

Il contient :

- les colonnes de certification Direction sur `tracking_devices`, `tracking_bindings` et `tracking_device_activation_tokens` ;
- la table `course_feed_direction_auth` ;
- les index utiles pour la verification des numeros certifies.

## Regle de securite

L'acces Direction web reste refuse tant que la migration n'est pas appliquee. Le runtime ne contourne pas l'absence de schema par une certification degradee.
