Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.
/ kholloscope Public archive

Petit framework pour grand kholloscope. Publier facilement, en Python, le kholloscope d'une classe préparatoire (CPGE).

License

Notifications You must be signed in to change notification settings

LeoColomb/kholloscope

Repository files navigation

Kholloscope

Petit Framework pour grand kholloscope.
Publier facilement, en Python, le kholloscope d'une classe préparatoire.

Utilisation

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

Installation

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 :

  1. Décompresser l'archive du projet dans un répertoire du serveur, de préférence à la racine.
  2. Vérifier la configuration et l'ajuster pour corresponde aux besoins d'exploitation.
  3. Ajouter le fichier du tableau de colles dans le dossier data.
  4. C'est fini !

Configuration

Dans le fichier config.py, il est possible de paramétrer les valeurs suivantes :

__zone

Zone du département pour la répartition des vacances scolaires. a b, ou c.
Par défaut, __zone = 'c'.

__debug

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.

__domain

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'.

__port

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.

__route

Défini comment le nom de la classe doit être analysé à partir l'URI.
Par défaut, __route = '/<classe:re:[a-zA-Z0-9_-]+>'.

__ordre

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 = '+'.

__decal

Nombre de semaines qui séparent celle de la rentrée scolaire à celle du début des colles.
Par défaut, __decal = 0.

__server

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'.

Initialisation

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'appelle mpsi.csv, alors on y accède via http://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.

Notes de version

1.0

Première version exploitable

  • CSV Parser
  • Mise en Python du tableau
  • Affichage mobile
  • Groupe + Vacs delta
  • Multi-classes
  • ...

Licence

Bottle Web Framework — MIT License.
Copyright (c) 2012, Marcel Hellkamp.

Kholloscope Python — MIT License.
Copyright (c) 2013, Leo Colombaro.

About

Petit framework pour grand kholloscope. Publier facilement, en Python, le kholloscope d'une classe préparatoire (CPGE).

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages