GEPI (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
- Téléchargement
- Configuration de l’hôte virtuel
- Installation
- Mise à jour
- Liens
Prérequis
- un serveur dédié sous CentOS 7
- un domaine valide, par exemple
gepi.scholae.fr
- un serveur LAMP fonctionnel
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.
Ici, il suffit de renseigner l’utilisateur MySQL et le mot de passe de connexion.
La prochaine étape consiste à sélectionner la base de données créée un peu plus haut.
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.
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.
Voilà ce qu’on obtient si tout s’est bien passé.
Nous utilisons désormais la dernière version de 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.