MANUEL DE REFERENCE

22 sept. 2004 ... En résumé, il s'agit de technologie LAMP (linux-apache-mysql-php). .... Module
de définition du codage des périodes, examens, travail- ...

Part of the document

MANUEL DE REFERENCE
Plate-forme eva (version 5.0) 22/09/2004
JL Goffin
Installer et configurer le serveur linux Ce document concerne l'installation et le paramétrage d'une plate-forme
gérant toute l'évaluation des élèves d'une école. Il n'y a pas de limite au
nombre d'élèves, de professeurs, de tests ou épreuves. L'année est divisée
en deux semestres comportant jusqu'à 9 périodes et des examens. La plate-
forme prend en charge les cahiers de cotes, bulletins, préparation des
conseils de classe... Le centre de l'application est une base de données SQL (mySQL pour être
précis) dont l'utilisation se fait, en réseau, à l'aide de programmes php.
Tout cela est réalisé à l'aide de logiciels entièrement gratuits
fonctionnant sous le système d'exploitation Linux, lui aussi gratuit. En
résumé, il s'agit de technologie LAMP (linux-apache-mysql-php). Il convient donc d'installer un serveur Linux. L'installation a été
réalisée avec la distribution Suse 9.0 professional de ce système
d'exploitation (noyau 2.4.21). Il est nécessaire de prévoir dans
l'installation le module client/serveur, le serveur web Apache (1.3.28)
avec le module php (4.3.3), le serveur mySQL (4.0.15), l'interpréteur
Python et OpenOffice, pour lire ce document. Tout est disponible dans cette
distribution. Je conseille de démarrer le système en run level 3 (yast2,
système, éditeur de niveaux d'exécution) et de commencer par configurer le
réseau (adresse IP, nom d'hôte, passerelle pour un éventuel accès à
internet) puis le serveur Apache et de tester tout cela en visualisant la
page d'accueil depuis une machine-client. Démarrez tous les services
nécessaires en niveaux d'exécution (run level) 3 et 5. Notez qu'il est
parfaitement possible d'intégrer cela à un CCM. La configuration du serveur
Apache se fait dans le fichier texte httpd.conf qui se trouve dans
/etc/httpd. Pour un serveur appelé ignacio et intégré au CCM CE5033, vous
changerez sans doute la valeur de SeverAdmin en root@ignacio.ce5033 et
celle de ServerName en ignacio. Peut-être changerez-vous aussi DocumentRoot
"/usr/local/httpd/htdocs", bien que ce soit moins utile. C'est dans ce
répertoire que se trouvera votre page d'accueil, banalement appelée
index.html. Au début, elle contiendra les balises de bases d'une page html
avec coucou dans le corps de texte (ou bonjour, si vous préférez). Vous
pouvez redémarrer Apache par %>/etc/init.d/apache restart où %> représente
l'invite Linux. Notez que vous aurez aussi besoin d'un serveur Wins sur
votre réseau local, ce qui peut se faire via le serveur Samba (voir les
pages de Gérard Swinnen: http://www.ulg.ac.be/cifen/inforef/swi). Pour les
machines Linux, éditez /etc/hosts. Veillez aussi à ce que les permissions
de votre fichier index.html soient correctes. Enfin, vérifiez qu'Apache et
mysql (et samba) démarrent automatiquement au démarrage de la machine
(yast2, system, éditeur de niveaux d'exécution). Dans le centre de
configuration KDE>Personnalisation>Pays et langue, choisissez le jeu de
caractères iso8859-15. Enfin, éditez le fichier etc/php.ini et configurez
php avec la valeur register_globals = on. Vous pouvez ensuite vous atteler à la tâche. Je vous souhaite beaucoup de
succès!
2 Configuration matérielle Microprocesseur: L'application peut être exécutée sur Pentium II. Un
Pentium III, Athlon ou supérieur est préférable. Mémoire centrale: 192M constitue le strict minimum. Optez plutôt pour 256M
ou davantage. Disque dur: Au départ, l'application exige 3G pour se déployer. 10G semble
être le début du raisonnable.
Trucs et astuces Pour le serveur mySQL, ouvrez une fenêtre du shell et démarrez-le par
%>mysql -u root. Créez le mot de passe de « root » (administrateur mySQL)
par
mysql> set password for root=password('machin'); Voir Rigaux page 277.
Eliminer l'utilisateur anonyme de la base mysql par
mysql>delete from user where user=''; puis flush privileges;
Pour le démarrage suivant de mySQL, tapez %>mysql -u root -p. Schéma de la plate-forme Fichiers présents dans la distribution |Nom |Fonction |
|cree_attribut|Programme Python de transformation d'un fichier ProEco en |
|ions.py |fichier src contenant les attributions |
|cree_compos.p|Programme Python de transformation d'un fichier ProEco en |
|y |fichier src contenant les compositions des groupes-classses |
|cree_eleves.p|Programme Python de transformation d'un fichier ProEco en |
|y |fichier src contenant les caractéristiques des élèves |
|cree_profs.py|Programme Python de transformation d'un fichier ProEco en |
| |fichier src contenant les caractéristiques des professeurs |
|txt_ok.py |Programme de conversion des fichiers texte |
|evaluation.ph|Programme php créant les 5 tables de base: profs, attributions,|
|p |eleves, compositions et tests |
|titu.sql |Commande SQL définissant les titulaires. Comme le précédent, |
| |peut être copié dans /root/. |
|index2.html |Page d'accueil de l'interface utilisateur |
|style.css |Feuille de style de l'interface utilisateur |
|degra1l.jpg |Fond d'écran de l'interface utilisateur |
|aff_cc.php |Programme d'affichage du cahier de cotes |
|amorce.php |Programme permettant de lancer un programme nécessitant un mot |
| |de passe |
|amorce2.php |Deuxième étage du programme précédent |
|bulle.php |Programme de création des bulletins |
|choix.php |Programme permettant à l'utilisateur de choisir le traitement |
| |qu'il souhaite effectuer sur la base de données |
|cna.php |Programme de définition des compétences non-atteintes par un |
| |élève, dans une matière, pour une période (ou semestre). |
|compedit.php |Programme d'édition des compétences |
|connexion.php|Module de connexion de l'utilisateur à la base de données |
|def_per.php |Module de définition du codage des périodes, examens, |
| |travail-épreuve |
|donnees.php |Programme permettant à l'utilisateur de choisir les données sur|
| |lesquelles va agir le traitement choisi |
|enrecna.php |Programme d"enregistrement des compétences non atteintes. |
|grant_pri.php|Programme permettant à l'administrateur de la base de données |
| |de donner des privilèges d'accès à un utilisateur |
|grant_prif.ph|Idem, mais pour une liste d'utilisateurs figurant dans un |
|p |fichier |
|init_compeco.|Programme permettant à l'administrateur d'initialiser la table |
|php |compeco |
|init_eleves.p|Programme permettant à l'administrateur de la base de données |
|hp |de créer les tables destinées à contenir les cotes des élèves |
|insertest.php|Programme permettant à l'utilisateur d'insérer les cotes des |
| |élèves, pour une épreuve définie |
|maj_eleve.php|Ce programme permet à l'administrateur de mettre à jour les |
| |données concernant les élèves (les cours suivis par exemple). |
| |Devrait se trouver dans un sous-répertoire protégé du |
| |répertoire php.. |
|maj2_el.php |Suite du précédent. Même remarque. |
|maj3_el.php |Suite du précédent. Même remarque. |
|maj_prof.php |Ce programme permet à l'administrateur de mettre à jour les |
| |données concernant les professeurs (les attributions par |
| |exemple). Devrait se trouver dans un sous-répertoire protégé du|
| |répertoire php.. |
|maj2_pr.php |Suite du précédent. Même remarque. |
|maj3_pr.php |Suite du précédent. Même remarque. |
|mod_cc.php |Programme permettant à l'utilisateur de modifier les cotes ou |
| |les caractéristiques d'une épreuve déjà enregistrée |
|rtf.php |Module contenant le code rtf nécessaire à l'élaboration des |
| |bulletins |
|sauvetables.p|Programme permettant à l'administrateur de créer une copie de |
|hp |sauvegarde de toutes les tables de la base de données, chacune |
| |sous forme de fichiers textes (réinjectables par load data) |
|restautables.|Programme des restauration des tables des élèves. Son usage est|
|php |déconseillé. |
|eva4util.sxw |Guide de l'utilisateur, format StarOffice 6.0 |
|eva5maref.doc|Manuel de référence, format lisible par OpenOffice 1.1 |
|neufneuf.txt |Fichier contenant les modifications apportées d'une version à |
| |l'autre. |
Structure des répertoires titu.sql, evaluation.php et éventuellement une copie du fichier des mots de
passe dans /root/ eva4util.sxw, eva4maref.sxw et neufneuf.txt dans un sous-répertoire de
/root Tous les programmes php dans le sous-répertoire php du dossier accessible
par http, peut-être /srv/www/htdocs/. Dans ce sous-répertoire php, vous
créerez un dossier temp, avec les permissions 777. Cela pourrait donner
/srv/www/htdocs/php/temp. style.css et degra1l.jpg dans le sous-dossier css du doss