# Mise en ligne — étapes restantes

1. Créer un **dépôt privé** GitHub `beks-tachy-simulator` dans le compte `bekimbatusha-sketch`. Cette action n'est pas encore effectuée.
2. Y importer tous les fichiers de cette archive à la racine, sans publier `.env` ou des clés.
3. Dans Railway, projet **BEK’S TACHY Simulator**, service `tachy-web` : connecter le dépôt GitHub privé, branche `main`.
4. Conserver `DATABASE_URL=${{Postgres.DATABASE_URL}}` et `NODE_ENV=production` dans les variables de `tachy-web`. Ajouter `TACHY_ADMIN_KEY` (secret aléatoire long, uniquement dans Railway). Ne jamais publier cette clé dans GitHub.
5. Railway doit détecter `railway.json`, exécuter l'installation, la génération Prisma, la compilation, puis au démarrage `prisma migrate deploy` et `next start`.
6. Contrôler les logs, le point `/api/health`, l'activation d'un code et l'enregistrement réel d'un résultat.
7. Ajouter un domaine **seulement après** ces tests. Ne pas annoncer la disponibilité aux élèves avant un audit de sécurité et une validation juridique/pédagogique OTR1.

La migration SQL initiale est incluse dans `prisma/migrations`. Elle n'a **pas** été appliquée à la base Railway depuis cet environnement.

## Vérifications supplémentaires (RC2)
- `/api/health` confirme uniquement que le serveur HTTP répond ; il ne valide pas PostgreSQL.
- `/api/ready` teste la connexion PostgreSQL et la présence d'une clé administrateur d'au moins 32 caractères. HTTP 503 = pas prêt.
- La clé `TACHY_ADMIN_KEY` doit être générée dans Railway et ne doit jamais être inscrite dans le dépôt ni transmise dans une conversation.
- Le dépôt GitHub privé n'a pas pu être créé via les actions GitHub disponibles dans cette session : l'utilisateur doit le créer depuis l'interface GitHub avant la connexion du service Railway.
- Les tests unitaires (14) réussissent localement ; l'installation npm et la compilation Next.js ne peuvent pas être vérifiées dans cet environnement (erreur DNS EAI_AGAIN sur registry.npmjs.org).
