diff options
author | Alban Gruin | 2017-02-09 23:39:18 +0100 |
---|---|---|
committer | Alban Gruin | 2017-02-09 23:39:18 +0100 |
commit | 3d5d17475909a6b351fadf8bbdb0bf8dc8d8e928 (patch) | |
tree | 30e6a5b5a15d3e4bcc690ed575cdae745b71bc61 /README.md | |
parent | bc6df80e28dd58e97d3ceb3b72b09533abf51304 (diff) | |
parent | 04b0d6f081627df7809f1fbd2890d7e93aef12bb (diff) |
Merge branch 'stable/0.5.z' into prod/pa1ch/0.y.zv0.5.0-pa1chprod/pa1ch/0.5.z
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..afa2b35 --- /dev/null +++ b/README.md @@ -0,0 +1,114 @@ +# celcatsanitizer +celcatsanitizer est un système qui permet de récupérer des emplois du temps Celcat au format XML pour les afficher correctement. + +## Pourquoi ? +Parce que j'en avait ma claque de consulter un emploi du temps mal formaté. Parce que j'en avait ma claque de voir mon Firefox se figer pour pouvoir vérifier mes horaires de la journée. Parce que j'en avait ma claque d'avoir de devoir retrouver une pépite d'information dans un océan de texte. (et parce que j'avais un peu trop de temps libre aussi) + +## Comment faire tourner celcatsanitizer chez moi ? +celcatsanitizer est écrit en Python 3. Il dépend des bibliothèques suivantes : + * Django 1.10 + * requests + * BeautifulSoup4 + +Pour installer celcatsanitizer, il est possible d'utiliser git. + +Pour tester celcatsanitizer, il est recommandé d'utiliser SQLite ou PostgreSQL. + +Pour la production, il est recommandé d'utiliser PostgreSQL (avec le driver psycopg2) et de mettre le tout dans un environnement virtuel. + +Aucun autre SGBD n'a été testé aujourd'hui. Toute modification visant à faire fonctionner celcatsanitizer avec un autre SGBD sera bien entendu acceptée. + +### Installation +Il est préférable d'utiliser un environnement virtuel, mais ce n'est pas obligatoire. Si vous ne souhaitez pas utiliser un environnement virtuel, passez directement à l'installation des dépendances. + +#### Création de l'environnement virtuel +Déplacez-vous dans le répertoire souhaité, installez l'environnement virtuel, et activez-le : + +> $ virtualenv -p python3 celcatsanitizer + +> $ cd celcatsanitizer + +> $ source bin/activate + +Il est possible que votre version de pip soit ancienne. Si vous le souhaitez, mettez ce programme à jour : + +> $ pip install --upgrade pip + +Notez que cette étape n'est pas obligatoire + +#### Installation des dépendances + +> $ pip install requests + +> $ pip install django=="1.10.*" + +> $ pip install beautiful4 + +Si vous utilisez PostgreSQL, vous allez avoir besoin du driver psycopg2 : + +> $ pip install psycopg2 + +SQLite n'a pas besoin de driver. + +#### Création du répertoire Django + +> $ django-admin startproject celcatsanitizer + +> $ cd celcatsanitizer + +#### Récupération des sources de celcatsanitizer + +> $ git clone https://git.pa1ch.fr/alban/celcatsanitizer.git edt + +Pour la production, il est recommandé d'utiliser une version stable, accessibles à travers les tags git : + +> $ cd edt + +> $ git checkout v0.4.0 + +> $ cd .. + +#### Configuration de Django +Dans le fichier celcatsanitizer/settings.py, vous devrez renseigner plusieurs informations. + +##### Configuration du serveur mail +[Vous pouvez trouver la documentation concernant l'envoi des mails sur le site de Django.](https://docs.djangoproject.com/fr/1.10/topics/email/) + +Pour l'instant, la désactivation des mails n'est pas encore supporté. + +##### Configuration des administrateurs +[Vous pouvez retrouver la documentation de la variable ADMIN sur le site de Django.](https://docs.djangoproject.com/fr/1.10/ref/settings/#admins) + +Cette variable est obligatoire. + +##### Configuration de l'internationalisation +Ce passage n'est pas obligatoire. [Vous pouvez retrouver la documentation de l'internationalisation sur le site de Django.](https://docs.djangoproject.com/fr/1.10/topics/i18n/) + +##### Configuration de la base de données +[Vous pouvez retrouver la documentation de la base de données sur le site de Django.](https://docs.djangoproject.com/fr/1.10/ref/settings/#databases) + +##### Configuration du mode de Django +Si jamais vous utiliser Django en production, vous **devez** mettre la variable DEBUG à False. + +##### Configuration personnalisée nécessaire à celcatsanitizer +celcatsanitizer a besoin d'une variable DEFAULT_DOMAIN qui contient l'URL de base de l'instance. + +##### Ajout de celcatsanitizer dans la liste des applications Django +Ajoutez la chaine de caractère "edt" à la fin de la liste INSTALLED_APPS + +##### Ajout des URLs de celcatsanitizer +Dans le fichier celcatsanitizer/urls.py, importez la fonction django.conf.urls.include, et ajoutez url(r'^', include("edt.urls")) à la **fin** de la liste urlspatterns. + +##### Génération de la base de données +Vous avez besoin de générer les migrations de celcatsanitizer, puis appliquez-les : + +> $ ./manage.py makemigrations edt + +> $ ./manage.py migrate + +### Lancement de celcatsanitizer +Si vous êtes en mode de débuggage, lancez le serveur de cette manière : + +> $ ./manage.py runserver + +Si vous êtes en production, il n'est pas recommandé d'utiliser ce serveur. Exécutez Django avec le module mod_wsgi d'Apache, ou avec le serveur gunicorn, derrière un serveur nginx. |