2.7 KiB
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
- Installer / redémarrer les deux conteneurs avec le
docker-compose.ymlhabituel. - Dans le conteneur backend Django, exécuter
python manage.py migrate(nouvelle migrationeducation/0003_sitecontent.py). - Créer un compte administrateur si nécessaire :
python manage.py createsuperuser(ou utiliser un utilisateur Django existant avecis_staff=True). - Ouvrir
http://IP:1028/adminet s'identifier. - 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.
- Utiliser les onglets Ressources / Avis / Offres / Messages pour créer, modifier, masquer et supprimer les éléments de la base.
- 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.jstransmet automatiquement/api/au service Dockerbackend: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