Files
edubox/SESSION_NOTES.md
T

3.3 KiB

Notes de session EduBox - 17 juin 2026

Ce qui fonctionne

  • Agent EduBox v0.2.7 déployé avec binaires Linux/Mac/Windows.
  • Connexion WordPress via URL publique fonctionne (wp-admin inclus).
  • Proxy Next.js gère correctement les POST (duplex: half), les cookies, les headers X-Forwarded.
  • Certificats TLS on-demand Caddy fonctionnent pour les sous-domaines d'instances.
  • Reset d'instance corrige : le serveur envoie maintenant le ComposeConfig complet.
  • PUBLIC_DOMAIN inclut le sous-domaine de l'instance (<id>.<domain>).

⚠️ Problème en cours : PrestaShop

L'installation automatique de PrestaShop 8.1 se termine avec succès, mais l'accès via l'URL publique ou localhost provoque des redirections incorrectes :

  • curl -I http://localhost:8080 retourne 302 Location: http://cmqiiso9g0001mfap4wv7a690.alfrednobel.edudeploy.com/
  • curl -I https://cmqiiso9g0001mfap4wv7a690.alfrednobel.edudeploy.com/ retourne 302 vers la même URL (boucle infinie).
  • curl -I https://cmqiiso9g0001mfap4wv7a690.alfrednobel.edudeploy.com/index.php retourne 200 OK.

Hypothèses / pistes

  1. PrestaShop stocke le domaine shop en base (ps_configuration : PS_SHOP_DOMAIN, PS_SHOP_DOMAIN_SSL).
    • Avec PS_ENABLE_SSL=1, il est configuré avec l'URL publique en HTTPS.
    • Quand on accède via localhost, il redirige vers l'URL publique.
  2. L'accès à / redirige vers l'URL canonique, ce qui crée une boucle via le proxy.
  3. Il faudrait un équivalent PrestaShop du mu-plugin WordPress pour forcer le domaine à la volée selon HTTP_HOST.

Template PrestaShop actuel (seed.ts)

DB_SERVER: db
DB_PORT: 3306
DB_NAME: prestashop
DB_USER: prestashop
DB_PASSWD: prestashop
DB_PREFIX: ps_
PS_DOMAIN: {PUBLIC_DOMAIN}
PS_SHOP_NAME: PrestaShop 8.1 vierge
PS_INSTALL_AUTO: "1"
PS_INSTALL_DB: "0"
PS_ENABLE_SSL: "1"
PS_LANGUAGE: fr
PS_COUNTRY: fr
ADMIN_MAIL: admin@edubox.local
ADMIN_PASSWD: EduboxPrestashop2024!
PS_FOLDER_ADMIN: admin
PS_FOLDER_INSTALL: install
PS_DEV_MODE: "1"

🚀 Prochaines étapes suggérées

  1. Option rapide : accepter que l'accès étudiant se fasse via l'URL publique. Vérifier que https://<id>.alfrednobel.edudeploy.com/index.php fonctionne et que la boutique est utilisable.
  2. Option propre : développer un module/override PrestaShop qui :
    • Détecte HTTP_HOST / X-Forwarded-Host.
    • Met à jour PS_SHOP_DOMAIN et PS_SHOP_DOMAIN_SSL dynamiquement.
    • Permet l'accès via localhost ET via l'URL publique.
  3. Alternative : installer PrestaShop avec PS_DOMAIN=localhost:8080 et laisser le proxy réécrire les URLs (mais c'est complexe).

📁 Instance de test actuelle

  • ID : cmqiiso9g0001mfap4wv7a690
  • Type : PrestaShop 8.1 vierge
  • Port : 8080
  • Nœud : OMEGA-GAMER (PC étudiant de Yacine)

📝 Commits récents

  • 5c4c9f3 fix(server/api): envoi du ComposeConfig lors d'un reset d'instance
  • 2d57857 fix(server/api): PUBLIC_DOMAIN inclut le sous-domaine de l'instance
  • 2b31ec7 fix(seed): PrestaShop installé avec SSL et sans dynamic domain

🔧 Commandes utiles pour reprendre

Sur le serveur :

cd /opt/edubox
docker logs edubox-server --tail 50
docker exec edubox-server sh -c "cd /app && npx prisma db seed"

Sur le PC étudiant (PowerShell) :

podman ps --format "table {{.Names}}`t{{.Status}}`t{{.Ports}}"
podman logs -f cmqiiso9g0001mfap4wv7a690-app-1