Administration de WikiNi
Besoins
Même si un wiki est un outil dont le contenu est autocontrôlé par le groupe, l'outil a besoin d'être administré pour faire face à de multiples problèmes qui dépassent la production de contenu collaboratif : style graphique, mise en page, gestion des utilisateurs, gestion fine des pages, vandalisme (rare), purge du site, etc.
Nous parlons ici d'administration fonctionnelle et non technique ; l'administrateur fonctionnel doit pouvoir réaliser ses opérations d'administration sans connaissances techniques, à partir de
WikiNi.
L'administration technique de
WikiNi fait l'objet d'une documentation spécifique :
DocumentationAdministrateurTechnique.
Tentative de liste exhaustive des besoins en matière d'administration fonctionnelle
- Gestion des utilisateurs
- Créer un groupe d'utilisateurs
- Voir un groupe d'utilisateurs
- Modifier un groupe d'utilisateurs
- Supprimer un groupe d'utilisateurs
- Voir les utilisateurs
- Supprimer un utilisateur
- Créer un utilisateur (OK)
- remettre à zéro le mot de passe d'un utilisateur
- Gérer les administrateurs
- Créer un administrateur
- Voir les administrateurs
- Supprimer un administrateur : uniquement accessible à l'admin en question (et à l'admin technique)
- Gérer les pages
- acquérir la propriété d'une page
- transmettre la propriété d'une page (ou d'un groupe de page)
- lire une page donnée (OK)
- modifier une page donnée (OK)
- purger les pages supprimées (pour les seuls administrateurs ?)
- supprimer une page de l'affichage mais pas dans la base (OK sauf que la page est réellement supprimée)
- renommer une page ? (y a-t'il vraiment un intérêt ?) (cf. RenommerUnePage)
- Gérer les commentaires
- lire les commentaires d'une page donnée
- ajouter un commentaire à une page donnée (OK)
- modifier un commentaire donné
- supprimer un commentaire donné (sans supprimer la page)
- Gérer les droits d'accès aux outils du sites
- modifier un droit particulier vis à vis d'un objet (cf. proposition de ProgFou)
- utiliser une action
- utiliser un handler ? attention, redondant avec certains autres droits comme le droit de modifier une page (handler edit)
- Gérer le style graphique du site
- modifier le code de la feuille de style
- uploader une feuille de style
- Gérer la "sécurité" du site ou l'accès global au site
- Gérer tout ou partie de la mise en page (attention, c'est une partie différente et indépendante du style)
- "navigation_links" => "DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur", [ texte inséré en haut de page
- gérer la totalité du menu du haut de la page (et pas seulement les "navigation_links")
- gérer le menu de bas de page ?
- gérer la signature (XHTML 1.0 valide ? :: CSS valide ? :: -- Fonctionne [...])
- Gérer la fonction de purge du site
- "referrers_purge_time" => "24", [ les referers sont supprimés au bout de 24 jours
- "pages_purge_time" => "90", [ les révisions sont supprimées au bout de 90 jours
- effectuer une purge manuelle
- Gérer les droits d'accès aux pages par défaut
- "default_write_acl" => "*", [ accès en écriture "*" => tous "+" => utilisateur identifié " " => seulement l'auteur
- "default_read_acl" => "*", [ accès en lecture
- "default_comment_acl" => "*", [ accès aux commentaires
- Gérer les paramètres de l'en-tête des pages (<head>)
- "meta_keywords" => " ", [ mots clés définissant le site, utilisés par les moteurs de recherche
- "meta_description" => " ", [ description du site, utilisé par les moteurs de recherche
- mais aussi d'autres paramètres listés dans ParametrerLeHeadDesDocumentsHTMLWikiNi
- Gérer la liste des LienInterWiki
- en ajouter
- en enlever
- envoyer une nouvelle version du fichier interwiki.conf
- complèter le fichier interwiki.conf à partir d'un autre fichier (par exemple pour conserver ceux qu'on a ajoutés soi-même tout en ajoutant ceux des nouvelles versions de WikiNi)
- Gérer la base de données
(cf. aussi
DocumentationFichierDeConfiguration)
(19/01/05) Je croix qu'il y a mélange dans la liste ci dessus entre les besoins Administration Technique qui gère le contenant (Gestion de la base, style, sécurité,...) et les besoins Administration Fonctionnelle qui gère le contenu (Gestion utilisateurs, des pages, commentaires,...). Peut etre faudrait il faire la distinction dans la liste et prévoir une
InterfaceDAdministrationWikiNi en deux parties suivant la nature de l'administrateur --
BasHaq
- Pour moi, je faisait le distinguo suivant : l'administrateur technique est celui qui a un accès technique total à WikiNi : compte et mot passe nécessaires à la publication des fichiers et à la création de la base de données utiles au fonctionnement de WikiNi. L'administrateur fonctionnel, lui, ne peut pas modifier wikini mais il peut réaliser des opérations aussi avancées que la sauvegarde ou autres ; toutes les opérations de l'admin fonctionnel sont réalisées à partir de WikiNi, à la différences de celles de l'admin technique. -- CharlesNepote
Parmi les valeurs de wakka.config.php, certaines sont strictement techniques et ne sauraient être modifiées sans risquer de casser le fonctionnement de l'outil. D'autres sont purement fonctionnelles.
Données techniques :
- "mysql_host" => "localhost",
- "mysql_database" => "wikini",
- "mysql_user" => "root",
- "mysql_password" => "xxx",
- "table_prefix" => "wikini_",
- "base_url" => "http://localhost/Wikini/wakka.php?wiki=",
- "rewrite_mode" => "0",
- "action_path" => "actions",
- "handler_path" => "handlers",
- "header_action" => "header", [ nom de l'action qui démarre chaque page
- "footer_action" => "footer", [ nom de l'action qui termine chaque page
- "wakka_version" => "0.1.1" PAS TOUCHE
Données fonctionnelles :
- "root_page" => "PagePrincipale",
- "wakka_name" => "Mon wiki",
- "navigation_links" => "DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur", [ texte inséré en haut de page
- "referrers_purge_time" => "24", [ les referers sont supprimés au bout de 24 jours
- "pages_purge_time" => "90", [ les révisions sont supprimées au bout de 90 jours
- "default_write_acl" => "*", [ accès en écriture "*" => tous "+" => utilisateur identifié " " => seulement l'auteur
- "default_read_acl" => "*", [ accès en lecture
- "default_comment_acl" => "*", [ accès aux commentaires
- "meta_keywords" => " ", [ mots clés définissant le site, utilisés par les moteurs de recherche
- "meta_description" => " ", [ description du site, utilisé par les moteurs de recherche
- "debug" => "no" (ou "yes") [ Si "YES" alors des informations de debuggage sont affichées en bas des pages
- "preview_before_save" => "0" [ cette variable indique si WikiNi force le rédacteur à voir le résultat d'une modification avant de la sauvegarder ; dans ce cas, cette option est désactivée ; pour l'activer, mettre la valeur "1"
Règles de base :
- il peut y avoir plusieurs administrateurs fonctionnels
Sachant qu'on veut également mettre en place des fonctionnalités par défaut :
- les utilisateurs faisant partie du groupe des administrateurs ont par défaut le droit de modifier tout droit particulier vis à vis d'un objet (règle positive : on ne peut pas leur dénier ce droit évitant ainsi à un administrateur de pouvoir devenir Kalife à la place du Kalife)
- les propriétaires respectifs des pages ont par défaut le droit de modifier tout droit concernant une page
N'hésitez pas à ajouter vos suggestions dans cette liste.
--
PatrickPaul,
DavidDelon,
GarfieldFr et
CharlesNepote (sous l'impulsion de
PatrickPaul)
Questions :
- faut-il qu'il existe nécessairement un admin fonctionnel ?
- l'admin technique est-il aussi forcément admin fonctionnel ?
- tous les administrateurs fonctionnels ont-ils tous les mêmes droits : par exemple, créer d'autres administrateurs fonctionnels
- un administrateur fonctionnel peut-il créer un autre administrateur fonctionnel : n'y a-t-il pas là un risque de sécurité ?
- un administrateur fonctionnel ne devrait-il pas avoir une session nécessairement temporaire ? (ou faire comme sur linxufr.org : afficher les sessions en cours)
- les fonctions d'administration doivent-elles être des actions ou des handlers ? si je regarde la liste des fonctionnalités il me semble que tout peut se faire via des actions
- fonctionnellement, où doit-on faire le contrôle que telle action ne peut être utilisée que par un admin : avant d'afficher l'action ou bien après la validation du formulaire ?
- techniquement, où doit-on faire le contrôle que telle action ne peut être utilisée que par un admin : dans l'action ou bien dans le noyau ?
- faut-il créer des droits à la carte ? tel admin à le droit d'accéder à tout ce groupe de fonction mais pas à celui-ci ; tel admin a le droit d'accéder à toutes les fonctions sauf celle-ci ; tel admin n'a le droit d'accéder qu'à la fonction de création d'utilisateur ; etc.
Création de l'administrateur fonctionnel
L'administrateur a accès à des fonctions qui, si elles sont mal utilisées, peuvent menacer la pérennité du site : suppression irréversible de données, etc. Il faut donc un moyen :
- de faire en sorte que l'accès à ces fonctions ne soit possible que pour des personnes identifiées et reconnues comme ayant ces droits
- de faire en sorte que le premier administrateur soit déclaré par l'administrateur technique