79 lines
No EOL
3.3 KiB
Markdown
79 lines
No EOL
3.3 KiB
Markdown
# 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`](https://necolas.github.io/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](https://sass-lang.com/), 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`](https://sass-lang.com/install) 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é. |