GEPIGEPI (Gestion des Élèves par Internet) est une solution efficace de gestion et de suivi des résultats scolaires pour les établissements scolaires du second degré. Déployée sur un serveur, l’application est accessible via une connexion Internet sécurisée par tous les acteurs de l’établissement : administrateurs, enseignants, élèves et parents d’élèves.

De la saisie des résultats de chaque évaluation par les professeurs à l’impression des bulletins en passant par la préparation des conseils de classe, GEPI est un outil facile et souple d’accès, même pour les utilisateurs réfractaires à l’utilisation de l’outil informatique.

Depuis 2013, je maintiens l’installation de GEPI pour le lycée Scholae à Saint-Hippolyte-du-Fort. L’application est utilisée quotidiennement par la direction, les enseignants, les élèves et les parents d’élèves, pour gérer les notes, les bulletins, les cahiers de textes, les devoirs à faire, les absences, les retards, etc. Le site de Microlinux fournit une page qui présente les principales fonctionnalités de GEPI, rédigée dans un langage accessible aux non-informaticiens.

Cet article se concentre principalement sur les aspects techniques de GEPI comme les procédures d’installation, de sécurisation et de mise à jour. Il s’adresse aux administrateurs ayant un minimum d’expérience.

Prérequis

Configuration de SELinux

Étant donné que nous installons GEPI en-dessous de /var/www, tous les fichiers nouvellement créés seront correctement étiquetés httpd_sys_content_t. Rien à signaler de ce côté-là.

GEPI doit pouvoir envoyer des mails via Postfix, ce qu’il faut explicitement autoriser.

$ sudo setsebool -P httpd_can_sendmail on

Apache possède les droits d’écriture sur une série de répertoires de l’installation. Ces droits d’écriture seront définis par le biais des permissions Unix classiques, mais il faut également le spécifier du côté de SELinux.

$ sudo setsebool -P httpd_unified on

Téléchargement

GEPI peut être récupéré directement sur le serveur grâce au navigateur Links.

$ mkdir -pv webapps/gepi
mkdir: created directory ‘webapps’
mkdir: created directory ‘webapps/gepi’
$ cd webapps/gepi/
$ links https://gepi.mutualibre.org

Suivre le lien Télécharger et récupérer la dernière version stable.

  • gepi-1.7.4-cc947f5.tar.gz

Configuration de l’hôte virtuel

Une fois que la structure de répertoires est en place, on peut définir l’hôte virtuel dans la configuration d’Apache.

# /etc/httpd/conf.d/10-gepi.scholae.fr-ssl.conf

# http://gepi.scholae.fr -> https://gepi.scholae.fr
<VirtualHost *:80>
  ServerName gepi.scholae.fr
  Redirect / https://gepi.scholae.fr
</VirtualHost>

# https://gepi.scholae.fr
<VirtualHost _default_:443>
  ServerAdmin info@exemple.fr
  DocumentRoot "/var/www/scholae-gepi/html"
  ServerName gepi.scholae.fr:443
  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/sd-48011.dedibox.fr/cert.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/sd-48011.dedibox.fr/privkey.pem
  SSLCertificateChainFile /etc/letsencrypt/live/sd-48011.dedibox.fr/fullchain.pem
  BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
  ErrorLog logs/gepi.scholae.fr-error_log
  CustomLog logs/gepi.scholae.fr-access_log common
</VirtualHost>

Installation

Créer la base de données.

$ mysql -u root -p
Enter password: ********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.52-MariaDB MariaDB Server

MariaDB [(none)]> create database `scholae-gepi`;
Query OK, 1 row affected (0.02 sec)

MariaDB [(none)]> grant all on `scholae-gepi`.* 
    -> to scholae@localhost 
    -> identified by '********';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;
Bye

GEPI sera installé en-dessous de l’arborescence /var/www/scholae-gepi. La racine à proprement parler de l’hébergement se situera dans scholae-gepi/html.

$ sudo mkdir -v /var/www/scholae-gepi
mkdir: created directory ‘/var/www/scholae-gepi’
$ sudo chown microlinux:microlinux /var/www/scholae-gepi/
$ cd /var/www/scholae-gepi/
$ tar -xzf ~/webapps/gepi/gepi-1.7.4-cc947f5.tar.gz
$ ls
gepi-1.7.4
$ mv gepi-1.7.4/ html

La plupart des articles de blog et autres tutos sur l’installation de GEPI sont assez généreux avec les droits d’accès de l’installation. L’ensemble des fichiers est attribué à l’utilisateur système qui fait tourner le serveur web (apache ou www-data), avec des droits d’écriture sur la totalité des fichiers et des répertoires.

Nous allons procéder différemment, en attribuant l’installation à l’utilisateur « commun mortel » microlinux. Les droits d’écriture seront attribués uniquement là où cela est strictement nécessaire. Pour les permissions, nous suivons les recommandations officielles adaptées à notre installation. Étant donné qu’il s’agit là d’une tâche quelque peu fastidieuse – qu’il faudra répéter à chaque mise à jour – j’ai écrit un script shell gepi-permissions.sh pour automatiser tout cela. Le script peut être récupéré depuis mon dépôt Gitlab.

$ git clone https://gitlab.com/kikinovak/gepi.git
$ cp -v gepi/gepi-permissions.sh ~/bin/
‘gepi/gepi-permissions.sh’ -> ‘/home/microlinux/bin/gepi-permissions.sh’
$ cd ~/bin/
$ chmod 0700 gepi-permissions.sh
$ sudo ./gepi-permissions.sh
Setting permissions for GEPI...

À partir de là, on peut ouvrir l’URL de GEPI dans un navigateur et cliquer sur Installer la base MySQL.

Installation GEPI

Ici, il suffit de renseigner l’utilisateur MySQL et le mot de passe de connexion.

Installation GEPI

La prochaine étape consiste à sélectionner la base de données créée un peu plus haut.

Installation GEPI

L’installation est terminée. À partir de là, on peut se connecter à l’interface d’administration de GEPI avec l’identifiant admin et le mot de passe azerty. Pour des raisons évidentes, GEPI vous demande de changer ce mot de passe trivial à la première connexion.

Installation GEPI

Mise à jour

Une installation existante de GEPI peut être mise à jour « à chaud » vers la dernière version stable. Dans l’exemple, nous partons d’une installation existante de GEPI dans la version 1.7.3, et nous allons la mettre à jour vers la version 1.7.4, la dernière en date lors de la rédaction de cet article.

La mise à jour des fichiers de GEPI peut s’effectuer par simple écrasement. Pour la définition des permissions, on utilisera le script shell qu’on a utilisé un peu plus haut lors de l’installation.

$ cd /var/www/scholae-gepi/
$ tar -xzf ~/webapps/gepi/gepi-1.7.4-cc947f5.tar.gz
$ ls
gepi-1.7.4 html
$ alias cp
alias cp='cp -i'
$ unalias cp
$ sudo cp -R gepi-1.7.4/* html/
$ alias cp='cp -i'
$ sudo ~/bin/gepi.sh
Définition des permissions de GEPI...
$ rm -rf gepi-1.7.4/

À partir de là, on peut ouvrir une session et cliquer sur Mettre à jour pour effectuer une mise à jour de la base de données.

Mise à jour GEPI

Voilà ce qu’on obtient si tout s’est bien passé.

Mise à jour GEPI

Nous utilisons désormais la dernière version de GEPI.

Mise à jour GEPI

Liens


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 

Catégories : HébergementServeur