Petit Framework pour grand kholloscope.
Publier facilement, en Python, le kholloscope d'une classe préparatoire.
Ce projet vise à simplifier au maximum la mise en place d'un kholloscope, via Internet.
Cet outil propose les fonctionnalités suivantes :
- Configuration simple — toujours sur tableur
- Interface ergonomique — complètement bootstrap
- Vue mobile spécifique — entièrement responsive
- Programmé en Python — au programme
- Aucune dépendance logicielle — seulement Python
- Licence libre — pleinement MIT
- Multi-classes possible
- Poids minimal, documentation comprise
L'unique nécessité est de disposer d'un serveur web sur lequel
est l'environnement Python est disponible.
Votre établissement n'en dispose pas d'un ? Il existe des
solutions faciles et gratuites.
Ensuite par étapes :
- Décompresser l'archive du projet dans un répertoire du serveur, de préférence à la racine.
- Vérifier la configuration et l'ajuster pour corresponde aux besoins d'exploitation.
- Ajouter le fichier du tableau de colles dans le dossier
data
. - C'est fini !
Dans le fichier config.py
, il est possible de paramétrer les valeurs suivantes :
Zone du département pour la répartition des vacances scolaires. a
b
, ou c
.
Par défaut, __zone = 'c'
.
Permet de passer en mode débogage, et obtenir davantage de détails lors d'une erreur.
Particulièrement utile lors de problèmes à répétition. N'hésitez pas alors à ouvrir un
ticket !
Par défaut, __debug = False
.
Préciser le domaine du serveur où est localisé l'application.
Par exemple : Kholloscope de MPSI accessible à http://example.com/un/deux/trois/mpsi
,
alors __domain = 'example.com/un/deux/trois'
.
Au cas où l'accès HTTP au serveur se fait par un port diffèrent de 80
.
Par défaut, __port = 80
, et aucun changement n'est nécessaire.
Défini comment le nom de la classe doit être analysé à partir l'URI.
Par défaut, __route = '/<classe:re:[a-zA-Z0-9_-]+>'
.
Défini l'ordre montant/descendant pour la succession des groupes au fil des semaines. Exemple sur deux semaines successives :
Groupe 1 | Groupe 2 | Groupe 3 | ... | Groupe 15 |
---|---|---|---|---|
Groupe 15 | Groupe 1 | Groupe 2 | ... | Groupe 14 |
Groupe 1 | Groupe 2 | Groupe 3 | ... | Groupe 15 |
---|---|---|---|---|
Groupe 2 | Groupe 3 | Groupe 4 | ... | Groupe 1 |
Par défaut, __ordre = '+' . |
Nombre de semaines qui séparent celle de la rentrée scolaire à celle
du début des colles.
Par défaut, __decal = 0
.
Défini l'architecture du serveur et par extension le type d'exécution du script.
Se référer aux explications du guide Bottle.
Par défaut, __server = 'wsgiref'
.
Dans le dossier data
sont sauvegardé les différents kholloscopes de chaque
classe. Pour cela, quelques indications :
-
Le nom du fichier est le nom de la classe en question.
Il définira l'URI spécifique à cette classe, telle que__route
l'indique.
Par exemple, le fichier s'appellempsi.csv
, alors on y accède viahttp://example.com/mpsi
.
Noter l'absence d'extension. -
Le fichier doit être au format CSV.
Les avantages de ce format sont nombreux, mais on retiendra l'édition dans n'importe quel tableur-grapheur, et sa facilité de manipulation. -
La structure du tableau doit suivre les indications de la légende suivante.
La première ligne permet d'énumerer le nom de chaque groupe.Nom du groupe 1 Nom du groupe 2 Nom du groupe 3 ... Ensuite, avec autant de semaine désirées sur l'horizontal, et autant de séance par semaine sur la verticale. Ainsi :
Semaine 1 Semaine 2 Semaine 3 ... Matiere 1 Matiere 1 Matiere 1 ... Colleur Colleur Colleur ... Jour 0-6 Jour 0-6 Jour 0-6 ... Salle Salle Salle ... Horaire Horaire Horaire ... Remarques Remarques Remarques ... Matiere 2 Matiere 2 Matiere 2 ... ... ... ... ... Les jours de la semaine sont numérotés de 0 à 6 (Lundi à Dimanche).
En cas de doute, prendre exemple sur le fichier fournit dans l'archive.
Première version exploitable
- CSV Parser
- Mise en Python du tableau
- Affichage mobile
- Groupe + Vacs delta
- Multi-classes
- ...
Bottle Web Framework — MIT License.
Copyright (c) 2012, Marcel Hellkamp.
Kholloscope Python — MIT License.
Copyright (c) 2013, Leo Colombaro.