No description
Find a file
Ludovic Stephan 317077951b Markdown fix
2020-11-16 19:12:22 +01:00
annuaire Fix : side effects in local.py 2020-11-16 19:07:10 +01:00
fiches Split in 2 commands 2020-11-16 18:33:41 +01:00
provisioning Fix les permissions des fichiers statiques sous vagrant 2020-11-16 18:50:45 +01:00
.gitignore Small model tweaks 2020-11-16 18:33:41 +01:00
manage.py Split settings between local and prod 2020-11-16 18:40:46 +01:00
README.md Markdown fix 2020-11-16 19:12:22 +01:00
requirements-dev.txt Added requirements to project 2020-01-08 23:36:03 +01:00
requirements-prod.txt Split requirements 2020-11-16 18:39:29 +01:00
requirements.txt Split requirements 2020-11-16 18:39:29 +01:00
Vagrantfile VAGRANT 2020-11-16 18:41:23 +01:00

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 de manage.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 visiter 127.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é.