Le principe
Côté serveur de fichiers
Un script cron est exécuté toutes les 5 minutes sur le serveur Samba (authentification des utilisateurs et serveur de fichiers pour les postes clients). Il examine les utilisateurs actuellement connectés et sur quel poste et se contente de renseigner une table de ces données accompagnées de la date et de l’heure.
Côté EPNadmin
Un autre script cron exécuté toutes les 10 minutes sur le serveur Apache où se trouve EPNadmin permet de prendre en compte les données de sessions.
Pour chaque enregistrement date/heure/utilisateur/poste, le script tente de retrouver l’identifiant du poste dans EPNadmin (il faut le les noms netbios et ceux entrés dans EPNadmin soient identiques Cf. Equipement - ordinateur). Il tente de retrouver l’usager dans la base des usagers d’après son identifiant.
D’après la date et l’heure, le script regarde si le poste servait à un atelier ou pas. Dans le premier cas, il permet d’inscrire ou de confirmer la présence d’un usager à un atelier. Dans le second cas, il permet de noter ou d’ajuster le temps de présence en accès individuel d’un usager dans l’espace. Dans les deux cas, les crédits sont ajustés en conséquence.
L’installation
Si le serveur de fichiers est identique au serveur Apache hébergeant EPNadmin, il faudra effectuer les deux opérations quand même.
Côté serveur de fichiers Samba
– Copier du fichier doc/samba/sambatoepnadmin.php dans un dossier du serveur, par exemple dans /usr/local/sbin/.
– Adapter le script avec les informations d’identification sur la base mysql.
– Installer les paquets php-cli, php-mysql, mysql-client. S’assurer que le serveur Samba peut bien atteindre la base de données MySQL.
– Mettre en place dans une crontab le script en exécution toutes les 5 minutes. Par exemple en ajoutant le fichier /etc/cron.d/epnadmin :
# /etc/cron.d/epnadmin: crontab entries for epnadmin package
SHELL=/bin/sh
MAILTO=root
# min hour dayofmonth month dayofweek
*/10 9-20 * * 2-6 root /usr/bin/php /usr/local/sbin/sambatoepandmin.php
La première exécution du script créera une nouvelle table dans la base de données users_temp.
Côté serveur Apache hébergeant EPNadmin
– Mettre en place dans une crontab le script en exécution toutes les 10 minutes. par exemple en ajoutant le fichier /etc/cron.d/epnadmin :
# /etc/cron.d/epnadmin: crontab entries for epnadmin package
SHELL=/bin/sh
MAILTO=root
# min hour dayofmonth month dayofweek
*/10 9-20 * * 2-6 root cd /var/www/epnadmin/cron/ ; /usr/bin/php main.php
Bien entendu, il faudra adapter le chemin vers le script à l’emplacement effectif du script cron/main.php.
– assurez-vous que php peut s’exécuter en ligne de commande (dans debian, il s’agit d’installer le paquet php5-cli)
Quelles conséquences
Sur les utilisations/réservations de postes
Tous les usagers ayant eu une connexion apparaissent dans le planning d’utilisations des postes suivi d’un point d’interrogation. Il restera à l’animateur à vérifier les heures et les usages si la fonction est activée. La durée de session est mise à jour toutes les 10 minutes. Par conséquent le planning peut évoluer.
Si une réservation est annulée, sa durée n’est plus mise à jour.
Sur les inscriptions aux ateliers
Deux cas se présentent si un usager est connecté pendant un atelier. S’il était inscrit à l’atelier, il est automatiquement inscrit comme présent à l’atelier. S’il ne l’était pas il est automatiquement inscrit à l’atelier.
Charge à l’animateur, en fin de session, de vérifier/confirmer les données.