diff --git a/README.md b/README.md index fc201254e9601727f7ceb19d3fa5531bdb9f4226..3b12f2b9dbdabb0db36657266e723b6dc57d7886 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,35 @@ # Site des interludes -Ce répo contient le sites des interludes +Ce répo contient le sites des interludes. Ce site est en ligne à [https://interludes.ens.fr](https://interludes.ens.fr). + +Ce répo est diffusé sous une [license MIT](https://choosealicense.com/licenses/mit/). + +**Contenu:** +- [Lancement rapide](#lancement-rapide) +- [Installation](#installation) +- [Lancer le serveur](#lancer-le-serveur) +- [Guide de l'administrateur](#guide-de-ladministrateur) +- [En production](#en-production) +- [Idées de développement](#idées-de-développement) +- [Liens divers](#liens-divers) ## Lancement rapide - git clone https://git.eleves.ens.fr/dlesbre/site-interludes.git && - cd site-interlude && +Pour installer toutes les dépendances et lancer le serveur : + + git clone https://git.eleves.ens.fr/dlesbre/site-interludes.git && + cd site-interlude && python3 -m venv venv && source venv/bin/activate && - make start + make start + +Le site devrait être accessible à [http://localhost:8000](http://localhost:8000). + +Par la suite vous pouver relancer le site simplement avec `make serve`. ## Installation -Pour tester modifier le repo, après l'avoir cloné : +Pour tester et modifier le repo, après l'avoir cloné : 1. Créer un [environement virtuel](https://docs.python.org/3/tutorial/venv.html) (`python3-venv`) @@ -42,7 +59,7 @@ Pour tester modifier le repo, après l'avoir cloné : make migrate -## Test +## Lancer le serveur Pour pouvoir afficher et tester le site (après avoir tout installé) @@ -51,18 +68,44 @@ Pour pouvoir afficher et tester le site (après avoir tout installé) source venv/bin/activate -2. Lancer le serveur avec +2. Lancer le serveur avec `make serve` ou - python manage.py runserver + make serve - Cette commande bloque le terminal, le serveur tourne tant qu'elle n'est pas - interrompue (par `Ctrl+C` ou autre) + Cette commande bloque le terminal, le serveur tourne tant qu'elle n'est pas + interrompue (par `Ctrl+C` ou autre). 3. Dans un navigateur, le site se trouve à l'adresse [http://localhost:8000/](http://localhost:8000/) 4. Créer un compte super-utilisateur avec `make adduser`. Les réglages se modifient depuis les pages d'admin de Django [http://localhost:8000/admin](http://localhost:8000/admin). +## Guide de l'administrateur + +Le site se gère depuis deux pages d'administration: + +- celle de django [http://localhost:8000/admin](http://localhost:8000/admin) permet de modifier directement la base de donnée. Celle ci contient six tables intéressantes : + - Utilisateurs - contient tous les utilisateurs et leur permissions. Pour donner les droits d'administrateur à quelqu'un il faut lui donner le statut superutilisateur (accès à l'admin du site) ET le statut équipe (accès à l'admin django) + - Paramêtres - les réglages du site, ils permettent: + - ouvrir/fermer la création de compte, les inscriptions + - afficher/cacher le planning + - renseigner l'email de contact, les dates de l'événement, les dates d'inscription + - ajouter un message global au dessus de toutes les pages + - bloquer/autoriser l'envoi d'email globaux + - Activités - liste des activités prévues. C'est ici que vous pouvez rajouter/modifier les activités qui s'affichent sur la page activité. + Pour le moment il n'y a pas de formulaire qui permette aux orga de proposer une activité sur le site (on était passé par un appel à projet externe et on avait rempli les activités nous-même) + - Crénaux - place une activité sur le planning. Une activité peut avoir plusieurs crénaux si elle a lieu plusieurs fois. Noter que les inscriptions se font à des crénaux et non a des activités. + - Participant - liste des gens inscrits et des informations sur leur inscription (ENS, repas choisi...) + - Choix d'activité - Liste de (participant, priorité, activité) indiquant les voeux des participant. Une fois que vous avez fait l'attribution, cocher les case "Obtenues" pour indiquer qui a eu quelle activité. + +- celle du site [http://localhost:8000/admin_site/](http://localhost:8000/admin_site/) + - permet d'exporter les différentes tables au format CSV + - affiche l'état du site (version, réglages actuels, différentes métriques) + - une prévisualisation du planning + - permet d'envoyer deux séries d'emails : + - un aux inscrits pour leur communiquer les activités qu'ils ont obtenus + - un aux orgas qui ont besoin de connaître la liste des participants à l'avance pour préparer leurs activités. + ## En production Le serveur a besoin d'être configuré pour HTTPS et d'être configuré pour livrer directement les fichiers situés des `/static/`. @@ -78,3 +121,17 @@ Le serveur a besoin d'être configuré pour HTTPS et d'être configuré pour liv 4. Faire les migration `make migrate` 5. Faire un `make preprod` pour générer les fichiers statiques et vérifier les réglages + +## Idées de développement + +A.K.A. la liste des trucs qui pourait être utiles que j'ai pas eu le temps d'ajouter + +- Un formulaire pour proposer une activité directement sur le site +- Intégrer l'[algorithme de répartition](https://github.com/Imakoala/InterludesMatchings) dans le site au lieu de le faire tourner en externe à partir des export CSV et de remplir les résultats à la main +- Replacer les templates html statiques par du rendu de fichier markdown éditable depuis la page d'admin (afin d'éviter de devoir refaire un pull à chaque petit changement) + +## Liens divers + +- [Le site des interludes 2021](https://interludes.ens.fr) +- [Le github de l'algorithme de répartition](https://github.com/Imakoala/InterludesMatchings) +- [Le wiki de Paris-Saclay](https://wiki.crans.org/VieBdl/InterLudes) qui recensent les visuels, sites webs et photos des interludes passées.