[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 Notes sur l'Inerface SE3: 2 ------------------------- 3 4 L'interface d'administration n'est pas achevée, loin de là mais toute la base 5 est présente pour le développement e nouvelles fonctionnalités. Je développerai 6 ici quelques points en vrac: 7 8 - L'authentification: 9 --------------------- 10 L'utilisateur est invité à saisir un login/passwd qui sera validé sur l'annuaire 11 LDAP paramétré lors de l'install (le mot de passe est crypté dans l'attribut 12 userPassword. C'est le mot de passe Unix et pas Samba qui intervient). Si le 13 login est accepté, un N° de session aléatoire est généré et placé dans un 14 cookie (le navigateur doit accepter les cookies). Une entrée dans la table 15 session de la base se3db est générée et permet de retrouver le login (uid) de 16 l'utilisateur connecté, ainsi que si il a activé l'aide en ligne. 17 Pour écrire un script exploitant cette authentification, il suffit de le faire 18 commencer par 19 <? require "includes/entete.inc.php" ?> 20 Si l'utilisateur n'est pas authentifié sur l'interface, il sera redirigé sur la 21 boite de login. L'uid de l'utilisateur est disponible dans la variable $login. 22 23 - Les droits sur l'interface: 24 ----------------------------- 25 Chaque script définit qui a le droit d'éxécution dessus. Cela se fait au 26 moyen des groupes définis dans la branche "Droits". Tout script doit 27 autoriser les utilisateurs (ou groupes) définis dans se3_is_admin. Ensuite, il 28 peut restreindre l'accès aux membres d'autres groupes. L'auteur du script peut 29 s'il le souhaite rajouter des entrées sous la branche "Droits" afin de déléguer 30 les droits sur son script. Pour l'instant sont définis: 31 32 * se3_is_admin: Administrateur TOTAL de SE3. Seul admin y est défini par défaut. 33 Mieux vaut ne pas multiplier les entrées sous cette branche et préférer une 34 délégation plus fine des pouvoirs. 35 * Annu_is_admin: Administrateur de l'annuaire. Peut effectuer toutes les 36 opérations sur tous les utilisateurs (sauf import par GEP.cgi réservé à 37 se3_is_admin. 38 * sovajon_is_admin: Permet de déléguer les droits de changement de nom et mot de 39 passe aux professeurs POUR leurs élèves et uniquement les leurs. Nécessite pour 40 fonctionner la structure mise en place par GEP.cgi où les groupes Classe_, 41 Cours_ et Equipe_ permettent d'avoir l'information de qui enseigne à qui. 42 43 - La configuration: 44 ------------------- 45 Seuls les paramètres pour l'authentification sur la base MySQL sont stockés dans 46 les fichiers de conf de l'interface. Ils sont au nombre de 2: 47 * wwwse3/includes/config.inc.php pour les scripts php 48 * /etc/LcSeConfig.ph pour les scripts perl sous /usr/sbin (voir 49 perl_scripts.txt) 50 Le reste des paramètres (LDAP etc..) est dans la table params de la base se3db. 51 Celle-ci contient 52 . Un champ "name": nom du paramètre qui est aussi le NOM DE LA VARIABLE aussi 53 bien dans les scripts PHP que PERL !! 54 . Un champ "value" qui est la valeur de la variable $name. 55 . Un champ "descr" qui est la description de cette variable dans le form de 56 saisie 57 . Un champ "cat" qui permet de classer ces params en catégories: 58 1 -> paramètres généraux 59 2 -> paramètre LDAP 60 3 -> Chemin vers un fichier de conf 61 Cela permet un affichage classé pls agréable pour les forms. 62 63 Pour rajouter un paramètre, rien de plus simple, il suffit de l'ajouter dans la 64 base de données. Aussitôt, les forms de saisie/modification (sous le menu 65 Configuration) s'adapteront sans nécessité de modifier les scripts, et la 66 variable du nom du paramètre sera disponible dans tous les scripts PERL ou PHP. 67 Kool non? 68 69 Les paramètres peuent êtres modifiés par le menu configuration depuis 70 l'interface lorsqu'on est admin, mais aussi, en cas de panne de l'annuaire 71 empéchant l'authentification sur l'interface, par le script setup.php qui donne 72 accès à tous les paramètres sans authentification ;-) C'est kool pour le 73 developpement et le débugage. Il sera bien sur protégé par un htaccess. 74 75 - La modification de l'annuaire 76 ------------------------------- 77 Lorsque par setup.php, une modif est faite sur les paramètres d'annuaire (pour 78 se raccrocher sur un autre annuaire par exemple), la base de donnée est bien sur 79 modifiée instantanément, mais il y a aussi nécessité de modifier des fichiers de 80 conf (pam-ldap, ldap.conf). Pour cela, le script wwwse3/Admin/admin.sh est 81 fabriqué. Lancé par root, il modifiera les fichiers de conf par rapport à ce qui 82 a été demandé. Afin d'éviter l'écrasement de ce fichier par un second 83 reparamétrage, setup.php ne pourra être relancé tant que ce fichier est présent, 84 vous devrez donc le lancer (si vous souhaitez prendre en compte les modifs sur 85 la configuration du système) ou l'ignorer, mais dans tous les cas, l'EFFACER. 86 87 Cette sécurité temporaire est là à des fins de débuggage et de développement 88 pour éviter de casser son système quand on teste des scripts de paramétrage. A 89 terme, il sera lancé automatiquement par un démon (Admind issu de SLIS) et le 90 mécanisme sera transparent. 91 92 - Le support multi-distrib 93 -------------------------- 94 Afin de pouvoir s'adapter facilement à toutes les distribs, aucun chemin vers un 95 fichier de conf ne doit être mis en dur dans les scripts. Seuls sont acceptés 96 les chemins vers des fichiers dépendants de SE3, e donc indépendants de la 97 distrib 98 ex: les scripts perls sont dans /usr/sbin/*.pl et peuvent être mis en dur, mais 99 le script d'amorçage de Samba varie d'une distrib à l'autre est est stocké dans 100 la table params. 101 102 - L'importation GEP: 103 -------------------- 104 Celle-ci est réalisée par le superAdministrateur via le menu annuaire. C'est le 105 script GEP.cgi du projet Lcs qui est utilisé. Celui-ci prend en entrée 7 106 fichiers GEP (détaillés dans le form de saisie) et fabrique automatiquement les 107 utilisateurs, Groupes, Classes, Cours, Matières et Equipes pédagogiques. Le 108 traitement peut être long, aussi se poursuit-il en tache de fond. Une page web 109 vous permet d'en suivre le déroulement et les messages d'erreurs éventuels. 110 Un grand bravo au passage à Olivier Le Monnier pour ce Script. 111 112 - L'appli Annuaire: 113 ------------------- 114 Celle-ci a été réalisée par Jean-Luc Chrétien dans le cadre du projet Lcs et je 115 tiens également à le remercier pour son travail. Elle permet de faire des 116 opérations sur les utilisateurs et les groupes si l'on est admin, ou juste de la 117 consultation si on est simple utilisateurs. 118 119 - L'internationalisation: 120 ------------------------- 121 Celle-ci n'est pas encore complète, notament dans l'appli Annuaire qui a été développée sans le support. Elle est basée sur GNU/gettext qui est un standard dans le domaine. Pour le moment le français est supporté (modulo les fotes dortografe). Quelques messages en anglais ont été traduits essentiellement à but de démonstration. Pour en "bénéficier", sélectionnez "en" dans le paramétrage de la langue (section générale). 122 123 Pour internationaliser une chaine, il suffit de la passer en argument de la fonction gettext. Ensuite, le script wwwse3/locale/mkmsg.sh se charge d'analyser tous les scripts php pour en retirer les chaines à traduire. Un fichier po est alors généré. Dans wwwse3/locale/en/LC_MESSAGES/ le script merge.sh concatène le fichier po déjà traduit et les nouvelles chaînes à traduire. kbabel se fait un plaisir de vous y aider. Il suffit ensuite de lancer mkmo.sh pour compiler le fichier po et voir vos beaux messages internationalisés ;-) Ya pas plus simple...
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |