« WATERBEAR:Sécurité » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 134 : | Ligne 134 : | ||
::::=> _en = Security management | ::::=> _en = Security management | ||
* Ce noeud définit touts les textes qui apparaissent dans l'écran hors du titre d'onglet de page configuré ci-dessus. Cette liste non | * Ce noeud définit touts les textes qui apparaissent dans l'écran hors du titre d'onglet de page configuré ci-dessus. Cette liste non exhaustive peut être adaptée. Son utilité sera expliquée au niveau du paramétrage de l'interface. | ||
profiles/defaut/langues/bib/admin/securite | profiles/defaut/langues/bib/admin/securite | ||
Ajouts sous ce noeud: | Ajouts sous ce noeud: | ||
Ligne 229 : | Ligne 229 : | ||
===Menu du registre=== | ===Menu du registre=== | ||
profiles/defaut/pages/bib/admin/ | profiles/defaut/pages/bib/admin/registre/_parametres/barre_menus1/002 - securite | ||
Ajouts sous ce noeud: | Ajouts sous ce noeud: | ||
:=> 002 - securite | :=> 002 - securite | ||
Ligne 243 : | Ligne 243 : | ||
===Menu de la gestion des objets=== | ===Menu de la gestion des objets=== | ||
profiles/defaut/pages/bib/admin/ | profiles/defaut/pages/bib/admin/objets/_parametres/barre_menus1/002 - securite | ||
Ajouts sous ce noeud: | Ajouts sous ce noeud: | ||
:=> 002 - securite | :=> 002 - securite | ||
Ligne 319 : | Ligne 319 : | ||
:::::::=> IP | :::::::=> IP | ||
::::::::=> langue = 0 | ::::::::=> langue = 0 | ||
::::::::=> largeur = 100px | |||
::::=> users | ::::=> users | ||
:::::=> chemin = system/users | :::::=> chemin = system/users | ||
Ligne 363 : | Ligne 364 : | ||
* Sous le noeud "listes", on retrouve la liste des éléments de sécurité à traiter ("postes", "users", "groupes-postes" et "groupes-users"). Ces intitulés peuvent être modifiés à volonté. La liste en sera adaptée. Tenez compte de la remarque faite au niveau du noeud "intitules_texte". (voir le second écran ci-dessous) Chacune de ces entrées possède trois attributs ("chemin", "nom" et "liste_deroulante"). | * Sous le noeud "listes", on retrouve la liste des éléments de sécurité à traiter ("postes", "users", "groupes-postes" et "groupes-users"). Ces intitulés peuvent être modifiés à volonté. La liste en sera adaptée. Tenez compte de la remarque faite au niveau du noeud "intitules_texte". (voir le second écran ci-dessous) Chacune de ces entrées possède trois attributs ("chemin", "nom" et "liste_deroulante"). | ||
** Le sous-noeud "chemin" définit le noeud dans le registre sous lequel on trouve les données à traiter. | ** Le sous-noeud "chemin" définit le noeud dans le registre sous lequel on trouve les données à traiter. | ||
** Le sous-noeud "nom" définit le nom des différents champs de cette liste à afficher et selon un ordre donné par un numéro le précédent. Par exemple, dans la liste "postes" dont le chemin dans le registre est "system/postes", le champs "bib" sera en seconde position et son entête sera "Bibliothèque" selon la traduction associée. (voir le troisième écran ci-dessous) L'ordre peut être changé via ces numéros. Sous ce noeud, le sous-noeud "langue" définit si la donnée associée supportera différentes langues ("1") (hors liste déroulante associée) ou non "0". La valeur "0" est majoritaire; il n'y a pas de sens de traduire un mot de passe (champs "mdp"). Par compte, le nom (champs "nom") des groupes est un descriptif; il sera traduit en plusieurs langues. | ** Le sous-noeud "nom" définit le nom des différents champs de cette liste à afficher et selon un ordre donné par un numéro le précédent. Par exemple, dans la liste "postes" dont le chemin dans le registre est "system/postes", le champs "bib" sera en seconde position et son entête sera "Bibliothèque" selon la traduction associée. (voir le troisième écran ci-dessous) L'ordre peut être changé via ces numéros. Sous ce noeud, le sous-noeud "langue" définit si la donnée associée supportera différentes langues ("1") (hors liste déroulante associée) ou non "0". La valeur "0" est majoritaire; il n'y a pas de sens de traduire un mot de passe (champs "mdp"). Par compte, le nom (champs "nom") des groupes est un descriptif; il sera traduit en plusieurs langues. On peut ajouter le sous-noeud "largeur", intéressant pour élargir ou réduire une zone d'entrée simple. Sa valeur être exprimée en "%" (exemple: 60%) ou en nombre de points (exemple: 500px). La seconde est à privilégier. On peut voir une utilisation au niveau de la gestion des postes à la colonne "IP". Sa largeur est réduite à 100 points. | ||
** Le sous-noeud "liste_deroulante" définit quel champs de la liste est lié à une listes déroulante. Sous ce nom, on retrouve le "chemin" dans le registre où se trouve le contenu à afficher dans cette liste déroulante. On trouve également un noeud "langue". Si sa valeur vaut "0", cette liste est indépendant de la langue; sinon elle est liée à la langue de la liste déroulante du dessus. Si elle vaut "1", elle est directe; c'est le cas des bibliothèques (champs "bib"). Par contre, si les traductions ne sont pas directes, on nomme le noeud du champs intermédiaire; c'est le cas des groupes de postes ou d'utilisateurs où nous avons le noeud "nom" entre les deux. S'il n'y a pas de nom de champs, sa valeur est dénommée "VALEUR". C'est le cas de toutes les listes se trouvant sous les noeuds "profiles/defaut/langues/listes/catalogue/catalogage/grilles"; par exemple, la liste des bibliothèques (noeud: "profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque"). (voir exemple) | ** Le sous-noeud "liste_deroulante" définit quel champs de la liste est lié à une listes déroulante. Sous ce nom, on retrouve le "chemin" dans le registre où se trouve le contenu à afficher dans cette liste déroulante. On trouve également un noeud "langue". Si sa valeur vaut "0", cette liste est indépendant de la langue; sinon elle est liée à la langue de la liste déroulante du dessus. Si elle vaut "1", elle est directe; c'est le cas des bibliothèques (champs "bib"). Par contre, si les traductions ne sont pas directes, on nomme le noeud du champs intermédiaire; c'est le cas des groupes de postes ou d'utilisateurs où nous avons le noeud "nom" entre les deux. S'il n'y a pas de nom de champs, sa valeur est dénommée "VALEUR". C'est le cas de toutes les listes se trouvant sous les noeuds "profiles/defaut/langues/listes/catalogue/catalogage/grilles"; par exemple, la liste des bibliothèques (noeud: "profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque"). (voir exemple) | ||
* Au noeud "nbs_lignes", on définit le nombre d'enregistrements affichés dans le tableau. | * Au noeud "nbs_lignes", on définit le nombre d'enregistrements affichés dans le tableau. | ||
Ligne 422 : | Ligne 423 : | ||
* Bibliothèques. (interface français, traduction française) (pour l'exemple) | * Bibliothèques. (interface français, traduction française) (pour l'exemple) | ||
Voici la partie spécifique des paramètres au niveau du noeud "listes". L'intitulé "bib" déjà est utilisé. Si la valeur du noeud "langue" | Voici la partie spécifique des paramètres au niveau du noeud "listes". L'intitulé "bib" déjà est utilisé. Si la valeur du noeud "langue" valait "0", la valeur serait directement liée au code sans sous-noeud le langue (exemple: "_fr" et "_en"). Notons qu'il ne peut y avoir que le champs "VALEUR" défini. | ||
:=> listes | |||
::=> bib | |||
:::=> chemin = profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque/_intitules | |||
:::=> nom | |||
::::=> 0 | |||
:::::=> VALEUR | |||
::::::=> langue = 1 | |||
Dernière version du 21 mars 2021 à 15:37
But
Dans cette article, nous ajoutons un écran de gestion des bases de la sécurité. Il gère les utilisateurs, les postes et leurs groupes
Cette action a trois volets:
- Prise en compte des langues
- Ajout de la notion de gestion de groupes d'utilisateurs et de groupes de postes.
- Ajout de scripts
- Ajout dans le registre
Langues
La gestion des langues se passe à deux niveaux.
Langues d'authentification
La langue d'affichage qui est choisie lors de l'authentification à l'entrée du logiciel. Par défaut, c'est le français qui est installé. Pour nos tests et les exemples, nous avons ajouté l'anglais.
Cet ajout se fait dans le registre au noeud:
system/langues
On ajoute l'entrée : "_en = Anglais".
- => langues
- => _en = Anglais
- => _fr = Français
Dès qu'on entre dans le logiciel avec une langue donnée, ce sont toutes les traductions sous le noeud du registre:
profiles/defaut/langues
pour la langue choisie qui vont s'appliquer. Dans les écrans, pour autant que ceci soit pris en compte dans les scripts, tous les textes sont concernés. Il est évident que si la traduction pour cette langue n'est pas implantée, l'affichage en sera perturbé.
Langues de traduction
Dans la gestion qui nous concerne, le but est notamment la traduction en plusieurs langue. A droite de l'écran une liste déroulante permet de choisir la langue. Les zones concernées par la traduction pourront être traduites indépendamment de la langue d'affichage général. Les langues concernées doivent être configurées. Nous le verrons plus loin lors du paramétrage de l'interface.
Gestion des listes
Actuellement quand on veut ajouter, modifier ou supprimer un utilisateur ou un poste, opération à effectuer dès le début de l'utilisation, il faut aller dans le registre.
La gestion des utilisateurs se fait au noeud "system/users". On y remarque que chaque utilisateur fait référence à un groupe d'utilisateurs qui n'existe pas.
De même, la gestion des postes se fait au noeud "system/postes". Là aussi, on remarque que chaque poste fait référence à un groupe de postes qui n'existe pas. Il fait aussi référence au nom d'une bibliothèque. La gestion de cette dernière existe dans les écrans de gestion des listes ("listes du catalogage" et "listes des lecteurs et prêts").
Nous allons procéder à l'ajout de ces deux types de groupes dans le registre. La configuration pour le français et l'anglais sont présentées pour être conforme à nos exemples.
Les groupes des utilisateurs
Nous ajoutons le noeud:
system/groupes-users
Sous ce noeud, nous ajoutons trois groupes utilisés à l'installation dans le registre: admin, utilisateur et benevole. Evidemment cette liste est à adapter selon votre infrastructure, aux groupes déjà utilisés ou à venir. La première entrée est ajout pour une facilité de gestion des données manquantes. Le code peut être adapté à volonté.
- => groupes-users
- => -
- => nom
- => _en = -
- => _fr = -
- => nom
- => admin
- => nom
- => _en = Administrators
- => _fr = Administrateurs
- => nom
- => benevole
- => nom
- => _en = Volunteers
- => _fr = Bénévoles
- => nom
- => utilisateur
- => nom
- => _en = Users
- => _fr = Utilisateurs
- => nom
- => -
Les groupes des postes
Nous ajoutons le noeud:
system/groupes-postes
Sous ce noeud, nous avons ajouté pour l'exemple, deux groupes: interne et externe. De même cette liste est à adapter selon votre infrastructure, aux groupes déjà utilisés ou à venir. La première entrée est ajout pour une facilité de gestion des données manquantes. Le code peut être adapté à volonté.
- => groupes-postes
- => -
- => nom
- => _en = -
- => _fr = -
- => nom
- => externe
- => nom
- => _en = External
- => _fr = Externe
- => nom
- => interne
- => nom
- => _en = Internal
- => _fr = Interne
- => nom
- => -
Ces listes sont importantes. Il faut les configurer en premier via les nouveaux écrans créés. Leur contenu est utilisé dans les listes déroulantes respectivement pour la gestion des utilisateurs et des postes. Si vous ne le faites pas, un message d'erreur vous invitera à le faire.
Note: Ces deux groupes sont joints aux scripts pour l'ajout dans le registre téléchargeable en fin de page.
Scripts
Les nouveaux scripts PHP et JavaScript ont été ajoutés au logiciel. Ils ont été ajoutés à l'ensemble qui est téléchargeable au lien suivant:
Télécharger le fichier ZIP des modifications de Waterbear
Un autre fichier ne comprenant que ces scripts est téléchargeable au lien suivant:
Télécharger le fichier ZIP des scripts de sécurité de Waterbear
Voici la liste des scripts:
- "include/pages/bib/admin/admin_securite.php" : Page d'entrée
- "include/pages/bib_ws/admin/admin_securite_tete.php" : Web Service associé pour la récolte des données propre à la gestion des listes déroulantes de l'entête
- "include/pages/bib_ws/admin/admin_securite_liste.php" : Web Service associé pour la récolte des données propre à la gestion du tableau
- "include/templates/defaut/bib/admin/admin_securite.php" : Script de préparation du modèle de base de la page (les deux listes déroulantes et tableau)
- "include/templates/defaut/bib/admin/admin_securite/javascript.php" : Script JavaScript de gestion interactive de la page
Registre
Comme pour tous les écrans, la création de nouveaux écrans passe par une configuration du registre. Nous nous sommes basés sur le module de gestion des listes. Sur cette base nous avons créé de nouveaux scripts et par ce fait, de nouvelles entrées doivent être faites dans le registre.
Langue
On démarre par la définition de quelques entrées de traduction:
- Ce noeud définit l'intitulé principal du menu.
profiles/defaut/langues/bib/menus/admin/_intitules/menu_securite
Ajouts sous ce noeud:
- => menu_securite
- => _fr = Sécurité
- => _en = Security
- Ce noeud définit l'intitulé principal du sous-menu qui donne accès à cette page.
profiles/defaut/langues/bib/menus/admin/_intitules/securite
Ajouts sous ce noeud:
- => securite
- => _fr = Postes-Utilisateurs-Groupes
- => _en = Posts-Users-Groups
- Ce noeud définit le titre de l'onglet de page de cette gestion de sécurité.
profiles/defaut/langues/bib/admin/admin_securite
Ajouts sous ce noeud:
- => admin_securite
- => _intitules
- => titre_page
- => _fr = Gestion de la sécurité
- => _en = Security management
- => titre_page
- => _intitules
- Ce noeud définit touts les textes qui apparaissent dans l'écran hors du titre d'onglet de page configuré ci-dessus. Cette liste non exhaustive peut être adaptée. Son utilité sera expliquée au niveau du paramétrage de l'interface.
profiles/defaut/langues/bib/admin/securite
Ajouts sous ce noeud:
- => securite
- => _intitules
- => anglais
- => _en = English
- => _fr = Anglais
- => francais
- => _en = French
- => _fr = Français
- => action
- => _en = Action
- => _fr = Action
- => code
- => _en = Key
- => _fr = Code
- => langue
- => _en = Language
- => _fr = Langue
- => liste
- => _en = List
- => _fr = Liste
- => bib
- => _en = Library
- => _fr = Bibliothèque
- => groupe
- => _en = Group
- => _fr = Groupe
- => mdp
- => _en = Password
- => _fr = Mot de passe
- => nom
- => _en = Name
- => _fr = Nom
- => groupes-postes
- => _en = Posts (Groups)
- => _fr = Postes (Groupes)
- => groupes-users
- => _en = Users (Groups)
- => _fr = Utilisateurs (Groupes)
- => postes
- => _en = Posts
- => _fr = Postes
- => users
- => _en = Users
- => _fr = Utilisateurs
- => message1
- => _en = Fields not found in the drop-down list !!! You must amend this linked list or adapt the value not found:
- => _fr = Champs non trouvé dans la liste déroulante !!! Il faut amender cette liste liée ou adapter la valeur non trouvée:
- => message2
- => _en = The code cannot be empty.
- => _fr = Le code ne peut pas être vide.
- => message3
- => _en = There must be at least one item in the list. Please add more.
- => _fr = Il faut au moins un élément dans la liste. Veuillez en ajouter.
- => debut
- => _en = First
- => _fr = Début
- => fin
- => _en = Last
- => _fr = Fin
- => precedent
- => _en = Previous
- => _fr = Précédent
- => suivant
- => _en = Next
- => _fr = Suivant
- => VALEUR
- => _en = Value
- => _fr = Valeur
- => anglais
- => _intitules
- Les bibliothèques sont impliquées dans cette gestion en tant que données liées. Par cohérence, il faut adapter les traductions au niveau de la gestion de sa liste sous la rubrique administration.
Comme cette fonctionnalité est du domaine de l'administration, les entrées dans les menus ont été ajoutées dans cette partie. De plus ces entrées doivent être réservées aux administrateurs. Ces ajouts ont été faits à trois endroits.
Menu de l'administration simple
profiles/defaut/pages/bib/admin/_parametres/barre_menus1/03 - securite
Ajouts sous ce noeud:
- => 03 - securite
- => chemin_langue = bib/menus/admin
- => sections
- => 00
- => menus
- => 00 - securite
- => titre = securite
- => url = bib.php?module=admin/admin_securite
- => 00 - securite
- => menus
- => 00
- => titre = menu_securite
Menu du registre
profiles/defaut/pages/bib/admin/registre/_parametres/barre_menus1/002 - securite
Ajouts sous ce noeud:
- => 002 - securite
- => chemin_langue = bib/menus/admin
- => sections
- => 00:
- => menus
- => 00 - securite
- => titre = securite
- => url = bib.php?module=admin/admin_securite
- => 00 - securite
- => menus
- => 00:
- => titre = menu_securite
Menu de la gestion des objets
profiles/defaut/pages/bib/admin/objets/_parametres/barre_menus1/002 - securite
Ajouts sous ce noeud:
- => 002 - securite
- => chemin_langue = bib/menus/admin
- => sections
- => 00
- => menus
- => 00 - securite
- => titre = securite
- => url = bib.php?module=admin/admin_securite
- => 00 - securite
- => menus
- => 00
- => titre = menu_securite
Pages
Ces entrées vont définir la page concernée et son Web Service. Dans ces définitions, on retrouve les références aux nouveaux scripts PHP¨et JavaScript nouvellement créés.
Page directe (BIB)
Voici la définition de la page d'accès. Cette entrée se retrouve dans la définition du noeud ("url") des menus. Voici le noeud:
profiles/defaut/pages/bib/admin/admin_securite
Dont le contenu est:
- => admin_securite
- => _droits
- => *:* = 0
- => Gadmin:* = 1
- => _page = bib/admin/admin_securite.php
- => _parametres
- => favicon = IMG/icones/cog_edit.png
- => intitules_texte
- => chemin = bib/admin/securite
- => liste = action code langue liste users postes groupes-users groupes-postes nom IP bib groupe mdp anglais francais suivant precedent debut fin message1 message2 message3 VALEUR
- => langues
- => anglais = _en
- => français = _fr
- => langue_defaut = _fr
- => listes
- => bib
- => chemin = profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque/_intitules
- => nom
- => 0
- => VALEUR
- => langue = 1
- => VALEUR
- => 0
- => groupes-postes
- => chemin = system/groupes-postes
- => nom
- => 0
- => nom
- => langue = 1
- => nom
- => 0
- => groupes-users
- => chemin = system/groupes-users
- => nom
- => 0
- => nom
- => langue = 1
- => nom
- => 0
- => postes
- => chemin = system/postes
- => liste_deroulante
- => bib
- => chemin = profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque/_intitules
- => langue = 1
- => groupe
- => chemin = system/groupes-postes
- => langue = nom
- => bib
- => nom
- => 0
- => nom
- => langue = 0
- => nom
- => 1
- => bib
- => langue = 0
- => bib
- => 2
- => groupe
- => langue = 0
- => groupe
- => 3
- => IP
- => langue = 0
- => largeur = 100px
- => IP
- => 0
- => users
- => chemin = system/users
- => liste_deroulante
- => groupe
- => chemin = system/groupes-users
- => langue = nom
- => groupe
- => nom
- => 0
- => nom
- => langue = 0
- => nom
- => 1
- => mdp
- => langue = 0
- => mdp
- => 2
- => groupe
- => langue = 0
- => groupe
- => 0
- => bib
- => nbs_lignes = 10
- => titre_page = bib/admin/admin_securite/titre_page
- => ws_url_liste = bib_ws.php?module=admin/admin_securite/liste
- => ws_url_tete = bib_ws.php?module=admin/admin_securite/tete
- => _template
- => include_css
- => include_js
- => tmpl_barre_icones2 = bib/menus/barres_defaut.php
- => tmpl_barre_menus2 = bib/menus/menus_defaut.php
- => tmpl_javascript = bib/admin/admin_securite/javascript.php
- => tmpl_main = bib/admin/admin_securite.php
- => _droits
Une première explication:
- Au noeud "_droits", on voit que seuls les administrateurs y ont accès.
Quelques explications pour les paramètres:
- Au noeud "langues", on trouve la liste des langues supportées pour les traductions. Cette liste se retrouve dans la liste déroulante des langues au dessus à droite. Si on veut ajouter la gestion de la traduction d'une autre langue, c'est ici qu'il faut le faire.
- Au noeud "langue_defaut", on définit le code de la langue par défaut. Elle doit être reprise sous le noeud "langues".
- Au noeud "intitules_texte", on fait appel à la traduction d'une liste de mots. Le sous-noeud "chemin" définit le chemin dans le registre où elle se trouve. Le lien "bib/admin/securite" correspond à "profiles/defaut/langues/bib/admin/securite/_intitules" comme vu plus haut. Le sous-noeud "liste" rassemble les mots clé sous forme d'une liste de mots séparés par un espace.
- Les mots "action, code, langue et liste" sont fixés dans le code du script JavaScript. Ils personnalisent les labels.
- Les mots "liste et langue" correspondent aux labels devant les listes déroulantes de l'entête.
- Les mots 'code et action" correspondent à la première et la dernière colonne du tableau.
- Les mots 'debut, precedent, suivant et fin" sont fixés dans le code du script JavaScript. Ils personnalisent les quatre boutons de gestion de la partie affichée du tableau.
- Les mots "message1, message2 et message3" sont fixés dans le code du script JavaScript. Ils personnalisent les messages d'alerte.
- Le mot "VALEUR" est un mot réservé et est fixé dans le code du script JavaScript. Pour les sujet ne comportant pas de nom de champs, ce nom de champs est nommé "VALEUR". C'est le cas de toutes les listes se trouvant sous les noeuds "profiles/defaut/langues/listes/catalogue/catalogage/grilles"; par exemple, la liste des bibliothèques (noeud: "profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque").
- Les mots "users, postes, groupes-users et groupes-postes" correspondent aux quatre sous-noeuds en-dessous du noeud "listes". Leurs traductions se retrouvent dans la liste déroulante des sujets à traiter au-dessus à gauche. Si on modifie un de ces noms, il faut changer le nom correspondant au niveau des traductions et au niveau du noeud "listes". Si on voulait ajouter un sujet à traiter, il faut l'ajouter ici, dans les traductions et sous le noeud "listes".
- Les mots "anglais et francais" correspondent aux langues reprisent sous le noeud "langues". Leurs traductions se retrouvent dans la liste déroulante des langues au-dessus à droite. Si on veut ajouter une langue, il faut l'ajouter ici, ans les traductions et sous le noeud "langues".
- Les mots "nom, IP, bib, groupe et mdp" correspondent aux noms de colonnes des tableaux et doivent correspondre aux champs des données d'origine. Par exemple, pour les utilisateurs, le noeud dans le registre est "system/users". Les champs qu'on y trouvent sont "nom, groupe et mdp".
- Sous le noeud "listes", on retrouve la liste des éléments de sécurité à traiter ("postes", "users", "groupes-postes" et "groupes-users"). Ces intitulés peuvent être modifiés à volonté. La liste en sera adaptée. Tenez compte de la remarque faite au niveau du noeud "intitules_texte". (voir le second écran ci-dessous) Chacune de ces entrées possède trois attributs ("chemin", "nom" et "liste_deroulante").
- Le sous-noeud "chemin" définit le noeud dans le registre sous lequel on trouve les données à traiter.
- Le sous-noeud "nom" définit le nom des différents champs de cette liste à afficher et selon un ordre donné par un numéro le précédent. Par exemple, dans la liste "postes" dont le chemin dans le registre est "system/postes", le champs "bib" sera en seconde position et son entête sera "Bibliothèque" selon la traduction associée. (voir le troisième écran ci-dessous) L'ordre peut être changé via ces numéros. Sous ce noeud, le sous-noeud "langue" définit si la donnée associée supportera différentes langues ("1") (hors liste déroulante associée) ou non "0". La valeur "0" est majoritaire; il n'y a pas de sens de traduire un mot de passe (champs "mdp"). Par compte, le nom (champs "nom") des groupes est un descriptif; il sera traduit en plusieurs langues. On peut ajouter le sous-noeud "largeur", intéressant pour élargir ou réduire une zone d'entrée simple. Sa valeur être exprimée en "%" (exemple: 60%) ou en nombre de points (exemple: 500px). La seconde est à privilégier. On peut voir une utilisation au niveau de la gestion des postes à la colonne "IP". Sa largeur est réduite à 100 points.
- Le sous-noeud "liste_deroulante" définit quel champs de la liste est lié à une listes déroulante. Sous ce nom, on retrouve le "chemin" dans le registre où se trouve le contenu à afficher dans cette liste déroulante. On trouve également un noeud "langue". Si sa valeur vaut "0", cette liste est indépendant de la langue; sinon elle est liée à la langue de la liste déroulante du dessus. Si elle vaut "1", elle est directe; c'est le cas des bibliothèques (champs "bib"). Par contre, si les traductions ne sont pas directes, on nomme le noeud du champs intermédiaire; c'est le cas des groupes de postes ou d'utilisateurs où nous avons le noeud "nom" entre les deux. S'il n'y a pas de nom de champs, sa valeur est dénommée "VALEUR". C'est le cas de toutes les listes se trouvant sous les noeuds "profiles/defaut/langues/listes/catalogue/catalogage/grilles"; par exemple, la liste des bibliothèques (noeud: "profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque"). (voir exemple)
- Au noeud "nbs_lignes", on définit le nombre d'enregistrements affichés dans le tableau.
- Au noeud "ws_url_tete", on définit l'URL d'accès au Web Service gérant les listes déroulantes du dessus.
- Au noeud "ws_url_liste", on définit l'URL d'accès au Web Service gérant le tableau du dessous.
Aux sujets de base pour cet article, le cas de la liste des bibliothèques a été ajouté pour l'exemple.
Note: Si on veut ajouter un champs, il n'est pas nécessaire de préremplir dans le registre les enregistrements concernés. Il faut évidemment configurer les paramètres de la page. Dans l'écran, le tableau affichera des données manquantes. Lors du remplissage de ces zones, le champs correspondant se créera.
Pages de Web Service (BIB_WS)
La définition de la page d'accès aux deux Web Services est très simple. L'un concerne la récolte des données pour l'entête reprenant les listes déroulantes des sujets traités et des langues. La seconde rassemble les données du sujet courant pour la langue traitée qui vont être présentées sous forme de tableau. Ces entrées se retrouvent dans la définition des noeuds ("ws_url_tete" et "ws_url_liste) de la page d'entrée. Voici le noeud: et
profiles/defaut/pages/bib_ws/admin/admin_securite
Dont le contenu est:
- => admin_securite
- => liste
- => _page = bib_ws/admin/admin_securite_liste.php
- => tete
- => _page = bib_ws/admin/admin_securite_tete.php
- => liste
Aspect
Pour y accéder, une entrée dans le menu a été ajoutée à trois endroits. Quand vous allez dans l'écran de '"Administration" simple ou du "Registre" ou de la "Gestion des objets", une colonne intermédiaire "Sécurité" a été ajoutée au menu. Il donne accès à "Poste-Utilisateurs-Groupes".
Il donne accès à un écran dont le haut est pourvu d'une liste déroulante. Cette liste donne accès à la gestion de:
- Groupes des utilisateurs. (interface français, traduction anglaise)
- Groupes des postes. (interface français, traduction française)
- Utilisateurs. (interface anglais, traduction française)
Remarquez la liste déroulante pour le groupe. Elle fait référence aux groupes d'utilisateurs gérés ci-dessus.
- Postes. (interface français, traduction anglaise)
Remarquez ici aussi la liste déroulante pour le groupe. Elle fait référence aux groupes de postes gérés ci-dessus. Une seconde liste déroulante récupère la liste des bibliothèques définies dans les écrans de gestion des listes ("listes du catalogage" et "listes des lecteurs et prêts").
- Bibliothèques. (interface français, traduction française) (pour l'exemple)
Voici la partie spécifique des paramètres au niveau du noeud "listes". L'intitulé "bib" déjà est utilisé. Si la valeur du noeud "langue" valait "0", la valeur serait directement liée au code sans sous-noeud le langue (exemple: "_fr" et "_en"). Notons qu'il ne peut y avoir que le champs "VALEUR" défini.
- => listes
- => bib
- => chemin = profiles/defaut/langues/listes/catalogue/catalogage/grilles/exemplaire/bibliotheque/_intitules
- => nom
- => 0
- => VALEUR
- => langue = 1
- => VALEUR
- => 0
- => bib
Intégration dans le registre
Ces corrections sont à faire dans le registre. A ce stade, vous pouvez les personnaliser. Pour les appliquer, vous pouvez soit les intégrer dans l'écran d'importation au niveau de l'administration du registre, soit exécuter, en commande de ligne sous Linux, le script contenu dans le fichier zippé ci-dessous:
Télécharger le fichier ZIP
Ce fichier est à dézipper sous Linux dans un répertoire de travail quelconque sur la machine où se trouve les sources du site WEB de Waterbear:
unzip Securite.maj.registre.zip
Dans ce répertoire généré, se trouvent un sous-répertoire "registre" contenant les fichiers texte (.txt) où se trouvent les enregistrements à injecter dans le registre. Ce contenu a le format de celui utilisé dans l'interface d'exportation et d'importation de l'administration du registre de Waterbear. On trouve également un fichier de script PHP. Dans ce fichier, il faut adapter la variable "$racinewaterbear" qui doit contenir le chemin de la racine du logiciel WEB de Waterbear où on retrouve le fichier "bib.php". Par exemple, si ce chemin est "/web/waterbear" comme dans notre exemple d'installation, la variable devient (ne pas oublier la barre oblique finale "/"):
$racinewaterbear = "/web/waterbear/";
Ensuite, en commande de ligne sous Linux, positionnez-vous dans le répertoire du script et exécutez-le:
php ./maj.registre.liste.fichier.php