MELIA version 4
Transcription
MELIA version 4
MELIA version 4 mars 2005 Annexes Daniel Deycard, Jacques Messines, Stéphanie Roussel, Jean-Marie Treins CATICE – (DD – JM – SR – JMT) 1 MELIA v. 4 [30/03/05] TTaabbllee ddeess m maattiièèrreess Annexe 1. (sadmin) : Installation d’EasyPHP 1.5 ou 1.6 ou 1.7 .................................................................. 3 Sur une machine WinNT...................................................................................................................................... 3 Sur une machine Win98 ...................................................................................................................................... 4 Remarques........................................................................................................................................................... 4 Vérifications........................................................................................................................................................ 4 Annexe 2. (sadmin) : installation séparée de Apache, PHP et MySQL ...................................................... 5 Introduction......................................................................................................................................................... 5 Installation d’Apache sur le serveur ................................................................................................................... 5 Cas Win98....................................................................................................................................................... 5 Cas WinNT ..................................................................................................................................................... 5 Test de fin d’installation.................................................................................................................................. 5 Installation du serveur MySQL ........................................................................................................................... 5 Cas Win98....................................................................................................................................................... 6 Cas WinNT ..................................................................................................................................................... 6 Installation de PHP............................................................................................................................................. 6 Php.ini ............................................................................................................................................................. 6 httpd.conf ........................................................................................................................................................ 6 Annexe 3. (sadmin) : mise à jour de PHP par dessus EasyPHP.................................................................. 8 Préambule ........................................................................................................................................................... 8 Procédure de mise à jour de PHP....................................................................................................................... 8 Annexe 4. (sadmin et admin) : Melia avec un seul établissement ............................................................... 9 Installer Melia..................................................................................................................................................... 9 Créer un établissement........................................................................................................................................ 9 Administrer l’établissement ................................................................................................................................ 9 Former des utilisateurs ....................................................................................................................................... 9 Annexe 5. (admin): format des fichiers eleves.txt et profs.txt ................................................................... 10 Généralités........................................................................................................................................................ 10 Format du fichier eleves.txt............................................................................................................................... 10 Format du fichier profs.txt ................................................................................................................................ 10 Annexe 6 : (sadmin) paramétrer un compte dans MySQL ............................................................................. 12 Annexe 7 : FAQ ................................................................................................................................................... 14 Problèmes d’installation (sadmin et admin) ..................................................................................................... 14 Problèmes d’utilisation (tous)........................................................................................................................... 14 Problèmes d’administration (admin) ................................................................................................................ 15 CATICE – (DD – JM – SR – JMT) 2 MELIA v. 4 [30/03/05] Annexe 1. (sadmin) : Installation d’EasyPHP 1.5 ou 1.6 ou 1.7 Pour sadmin avec serveur sous Windows Cette nouvelle version de Melia a été modifiée pour fonctionner avec toutes les versions de PHP de 4.0.1 à 4.3.3 incluses. En principe… ☺ Cette installation est particulièrement simple sur toutes les plateformes Windows (98, Me, NT, 2000, XP). Pour XP et EasyPHP 1.5, une fois l’installation terminée, il faut remplacer le fichier EasyPHP.exe par une version particulière spéciale sur le site http://www.easyphp.org/ (cette version fonctionne aussi sous NT et 2000). Vous pouvez laisser les valeurs par défaut, notamment le répertoire d’installation \Program Files\Easyphp. Le principaux répertoires seront des sous répertoires, notamment PHP et MySQL. Le serveur Web sera vu sous le nom localhost et la racine des documents (c’est à dire http://localhost/) correspondra au sous répertoire www/. Note : certaines installations se finissent mal, par exemple sur certaines versions de NT4, on obtient le message suivant : "L'ordinal 6453 est introuvable dans la bibliothèque de liaisons dynamique MFC42.DLL".. Remplacez l'exécutable EasyPhp.exe présent dans le répertoire d'installation par la version sans les MFC téléchargeable ici. http://yarglah.free.fr/download.php3?filename=EasyPhp_sansMFC.zip Pour tout autre message d'erreur, reportez-vous à http://www.easyphp.org/faq.php3 Dans la suite, on utilisera les raccourcis suivants : - Win98 pour désigner Windows 98, 98SE, Millenium, - WinNT pour désigner Windows NT4 (avec SP5 minimum), Windows 2000, Windows XP, Windows 2003, quelles que soient les versions. Il est possible d’utiliser Windows 95 OSR2 avec EasyPHP mais il faut avoir installé la librairie DCOM 95 (voir le site http://www.microsoft.com). Pour l’explorateur utilisé sur les clients, IE 5.5 minimum est très chaudement recommandé : IE 5.0 est insuffisant pour certaines pages « gestionnaire », Netscape 4.x donne des affichages n’ayant qu’un rapport lointain avec ceux choisis à la conception… Sur une machine WinNT Apache et MySQL peuvent s’installer en tant que services1. Vous pouvez vérifier que c’est le cas en faisant afficher la liste des tâches (CTRL Alt Suppr puis Liste des processus). Vous pouvez aussi vérifier en allant dans Outils d’Administration / Services que ces services sont bien installés et qu’ils démarrent automatiquement. Si ce n’est pas le cas, lancez EasyPHP puis double cliquez sur l’icône qu’il montre dans la partie droite de la barre des tâches. Cochez la case « Démarrer les serveurs en tant que service NT/2000 ». Au prochain reboot, Apache et MySQL seront lancés en tant que services. Ne cherchez pas l’icône dans la barre des tâches : il n’y en a pas dans ce cas-là. S’il y a toujours un problème, il se peut que la cause provienne d’une installation antérieure d’Apache, installation éventuellement ratée… Il est possible de rectifier en installant manuellement ces services en mode ligne de commande2 : - pour Apache : apache -i - pour MySQL : mysqld –install 1 Un service est une application qui fonctionne en tâche de fond, sans que l’utilisateur en ressente une manifestation directe, sans fenêtre ouverte et sans qu’il soit nécessaire d’avoir une session ouverte (c'est-à-dire sans qu’il y ait nécessairement un utilisateur logé sur la machine). Un service sous WinNT est en plus intégré au système et paramétrable à l’aide de l’outil services des outils d’administration. 2 Dans une « fenêtre DOS » CATICE – (DD – JM – SR – JMT) 3 MELIA v. 4 [30/03/05] Sur une machine Win98 Dans le cas où la machine sous Windows 98 joue le rôle de serveur, on peut vouloir que les serveurs fonctionnent sans avoir besoin d'ouvrir une session : Il faut forcer les deux serveurs pour qu’ils s’exécutent en tant que service en les ajoutant dans la clé du registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices qui lance des programmes avant l’ouverture de session Dans le cas où la station est un poste prof que l'on allume le matin et que l'on éteint le soir (éviter tout de même d'éteindre 3 fois par jour !), on peut laisser une icône sur le bureau ou bien la mettre dans le menu Démarrer / Programmes / Démarrage. Remarques Si vous avez le choix entre une machine Win98 ou WinNT pour installer Apache+PHP+MySQL, prenez plutôt la machine sous WinNT pour des raisons d’efficacité et de stabilité (voir l’annexe 2 d’installation séparée des trois modules). Sous WinNT, PHP n’apparaît pas comme service, et pour cause : ce n’en est pas un ! Sous WinNT, PHP est un module d’Apache, c’est à dire un ensemble de DLL qu’Apache appelle pour interpréter les fichiers PHP demandés par l’utilisateur. Sous Win98, PHP est un programme externe PHP.EXE (un CGI) appelé par Apache à chaque requête : il y a donc en mémoire du serveur autant de PHP.EXE qu’il y a de pages PHP traitées simultanément… Il y a moyen d’installer PHP comme module d’Apache sous Win98, mais la documentation est réservée quant à la stabilité… (voir Annexe 2). Vérifications Dans la zone adresse d’un navigateur, tapez : - http://localhost/ depuis le serveur, - http://xxx.yyy.zzz.ttt/ depuis un ordinateur quelconque du réseau. CATICE – (DD – JM – SR – JMT) 4 MELIA v. 4 [30/03/05] Annexe 2. (sadmin) : installation séparée de Apache, PHP et MySQL Introduction L’objectif est d’avoir un serveur Web avec PHP et un serveur MySQL. Certains ont déjà tout ou partie de ces composants : ils peuvent donc démarrer plus loin dans cette installation. D’autres partent de rien. Ils peuvent installer tout le nécessaire sur une machine quelconque qui n’est pas nécessairement le serveur de fichier du collège, qui peut être sous Windows (toute version à partir de Windows 98), Linux ou Mac. Cette documentation explique l’installation de chaque module. Certains choix sont faits. Le plus important est celui d’Apache comme serveur Web. Il est possible d’utiliser un serveur IIS existant ou tout autre serveur Web sur lequel il est possible d’ajouter PHP. Installation d’Apache sur le serveur Apache est donc le serveur Web. Exécuter le programme d’installation. Suivant les versions de Windows, ce programme va mettre à jour la version de « Windows Installer » puis rebooter. Ensuite commence l’installation proprement dite. Prenez les valeurs par défaut pour les paramètres TCP/IP et l’installation complète. Pour le répertoire d’Apache, prenez plutôt C:\Apache afin d’avoir une arborescence moins profonde et des noms de répertoires sans espaces. Cas Win98 Le programme propose de lancer Apache en tant que « service » Windows. Il propose… mais ne le fait pas pour Win98. Avant de rebooter comme il est demandé, vous pouvez aller modifier la clé HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices en rajoutant une variable chaîne de nom Apache (par exemple) et de valeur « C:\Apache\Apache.exe ». Après le reboot, une fenêtre noire montre la présence d’Apache. Ce n’est pas une fenêtre d’un programme Dos mais celle d’un programme 32 bits fonctionnant en mode console. Il ne faut pas fermer la fenêtre sauf pour arrêter Apache. Mettez-là en icône. Cas WinNT Choisissez l’installation complète et répondez aux questions posées : domaine : par exemple aquitaine.clg. Le domaine à indiquer peut être de cette forme et, sauf bonne raison particulière, n’est pas un nom de domaine référencé sur Internet. server name : mauriac.aquitaine.clg (s'il n'y a ni DNS ni host, mettre l'IP) adresse admin : mettre une vraie (cat33.ac-bordeaux.fr par ex.). service : oui Vous pouvez obliger Apache à s’installer après coup comme service par : Apache -i Vérifiez , dans la liste des services, que le lancement d’Apache s’effectue automatiquement. Inversement on peut supprimer le service Apache (sans désinstaller Apache) par : Apache -u Test de fin d’installation Dans un navigateur du serveur, tapez l’adresse suivante : http://localhost/index.html La page d’accueil d’Apache doit s’afficher. Vous pouvez aussi vérifier depuis une autre machine en tapant : http://xxx.yyy.zzz.ttt/ Installation du serveur MySQL Ce service est indépendant d’Apache et peut résider sur une autre machine… mais ne cherchez pas trop les complications. Exécuter le programme d’installation et choisissez pour répertoire d’installation C:\Apache\MySQL. Le serveur MySQL lit la configuration particulière éventuelle (MySQL semble pouvoir s’en passer) dans CATICE – (DD – JM – SR – JMT) 5 MELIA v. 4 [30/03/05] <windir>\My.ini qui contient par défaut : basedir=C:/Apache/mysql datadir=C:/Apache/mysql/data Les options qu’on y trouve peuvent aussi être indiquées sur la ligne de commande. Cas Win98 Le serveur MySQL (Mysqld.exe dans ce cas) ne se lance pas automatiquement comme service sous Win98. Pour l’y obliger, voir ci-dessus le paragraphe 1.2. Pour cette première fois, lancez manuellement C:\Apache\MySQL\MySQd.exe. Il vous demande un nom et un mot de passe. Mettez melia, melia. Cas WinNT Le serveur MySQL s’installe comme service mais il faut aller dans la liste des services pour l’obliger à se lancer automatiquement au démarrage (service Mysql). Le programme est dans ce cas Mysqld-nt.exe. Si le service n’est même pas installé, il est possible de le forcer en tapant en mode ligne de commande : Mysqld -install Si, ultérieurement vous désirez supprimer le service MySQL : Mysqld -remove Faites-le avant la désinstallation de MySQL : elle ne supprime pas le service… Installation de PHP Il n’y a pas de véritable programme d’installation de PHP pour Apache sous Windows. Il faut utiliser le fichier ZIP que l’on trouve sur le site http://www.php.net, le décompacter et le copier en choisissant pour répertoire de destination C:\Apache\PHP. Les modifications à effectuer ensuite sont indiquées dans le fichier install.txt et consistent à copier des DLL dans le répertoire système de Windows et à modifier les fichiers php.ini et httpd.conf. Php.ini Prenez pour base le fichier php.ini-dist que vous copierez sous le nom php.ini dans le répertoire de Windows (en principe C:\Windows ou c:\winNT). Effectuez les modifications suivantes dans php.ini. - remplacer la ligne extensions-dir par : extension-dir=c:/Apache/Php/extensions (noter les / au lieu des \) - vérifier le répertoire des données des sessions : session_save_path=c:\Apache\Php\sessiondata - à la fin du fichier, enlever les remarques aux extensions que l’on veut garder (bz2, dbase et zlib pour le melia par exemple) et vérifier que les fichiers correspondants sont bien situés dans C:\Apache\Php\extensions - Vérifiez la valeur de session_cookie_path. Par exemple : session_cookie_path =c:\temp httpd.conf Il faut rajouter ou modifier dans le fichier de configuration d’Apache (c'est-à-dire c:\apache\conf\httpd.conf), tout ce qui a trait à la coexistence d’Apache et de PHP en signalant à Apache que l’extension php est, au même titre que cgi ou pl, une extension correspondant à des scripts à interpréter par un module interne ou externe à Apache et non pas un fichier à envoyer tel quel au navigateur client comme le sont les fichiers htm. Dans cette version pour Windows, le module PHP auquel seront envoyés les scripts d’extensions PHP est un module externe qui peut être choisi de deux façons différentes. Sous forme de cgi 3 externe : A chaque demande de script d’extension PHP par le navigateur, Apache va répondre en lançant un CGI 3 Un CGI (common gateway interface) est un programme (souvent un script) qui s’exécute sur le serveur Web en prenant en entrée des données envoyées par ce serveur et en fournissant en sortie (c'est-à-dire en renvoyant au serveur) du contenu utilisable par le navigateur. CATICE – (DD – JM – SR – JMT) 6 MELIA v. 4 [30/03/05] (c’est le programme externe PHP.EXE sous Windows) auquel il va fournir en paramètre d’entrée le script PHP. En sortie, PHP.EXE va renvoyer au navigateur du texte html qu’Apache va se contenter de retourner au navigateur client. Cette méthode a un gros inconvénient : celle de nécessiter, pour chaque script demandé, le lancement d’un processus PHP.EXE dans la mémoire du serveur. Par suite les résultats seront fournis de façon plus lente qu’avec la méthode par module indiquée ci-dessous. La documentation de PHP indique cependant que la méthode par cgi est plus fiable et que c’est la meilleure solution sur des serveurs de type Win98. Vous voilà prévenus ! Pour mettre en œuvre la méthode d’appel par CGI, modifier httpd.conf de la façon suivante : - Rechercher « Script Alias » et rajouter ceci en dessous de la ligne existante : ScriptAlias /php/ "c:/Apache/php/" - Rechercher « AddType », et sortir la remarque de la ligne contenant AddType application/x-httpd-php .php - De la même façon, plus loin, avec Action, il faut ajouter : Action application/x-httpd-php "c:/Apache/php/php.exe" Cette méthode est choisie de façon « transparente » par EasyPHP pour des machines Win98. Sous forme de module intégrable à Apache : Dans ce cas (recommandé du bout des lèvres par la documentation de PHP sous Windows et seulement avec un serveur de type WinNT), Apache charge en mémoire un ensemble de DLL qui effectueront le même travail que le CGI ci-dessus. Mais ces DLL ne seront présentes qu’en un seul exemplaire et intégrées de façon plus étroite à Apache. L’interprétation des scripts sera donc plus rapide et plus économe en ressources pour le serveur. Pour mettre en œuvre cette méthode, modifier httpd.conf de la façon suivante : - Dans la suite des LoadModule, ajouter la ligne : LoadModule php4_module "c:/Apache/php/sapi/php4apache.dll" - A la fin des AddModule, ajouter : AddModule mod_php4.c - Dans les AddType, ajouter les 3 lignes : <IfModule mod_php4.c> AddType application/x-httpd-php .php </IfModule> Ensuite, copiez le fichier php4ts.dll dans le répertoire système de Windows (en général c:\windows\system pour Win98 ou XP et c:\winNT\system32 pour WinNT). Il vaut mieux rebooter que se contenter d’arrêter puis redémarrer Apache. Lors du lancement d’Apache depuis une console, vous verrez mentionné le fait qu’Apache s’exécute avec PHP en module. Cette méthode est choisie de façon « transparente » par EasyPHP pour des machines WinNT. Notes : Comment savoir si le serveur PHP fonctionne ? - écrivez une page index.php contenant juste la ligne < ?php phpinfo(); ?> - placez-là à la racine d'Apache - tapez dans le navigateur local localhost/index.php - une page d'informations PHP doit apparaître Si après cette installation le serveur php ne fonctionne pas correctement, que faire ? Exemple : une erreur apparaît sur le serveur, mettant en cause certains fichier ODBC et leur version : C'est un problème d'installation : il faut remplacer ces fichiers par les DLL originales du CD de Windows 98 ou à télécharger ici : http://www.microsoft.com/downloads/release.asp?releaseid=34062 CATICE – (DD – JM – SR – JMT) 7 MELIA v. 4 [30/03/05] Annexe 3. (sadmin) : mise à jour de PHP par dessus EasyPHP Préambule EasyPHP est un « package » permettant d’installer, sur une machine Windows, un serveur Apache avec le module PHP ainsi qu’un serveur MySQL. La dernière version à ce jour est la 1.7 et la vitesse des mises à jour ne suit pas celle des versions de chacun des composants. L’objectif du paragraphe suivant est de garder la commodité et les fonctionnalités de EasyPHP 1.6 tout en remplaçant la version 4.3.3 de PHP qu’il inclut par des versions plus récentes. D’autres articles indiqueront comment mettre Apache et MySQL à jour. Ci-dessous, on note : o EZ = C:\Program Files\EasyPHP o WIN = le répertoire de Windows (en général C:\Windows ou C:\Winnt), o SYST = le répertoire système de Windows, c’est à dire WIN\system ou WIN\system32 suivant la version de Windows. Si EZ ne vaut pas la valeur ci-dessus, il vous faudra modifier votre fichier php.ini à la fin des opérations en remplaçant partout C:\Program Files\EasyPHP par la bonne valeur (par exemple D:\easyphp). Attention : il faudra aussi chercher et remplacer C:/Program Files/EasyPHP/ (avec des /). Installer EZ 1.7 si ce n'était pas déjà fait puis téléchargez la dernière version de PHP sous forme de fichier ZIP et non pas de fichier EXE contenant un « installer ». Vous la trouverez là sur le site : http://www.php.net/ ou peut-être sur un miroir plus proche. Préservez php.ini : il pourra vous servir plus loin… Procédure de mise à jour de PHP Chaque fois que Windows vous le demande, acceptez d’écraser les anciens fichiers. 1. Si EasyPHP est lancé, quittez-le avec l’icône en bas à droite de la barre des tâches et redémarrez votre machine en évitant qu’il se relance automatiquement : certaines DLL peuvent rester en mémoire et gêner l’installation des remplaçantes. 2. Décompactez le contenu du ZIP de PHP (php-x.y.z-Win32.zip) dans un répertoire temporaire temp, sur votre bureau pour simplifier. Copiez le contenu de ce répertoire temp dans le répertoire EZ\php. 3. Copiez le fichier EZ\php\php4ts.dll dans le répertoire SYST 4. Copiez le contenu de EZ\php\dlls dans SYST 5. Copiez EZ\php\sapi\php4apache.dll dans EZ\php 6. Modifiez PHP.INI en prenant les renseignements non évidents dans le php.ini d’EasyPHP 7. Vérification : a) Lancez EasyPHP b) Faites un clic droit sur l’icône de EasyPHP dans la barre des tâches (côté droit). Sélectionnez Administration c) Dans la page Web qui s’ouvre, cliquez sur « infos php ». d) Vous devez voir s’afficher les informations de PHP. CATICE – (DD – JM – SR – JMT) 8 MELIA v. 4 [30/03/05] Annexe 4. (sadmin et admin) : Melia avec un seul établissement Dans le cas d’un seul établissement, l’admin et le sadmin ne font a priori qu’une seule personne. Il sera donc profitable de lire la documentation sadmin, même si certaines parties présentent moins d’intérêt. Une fois Apache, PHP et MySQL installés, les scripts de Melia décompactés dans le sous-répertoire melia (par exemple), à la racine web du serveur, voici les étapes à suivre. Installer Melia Dans un navigateur taper : http://localhost/melia/install/install.php si vous êtes sur le serveur • http://192.168.1.100/melia/install/install.php si vous utilisez un navigateur client et que • l’adresse IP de votre serveur est 192.168.1.100 Si la base existe déjà, un message d’erreur vous le signalera. Il n’est pas possible de supprimer la base melia à partir de Melia. Les valeurs par défaut conviennent en principe dans ce cas particulier. Vous pouvez cocher « Intranet » (c’est en fait la valeur par défaut choisie par le script !). Créer un établissement C’est le rôle du sadmin. Taper alors dans un navigateur (avec les mêmes conventions que ci-dessus) : http://localhost/melia/sadmin/sadmin.php • http://192.168.1.100/melia/sadmin/sadmin.php • puis choisissez le bouton Remplissez les renseignements (vous pourrez aussi les modifier depuis la page admin de l’établissement). C’est fini. Vous n’avez plus besoin de vous loger sadmin. L’établissement créé a pour numéro 1. Administrer l’établissement C’est le rôle de l’admin de l’établissement qui a été créé. Vous y accédez comme toutes les personnes de votre établissement : http://192.168.1.100/melia/ • C’est la page index.php qui s’exécute (ce qui revient donc à taper http://192.168.1.100/melia/index.php). Mais comme le script qui s’est déroulé a vu qu’il n’y avait qu’un seul établissement, il enchaîne directement vers la page de login. Former des utilisateurs Le plus important est de leur créer un raccourci qui pointe vers : http://192.168.1.100/melia/ • Pour le reste, deux heures de TP sont largement suffisantes. CATICE – (DD – JM – SR – JMT) 9 MELIA v. 4 [30/03/05] Annexe 5. (admin): format des fichiers eleves.txt et profs.txt Généralités Ces fichiers sont utiles lorsqu’on ne peut utiliser le GEP (ensemble de fichiers au format dBase utilisés par l’administration dans les collèges et lycées) pour enregistrer les élèves et les professeurs dans la base de données melia. Ces fichiers texte peuvent être créés manuellement mais il est évidemment plus rapide de les créer à l’aide de fichiers existants et d’outils classiques comme un tableur permettant l’exportation au format texte avec séparateurs. • • • • • • • • Leurs noms sont imposés : eleves.txt et profs.txt. Par contre, le séparateur de champs utilisé peut être la virgule, le point-virgule ou le caractère de tabulation (code ASCII 9). Le script qui est chargé de les intégrer analyse le début du fichier et repère ce séparateur dans la première ligne qui n’est pas vide et qui n’est pas un commentaire. Ce séparateur doit alors être le même pour toutes les autres lignes du fichier. Malgré cette possibilité, il est préférable d’utiliser le point-virgule : il se voit et il est moins utilisé dans du texte. Ces fichiers peuvent contenir des lignes vides ou des lignes de remarques (lignes commençant par #). Le premier champ N°ident est réservé pour l’instant et doit être vide sauf si vous avez un moyen d’identifier les élèves et les profs (n° INSEE par exemple, mais pas le n° GEP si plusieurs établissements sont gérés). Ce champ n’est pour l’instant pas exploité. Le champ mdp_crypté est réservé et n’est utilisé que si les fichiers textes sont créés en utilisant le GEP. Si les fichiers textes sont créés d’une autre façon, ce champ doit être laissé vide. Beaucoup de champs peuvent être laissés vides (sauf nom et classe) mais leur emplacement doit être respecté quitte à écrire des « ; » consécutifs (qui sont facultatifs lorsqu’ils sont à la fin). Les espaces avant et après les séparateurs sont supprimés lors de l’analyse des champs. La discipline peut être indiquée de diverses manières (voir plus bas). Format du fichier eleves.txt Les lignes doivent être formées des champs suivants : N°ident ; Civilité ; nom ; prénom ; classe ; naissance ; mdp crypté Seuls le nom et la classe sont imposés. Exemple minimal absolu : ;;Dubois ;;5B ; Voici un exemple dans lequel certains champs sont absents, pas toujours les mêmes : #fichier d’incorporation des élèves #les 3 premiers ont un n° GEP inconnu ,,AQEAVT,GILLAUME,5G2,27/06/83 ,,AQGAURGUES,JULIEN,3G2,30/08/81 ,,AQUALONGET,CELINE,4G2,11/12/81 Civilité doit valoir : M., Mme ou Mlle. Naissance doit être au format jj/mm Format du fichier profs.txt Le nombre de champs est variable du fait de la présence des classes. N°ident ; Civilité ; Nom ; Prénom ; discipline ; naissance ; mdp_crypté ; classe1 ; … L’exemple minimal absolu est : ;;Dubois Le script d’incorporation se charge de fabriquer le login et les classes pourront être saisies ultérieurement dans une des pages autorisées à l’administrateur. Exemples de lignes possibles, le séparateur étant toujours « ; »: CATICE – (DD – JM – SR – JMT) 10 MELIA v. 4 [30/03/05] ;M.;Monnom;Monprénom ;bio;;3A ;3B ;4C ;5C ;6E ;M.; Walker;Johny;math;; 802 ;Mlle;Casse ;Patricia ;all;; 5A ;Mme;Curie;Marie ;;Lenouveau ;;20;;5A ;5B ;5C ;6A ;6D Remarquez que le script qui incorpore les profs est assez laxiste pour les disciplines. Il est possible de ne fournir qu’une partie du nom de la discipline ou même son numéro… à condition de le connaître. Ce choix peut différer d’une ligne à l’autre. Voici la liste des disciplines retenues, avec leurs numéros. Il sera plus commode d’indiquer 32 que « lettres cla ». Le script qui crée des fichiers textes à partir des fichiers GEP effectue ce codage. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 divers administration allemand anglais arabe arts assistant basque biochimie biologie-géologie biotechnologie braille catalan chimie comptabilité documentation E.M.T. économie et gestion éducation CATICE – (DD – JM – SR – JMT) 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 EPS espagnol formateur génie grammaire grec histoire-géographie information et orientation instituteur spécialisé italien langues lettres lettres classiques lettres modernes lettres+ lettres+langue mathématiques maths+ MI-SE 11 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 musique occitan orientation PEGCsection 13 philosophie physique-chimie portugais premier degré professionnel russe sciences sciences et techniques secrétariat SES STI SVT technologie tertiaire vente MELIA v. 4 [30/03/05] Annexe 6 : (sadmin) paramétrer un compte dans MySQL Le plus simple pour cela est d’utiliser phpMyAdmin (disponible dans Easyphp ou installable depuis un paquetage à télécharger là : http://www.phpmyadmin.net/home_page/ choisissez la dernière version stable et suivez les instructions dans le fichier Documentation.html) Création d’un utilisateur pour la base de données melia : Dans la base de données mysql (celle utilisée par mysql lui-même pour sa gestion) : - Affichez les utilisateurs de MySQL : Ils sont dans la table user - Choisissez « Insérer un nouvel enregistrement » Saisissez comme ci-contre en n’oubliant pas de crypter le mot de passe avec la fonction PASSWORD Ne donnez aucune permission au-dessous, elles sont destinées à toutes les bases de données ce ne serait pas raisonnable ! Une fois remplie validez la page (bouton de formulaire audessous) Vous verrez le résultat avec le mot de passe crypté CATICE – (DD – JM – SR – JMT) 12 MELIA v. 4 [30/03/05] S’il n’y en a pas, mettez un mot de passe au compte root avec le bouton « modifier » et validez. Affichez cette fois-ci la table db et choisissez d’insérer également un nouvel enregistrement : Respectez les saisies ci-contre. Comme user, vous devez mettre le nom saisi précédemment. La base de données peut s’appeler comme vous voulez (nom court sans espace ni signes de ponctuation ni accents), par défaut, melia. Validez C’est terminé pour MySQL, par contre pour qu’il prenne en compte vos modifications, il vous faut relancer le serveur pour qu’il relise ses tables, ou bien lui donner une instruction FLUSH PRIVILEGES dans une zone de saisie SQL. Vous aurez cette zone d’un clic sur la base mysql : Terminé : pensez à noter le nom de la base, le nom d’utilisateur et son mot de passe (avant cryptage !!!) pour les donner à Melia pendant la phase d’installation de la base de données. CATICE – (DD – JM – SR – JMT) 13 MELIA v. 4 [30/03/05] Annexe 7 : FAQ Problèmes d’installation (sadmin et admin) Q : (Serveur Linux) Lorsque je lance l'installation depuis un navigateur /melia/install/install.php j'obtiens une erreur au moment de l'incorporation des rubriques. R : Voir avec l'administrateur du serveur : il faut que l'utilisateur mysql utilisé ait le privilège "reload" pour cette opération. En cas de difficultés lors de l'installation initiale, la réaliser avec le compte root de MySQL (renseigner le fichier melia/include/vars_adm.php s'il existe déjà, sinon faire les modifications dans le fichier vars_adm_safe.php). Et penser à le remodifier ensuite, pour le fonctionnement quotidien, ce privilège est inutile. Q : (serveur Linux) Lors de l'affichage des diplômes il y a une erreur d'écriture indiquée dans la page. Ca arrive aussi au moment d'incorporer le fichier des élèves F_ELE.DBF. R : Il s'agit d'un problème de droits Linux, qui en l'état, ne permettent pas l'écriture d'un fichier sur le serveur. Demander à l'administrateur du serveur de mettre comme droits : - 664 sur tous les fichiers - 775 sur tous les dossiers de l'arborescence du melia (en fait il suffit d’autoriser l’écriture sur les dossiers data, sadmin/maj et sadmin/maj_faites et include) Aussi, il faut donner tout le dossier melia au compte (apache ?) qui fait tourner le serveur WEB. Q : Dans mon établissement, la personne qui s’occupe du serveur MySQL m’impose le nom de la base (melia_0330000F au lieu de melia). Comment dois-je faire pour installer MELIA ? Le script d’installation vous demandera tout ça. Simplement il est nécessaire qu’avant de lancer l’installation, vous ayez donné les bons paramètres à MySQL (§ précédent). Si vous avez déjà lancé l’installation et que ça ne marche pas, il vous faudra supprimer le fichier /include/vars_adm.php et recommencer l’installation en répondant convenablement. $user="root"; $mdp=""; $db="melia"; Modifiez la ligne qui contient le nom choisi pour la base de données : $db="melia_0330000F"; Et modifiez le compte choisi pour gérer la base… Si la base existe avant l’installation, cochez la case « Site hébergé chez un FAI ». Q : Lorsque je me connecte la première fois après l’installation de Melia, j’ai le message : Impossible d'accéder à la base XXXX Accès refusé pour l'utilisateur: 'YYYY@localhost' (mot de passe: OUI) Que faire ? R : Vous avez eu apparemment des problèmes lors de l’installation (nom de la base, login ou mot de passe incorrect). Le fichier melia/include/vars_adm.php est donc lui-aussi incorrect. Supprimez-le (voyez éventuellement avec l’administrateur du serveur), relancez le script d’installation et fournissez au formulaire de bons renseignements ! Problèmes d’utilisation (tous) Q : J'ai un problème de connexion assez bizarre. Si je met un nom d'utilisateur et un mot de passe correct, je tombe sur une page m'indiquant : "Session non accessible ou expirée " puis affiche un bouton "Ouvrir une CATICE – (DD – JM – SR – JMT) 14 MELIA v. 4 [30/03/05] nouvelle session". Tant que je me connecte avec le nom d'utilisateur et le mot de passe correct, je tombe sur cette page. Bon, normalement ce cas-là n'arrive plus depuis la version 2.1 de Melia, quelle que soit la version de EasyPhp utilisée ! Dans le cas contraire, écrivez-nous en précisant les pages concernées. ([email protected]). Q : J'ai des problèmes d'exécution avec mon serveur sous Linux… Certaines opérations provoquent des erreurs d'exécution, à cause des droits insuffisants sur les fichiers. Voici une liste de fichiers pour lesquels le droit d'écriture est requis : - melia/include/vars_adm.php - melia/login/maj (tout le dossier) - melia/login/maj_faites (tout le dossier) - melia/data et tous ses sous-répertoires (un par établissement) Il suffit de leur donner des droits 775 sur ces fichiers-là (le groupe étant celui d'apache) Q : Comment puis-je changer mon mot de passe ? Il faut que cette possibilité soit accordée par l’administrateur (menu admin, bouton Paramètres généraux). Ensuite cocher la case « Changer de mot de passe » qui apparaît dans la page de login. La suite va de soi… Q : Est-il possible de tester l’impression d’un diplôme avant d’attendre qu’un élève ait obtenu le melia ? R : L’élève test 00000 a toujours acquis son diplôme ! Il suffit donc de passer en mode gestionnaire, de sélectionner sa classe, et de faire des tests d’impression de diplôme. Pour trouver la classe de 00000, logez-vous en mode élève sous ce nom. La classe s’affiche en haut à gauche, sous le nom 00000, par défaut c’est Classe_test. Le logo du diplôme est personnalisable, voir le menu admin ! Q : Lorsque un prof se connecte, la liste des demandes est vide, même lorsque les conditions sont réunies pour qu’il y en ait. R : Vous avez oublié de définir les classes du prof et ses compétences. Cliquez sur le pot de crayons situé en haut à droite de la fenêtre du navigateur et remplissez la page qui s’affiche. Attention : lorsque vous revenez dans la page du prof, les demandes sont toujours absentes. Vous pouvez rafraîchir la page (touche F5 ou icône appropriée dans la barre d’outils de votre navigateur. Et s'il n'y a toujours rien, c'est qu'aucune demande n'est de votre compétence ☺ Problèmes d’administration (admin) Q : Lorsque j’utilise « Importation d’utilisateurs », j’ai un message d’erreur concernant la fonction dbase_open() qui n’existe pas. Le problème vient du fait que les extensions dBase n’ont pas été installées avec PHP sur le serveur Apache. Si vous n’êtes pas le sadmin, la seule solution pour vous est de le lui signaler. Sinon, sous Linux, il faut compiler ces extensions avec PHP. Sous Windows avec EasyPHP 1.7, il faut cocher la case php_dbase dans le sous-menu Configuration/Extensions. Avec les versions précédentes de EasyPHP, cette optionétait installée par défaut. Q : Lorsque j’entre les élèves dans la base avec le fichier F_ELE.DBF, j’obtiens des erreurs (Apache se plante) et les classes indiquées sont invalides. R : Certains fichiers GEP présentent ce problème. Il est difficile de dire si c’est le fichier DBF qui est pollué ou la bibliothèque « php_dbase.dll » fournie avec EasyPHP qui ne tient pas compte de toutes les curiosités trouvées dans ces fichiers… Il n’y a rien à faire du côté de MELIA qui se contente d’utiliser cette bibliothèque avec les fichiers fournis. CATICE – (DD – JM – SR – JMT) 15 MELIA v. 4 [30/03/05] Par contre, dans tous les cas rencontrés, on arrive à « réparer quelque chose » dans le fichier DBF en se contentant de le charger dans Excel (qui gère l’extension DBF si vous ne lui avez pas dit le contraire lors de l’installation) et en enregistrant aussitôt, sans rien faire, sous le même format. Si ça ne suffit pas, supprimez une colonne avant celle de DIVCOD (c’est très empirique !). Les seules colonnes que vous ne devez pas toucher sont : ELENOET, ELENOM, ELEPRE, ELEDATNAISS, DIVCOD. Q : Dans mon établissement, je n’ai qu’un fichier DBF partiel et le programme d’installation me dit qu’il ne convient pas. Que doit contenir le fichier DBF ? R : Le fichier DBF a pour seule contrainte de contenir 5 colonnes (champs) aux noms imposés et dont voici les caractéristiques : Nom ELENOET ELENOM ELEPRENOM ELEDATNAIS DIVCOD Type Entier Chaîne Chaîne Chaîne Chaine Contenu N° unique d’un élève dans l’établissement Nom (max 30 caractères) Prénom (max 25) Date de naissance au format dBase : YYYYMMDD Division de l’élève (max 10 caractères) L’ordre des champs, la taille des chaînes et le type des entiers n’ont aucune importance. La taille maximale des chaînes ci-dessus (entre parenthèses) est celle que retient MELIA dans sa base. Q : Dans mon établissement, le fichier GEP n’est pas à jour avant novembre. Suis-je obligé de rajouter à la main les élèves inscrits tardivement ? Non. Vous pouvez intégrer les fichiers GEP dans MELIA autant de fois que nécessaire. Seuls les nouveaux individus seront rajoutés à la base4. Q : Je ne comprends pas bien la différence entre installation de la base et bascule (ou mise à jour). Pourquoi ne pas réinstaller chaque année ? L’installation (install/install.php) de Melia ne se fait qu’une fois par le sadmin. L’incorporation (ou l’importation) des élèves et des profs par l’admin de l’établissement se fait lors de la première utilisation de la base. La bascule (ou mise à jour annuelle ou changement d’année scolaire) se fait sur une base existante, au début de la nouvelle année scolaire, lorsque l’administration a « basculé » les fichiers de l’année n vers l’année n+1. Elle ne détruit pas les items acquis par les élèves l’année précédente. Les élèves qui ne font plus partie de l’établissement sont conservés séparément, avec les items qu’ils ont acquis. Elle est disponible dans le menu "Admin" sous le nom "Changement d'année scolaire". La mise à jour des comptes ou « repasse » consiste, comme pour le café, à « repasser » le ou les fichiers GEP, ce qui se produit lorsque l’administration fournit un GEP provisoire le 5 septembre puis un nouveau mis à jour le 3 octobre, etc. Ces trois dernières actions, sont toutes trois regroupées derrière le bouton du menu admin de chaque établissement. Le script associé se débrouille pour déterminer quelle est l’action désirée ! Cette repasse s’applique aussi aux fichiers textes eleves.txt et profs.txt. Par exemple, si 10 élèves nouveaux arrivent dans le premier mois suivant la « première passe », on peut soit compléter le premier fichier eleves.txt et le repasser, soit créer un deuxième fichier eleves.txt de 10 élèves et le fournir au script. Q : Est-il possible de changer le login d’un prof ou d’un élève ? N’y a-t-il pas un risque de « collision » ? 4 NDLR : voir aussi question suivante. CATICE – (DD – JM – SR – JMT) 16 MELIA v. 4 [30/03/05] R : Il est possible de modifier un login, comme les autres caractéristiques relatives aux profs et aux élèves. Il faut se loger admin, choisir « Gestion des élèves », sélectionner l’élève et modifier le login. Si le login que vous proposez est déjà donné, MELIA rajoute un numéro à la fin de façon à assurer son unicité. Q : J’obtiens des choses curieuses avec le changement d’année scolaire (NDLR : le script effectuant le changement d’année scolaire est le même que le script d’entrée des élèves par fichiers txt ou dbf et se trouve dans le menu admin / incorporation) il manque de nouveaux élèves ou j’obtiens des « incertains » à la place des nouveaux… Le temps alloué à l’exécution des scripts est trop restreint. En principe c’est le script txt2tables.php qui est concerné car il analyse le nouveau fichier en cherchant à déterminer si chaque individu est nouveau, ancien ou parti. Au niveau des scripts, le maximum est fait pour que ces scripts aient le temps de se terminer… à condition que le fichier de configuration de PHP ne dise pas le contraire ! Vérifiez PHP.INI et modifiez ou ajoutez la « variable » max_execution_time en écrivant une ligne comme : max_execution_time=900 Ici, la durée d’exécution du script PHP sur le serveur est limitée à 900 secondes (15 minutes). Sur une machine avec un processeur à 1,8 GHz, la bascule pour un très gros lycée met 3 minutes. Q : Je voudrais supprimer les comptes tests 00000 et proftest car les élèves les connaissent et se donnent des items avec Proftest. En plus, ils ont changé le mot de passe de Proftest. Que puis-je faire ? L’admin peut agir sur ces deux comptes de test comme sur n’importe quel autre compte réel. a) Vous pouvez vous contenter de changer les mots de passe de ces comptes. Rétablissez d’abord le mot de passe de proftest par le menu admin puis « Gestion des professeurs » : dans la fiche de proftest, réinitialisez le mot de passe à sa valeur par défaut (date de naissance). Ensuite, logez-vous proftest et changez son mot de passe (il faut éventuellement accorder la possibilité aux profs de changer leur mot de passe, au moins temporairement). b) Vous pouvez supprimer ce ou ces comptes : menu Admin, Gestion des professeurs, sélectionnez proftest. En bas de sa fiche se trouve le bouton supprimer. CATICE – (DD – JM – SR – JMT) 17 MELIA v. 4 [30/03/05]