AccroCBio/EDITEUR_ADMIN.md
Louis Mazin 7677667d0b nice
2026-10-13 18:32:32 +02:00

2.7 KiB

Éditeur visuel AccroCbio

L'administration éditoriale fonctionne depuis le frontend : http://ADRESSE-DU-SERVEUR:1028/admin ou https://votre-domaine/admin (si nginx dirige cette URL vers React).

L'URL :1029/admin/ correspond toujours à Django Admin, un outil différent.

Première mise en route

  1. Installer / redémarrer les deux conteneurs avec le docker-compose.yml habituel.
  2. Dans le conteneur backend Django, exécuter python manage.py migrate (nouvelle migration education/0003_sitecontent.py).
  3. Créer un compte administrateur si nécessaire : python manage.py createsuperuser (ou utiliser un utilisateur Django existant avec is_staff=True).
  4. Ouvrir http://IP:1028/admin et s'identifier.
  5. Dans l'onglet Pages, choisir une page : le mode édition s'active automatiquement. Cliquer sur les petits crayons à côté des textes et sur Changer l'image près des illustrations. Enregistrer publie le changement, Restaurer remet la valeur par défaut.
  6. Utiliser les onglets Ressources / Avis / Offres / Messages pour créer, modifier, masquer et supprimer les éléments de la base.
  7. Terminer désactive les crayons ; Tableau de bord revient au panneau d'administration.

Informations techniques

  • Le frontend reste sur le port 1028 et le backend Django sur le port 1029 ; les fichiers Docker d'origine sont conservés.
  • Le vite.config.js transmet automatiquement /api/ au service Docker backend:1029. En production derrière nginx, veiller à transmettre /api/ à Django et toutes les routes du frontend, notamment /admin, à React.
  • Les images téléversées (PNG, JPG, WebP ; maximum 5 Mo) sont conservées dans backend/media/editor/. Sauvegarder ce dossier avec la base de données. Les liens HTTPS vers des images externes fonctionnent aussi.
  • Les textes modifiés sont enregistrés dans la table education_sitecontent (différentiel par rapport au texte du code). L'édition ne nécessite ni recompilation React ni redémarrage Docker.
  • Le mot de passe n'est pas stocké dans le navigateur. Le jeton d'accès est conservé uniquement durant l'onglet ouvert (sessionStorage) et est contrôlé côté API. Utiliser HTTPS en dehors du réseau local.
  • Les modifications des liens n'acceptent que les chemins internes (/contact) ou les URL HTTPS.
  • Le texte de la page et les illustrations peuvent être édités ; il ne s'agit pas encore d'un constructeur de sections glisser-déposer. Les composants React/shadcn et les mises en page restent définis dans le code.

Vérifications

Tests Django (dans le conteneur backend avec sa configuration de test) :

python manage.py test education

Compilation du frontend :

npm run build