Skip to content

maelgangloff/kdecole-docker-grafana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

260 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Tableau de bord - Relevés de notes

Discord

Utilise l'API K-D'Ecole pour récupérer ses notes et les représenter graphiquement.
🚹 Attention : ce projet utilise l'ancienne version de l'API Skolengo (module kdecole-api). Il est possible qu'elle devienne obsolĂšte dans l'Ă©ventualitĂ© oĂč l'accĂšs Ă  l'ancienne API serait dĂ©finitivement clos.

Installation

  1. Installer docker et docker-compose
  2. Créer les volumes docker. Vos données y seront stockées.
docker volume create mariadb-storage
docker volume create grafana-storage
  1. Cloner le projet
git clone https://github.com/maelgangloff/kdecole-docker-grafana
  1. Modifier le fichier docker-compose.yml :
    • KDECOLE_TOKEN : Pour obtenir votre jeton d'authentification K-D'Ecole, reportez-vous Ă  la section correspondante.
    • KDECOLE_URL : L'URL de l'API.
    • KDECOLE_ACADEMIE : Le nom de votre circonscription acadĂ©mique.
  2. Démarrez les conteneurs Docker
docker-compose up --build -d
  1. Rendez-vous Ă  l'adresse http://localhost:3000
  2. Se connecter (par défaut, le nom d'utilisateur et le mot de passe sont admin) puis changez votre mot de passe.
    Un tableau de bord est dĂ©jĂ  configurĂ©. Pour ĂȘtre fonctionnel, il nĂ©cessite quelques ajustements. Si les moyennes des matiĂšres ne sont pas trouvĂ©es, il faut modifier la requĂȘte pour trouver l'identifiant de la pĂ©riode de notation.
  3. Créez votre tableau de bord

Obtenir son jeton d'authentification K-D'Ecole

  • Installer NodeJs
  • Installer la librairie kdecole-api en global
npm -i kdecole-api
  • ExĂ©cuter le binaire pour obtenir le jeton
npx kdecole-api -u IDENTIFIANT -p CODE_TEMPORAIRE --ent PROD_MON_BUREAU_NUMERIQUE

Ne communiquez jamais votre jeton à un tier. Il vous est strictement personnel. Si vous pensez que votre jeton a fuité, révoquez-le immédiatement.

Créer son tableau de bord

Avant de créer votre premier tableau de bord, il vous faudra ajouter une source de données.
Pour se faire, rendez-vous dans les paramĂštres et cliquez sur Data Sources.
Ajoutez une source de données MySQL en précisant:

  • Le nom d'host: database:3306
  • La base de donnĂ©es: KDECOLE
  • Le nom d'utilisateur: root
  • Le mot de passe: root

Créer son tableau de bord sur Grafana est assez simple. Il vous suffit d'ajouter quelques widgets.
La seule "difficultĂ©" est de faire la bonne requĂȘte Ă  la base de donnĂ©es.

Exemple de tableau de bord

gafana dashboard Si vous voulez partir d'une base, le code JSON de ce dashboard est disponible.
Cependant, il n'est pas assurĂ© que cet exemple fonctionne du premier coup, il est peut-ĂȘtre nĂ©cessaire de modifier les identifiants de pĂ©riode de notation (vous pouvez les retrouver en explorant le contenu des donnĂ©es rĂ©coltĂ©es via l'outil Explore de Grafana).

Exemples de requĂȘtes SQL

  • Nombre de notes au total dans la base
     SELECT NOW() AS "time",
     COUNT(*) 
    FROM devoirs;
  • Nombre de notes dans la base pour un Ă©lĂšve prĂ©cis (Changer l'identifiant par l'identifiant de l'Ă©lĂšve)
     SELECT NOW() AS "time",
     COUNT(*)
    FROM devoirs
    WHERE idEleve = 'AAP05567';
  • Toutes les notes d'un Ă©lĂšve
     SELECT timestamp AS "time",
      matiere AS metric,
      note 
    FROM devoirs
    WHERE idEleve = 'AAP05567'
    ORDER BY timestamp;
  • Nombre de jours avant les vacances (Adapter KDECOLE_ACADEMIE dans docker-compose.yml)
     SELECT NOW() AS "time",
      jMoins
     FROM holidays;
  • Moyennes des matiĂšres dans un trimestre (Adapter idPeriode par celui du trimestre voulu)
    SELECT NOW() AS "time",
     matiereLibelle AS metric,
     moyenneEleve
    FROM moyennes
    WHERE idPeriode = 25
    ORDER BY idPeriode;

About

📊 Tableau de bord non officiel Grafana Skolengo/K-D'Ecole/Mon Bureau NumĂ©rique

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors