Skip to content
Snippets Groups Projects
Commit bbed9a2c authored by Dorian Lesbre's avatar Dorian Lesbre
Browse files

Added documentation to README

parent a5451e30
No related branches found
No related tags found
No related merge requests found
# 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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment