3.3 KiB
Annuaire des élèves de l'ENS
Environnement de développement
Méthode facile : environnement virtuel python
Il est fortement conseillé d'utiliser un environnement virtuel pour Python.
Il vous faudra installer pip, les librairies de développement de python ainsi que sqlite3, un moteur de base de données léger et simple d'utilisation. Sous Debian et dérivées (Ubuntu, ...) :
sudo apt-get install python3-pip python3-dev python3-venv sqlite3
Si vous décidez d'utiliser un environnement virtuel Python (virtualenv; fortement conseillé), déplacez-vous dans le dossier où est installé GestioCOF (le dossier où se trouve ce README), et créez-le maintenant :
python3 -m venv venv
Pour l'activer, il faut taper
. venv/bin/activate
depuis le même dossier.
Vous pouvez maintenant installer les dépendances Python depuis le fichier
requirements.txt
:
pip install -U pip # parfois nécessaire la première fois
pip install -r requirements.txt
python manage.py migrate
Vous êtes prêts à développer ! Lancez l'annuaire avec :
python manage.py runserver
Plus compliqué : machine virtuelle Vagrant
Pour avoir une situation plus proche de la situation en production, il est possible de faire tourner le site depuis une
machine virtuelle Windows. Pour cela, il faut d'abord installer vagrant
et virtualbox
:
sudo apt install vagrant virtualbox
Ensuite, la commande vagrant up
devrait créer et configurer la machine virtuelle ; un peu de patience, cela peut prendre
du temps ! Une fois fini, il y a deux possibilités :
vagrant ssh
permet de se connecter à la machine, et d'effectuer des opérations à l'aide demanage.py
. On peut effectuer à peu près les mêmes opérations que pour un virtualenv classique, à une différence près : il faut utiliser
python manage.py runserver 0.0.0.0:8000
pour lancer le serveur, afin d'y avoir accès depuis son navigateur.
- un serveur normalement très proche de celui de production (avec
gunicorn
+nginx
) tourne en permanence sur la machine ; il suffit de visiter127.0.0.1:8080
pour y avoir accès !
Développement
En manque d'inspiration ? N'hésitez pas à aller lire les issues ouvertes actuellement, il y en a pour tous les niveaux !
Style de l'annuaire (CSS et SCSS)
Le style de l'annuaire repose sur deux fichiers CSS :
normalize.css
, qui contient des règles visant à normaliser le style par défaut des éléments de la page;annuaire.css
, qui contient les règles qui définissent le style propre à l'annuaire.
Le style de l'annuaire (annuaire.css
) est en réalité écrit en SASS, un pré-processeur CSS.
Si vous souhaitez modifier les règles de style, il faut donc modifier les fichiers du dossier scss
(le fichier racine du SCSS étant annuaire.scss
), puis utiliser un outil comme sass
afin de générer une nouvelle version du fichier annuaire.css
.
Depuis la racine du dépot, vous pouvez par exemple exécuter la commande
sass --no-source-map --watch fiches/static/fiches/scss/annuaire.scss fiches/static/fiches/css/annuaire.css
afin de lancer sass en mode watch, i.e. générer un nouveau fichier annuaire.css
dès que l'un des fichiers SCSS dont dépend annuaire.scss
est modifié.