A Wiki in Doli capdoliwiki
| Réf | Intitulé | Cycle | Couverture | Verdict |
|---|---|---|---|---|
| Administration | ||||
| DWI-047 |
Page de configuration
Desktop
DétailsÉtapes: ouvrir la configuration du module (admin/setup.php), modifier une constante (ex. durée du verrou, largeur max des images, rétention corbeille) et enregistrer. Attendu: les constantes CAPDOLIWIKI_* sont persistées et prises en compte; aucune erreur à l'enregistrement. |
À tester | Partiel | Non testé |
| DWI-048 |
Page à propos (feedback, dons, stats)
Desktop
DétailsÉtapes: ouvrir la page à propos (admin/about.php); envoyer un message de feedback. Attendu: l'encart infos module (version, éditeur, licence, versions min Dolibarr/PHP), le formulaire de feedback, l'encart de don et les liens utiles s'affichent; l'envoi du feedback fonctionne (ou journalise l'erreur le cas échéant). |
À tester | Non couvert | Non testé |
| DWI-051 |
Données de démonstration refusées en production
Desktop
DétailsPrécondition: installation sans CAPDOLIWIKI_ALLOW_DEMO_DATA, MAIN_FEATURES_LEVEL inférieur à 2 et sans DEMO_INSTANCE. Étapes: tenter de générer puis de purger les données de démonstration. Attendu: les deux actions sont refusées avec un message ; aucune page ni aucun compte n'est créé ou supprimé. |
À tester | Partiel | Non testé |
| Corbeille | ||||
| DWI-041 |
Restauration depuis la corbeille
Desktop
DétailsPrécondition: une page en corbeille. Étapes: ouvrir la corbeille et restaurer la page. Attendu: la page revient à l'état publié et réapparaît dans l'arborescence; les champs de suppression sont réinitialisés. |
À tester | Partiel | Non testé |
| DWI-042 |
Suppression définitive (hard delete)
Desktop
DétailsPrécondition: une page en corbeille, utilisateur avec droit delete. Étapes: supprimer définitivement la page depuis la corbeille. Attendu: la page, toutes ses versions, ses verrous et son répertoire de fichiers sont supprimés définitivement; l'opération est journalisée. |
À tester | Partiel | Non testé |
| DWI-043 |
Page index non supprimable
Desktop
DétailsÉtapes: tenter de supprimer la page racine "index". Attendu: aucune action de suppression n'est proposée pour la page index; une tentative directe est refusée. La page d'accueil du wiki reste toujours disponible. |
À tester | Non couvert | Non testé |
| DWI-044 |
Purge automatique de la corbeille (cron)
Desktop
DétailsPrécondition: CAPDOLIWIKI_TRASH_RETENTION_DAYS > 0, une page en corbeille depuis plus longtemps que ce délai. Étapes: exécuter la tâche cron de purge (cron/purge_trash.php). Attendu: les pages en corbeille au-delà du délai de rétention sont supprimées définitivement; avec la valeur 0, aucune purge n'a lieu. |
À tester | Partiel | Non testé |
| Édition | ||||
| DWI-010 |
Éditeur WYSIWYG Milkdown
Desktop
DétailsÉtapes: ouvrir edit.php sur une page contenant du Markdown varié (titres, listes, gras, code). Attendu: l'éditeur Milkdown se charge et affiche le rendu WYSIWYG du Markdown; la saisie met à jour le champ caché wiki_content; l'enregistrement conserve le Markdown. |
À tester | Non couvert | Non testé |
| DWI-011 |
Barre d'outils de mise en forme
Desktop
DétailsÉtapes: dans l'éditeur, tester chaque bouton de la toolbar: gras, italique, titres, listes, lien, code, ligne horizontale, plein écran. Attendu: chaque bouton applique le formatage attendu sur la sélection ou à la position du curseur. |
À tester | Non couvert | Non testé |
| DWI-012 |
Sauvegarde automatique en brouillon (localStorage)
Desktop
DétailsÉtapes: modifier une page sans enregistrer, quitter/recharger la page d'édition. Attendu: un brouillon est sauvegardé périodiquement en localStorage; au retour, une proposition de restauration du brouillon est offerte; après enregistrement réel, le brouillon est effacé. |
À tester | Non couvert | Non testé |
| DWI-013 |
Raccourcis clavier et plein écran
Desktop
DétailsÉtapes: dans l'éditeur, tester Ctrl+S (enregistrer), Ctrl+Shift+F (plein écran), Échap (quitter le plein écran). Attendu: Ctrl+S soumet le formulaire; Ctrl+Shift+F bascule en plein écran; Échap en sort. |
À tester | Non couvert | Non testé |
| Export PDF | ||||
| DWI-045 |
Export PDF d'une page seule
Desktop
DétailsÉtapes: depuis une page, lancer l'export PDF de la page seule (export_pdf.php). Attendu: un PDF (TCPDF) est généré avec le titre et le contenu Markdown converti en HTML mis en forme; les images et la mise en page sont correctes. |
À tester | Partiel | Non testé |
| DWI-046 |
Export PDF d'une branche complète
Desktop
DétailsPrécondition: une page ayant des sous-pages. Étapes: lancer l'export PDF de la branche (page + sous-pages). Attendu: le PDF contient la page et toutes ses sous-pages collectées récursivement, dans l'ordre hiérarchique. |
À tester | Partiel | Non testé |
| Historique | ||||
| DWI-037 |
Création d'une version à chaque sauvegarde
Desktop
DétailsÉtapes: modifier une page et l'enregistrer plusieurs fois, éventuellement avec un commentaire de version. Attendu: chaque enregistrement crée une nouvelle entrée de version (numéro incrémenté); l'historique (history.php) liste toutes les versions avec auteur, date et commentaire. |
À tester | Partiel | Non testé |
| Images | ||||
| DWI-014 |
Coller une image (presse-papier)
Desktop
DétailsÉtapes: dans l'éditeur, coller une image depuis le presse-papier (capture d'écran). Attendu: l'image est uploadée via ajax/upload_image.php, redimensionnée côté serveur (GD) selon CAPDOLIWIKI_IMAGE_MAX_WIDTH et CAPDOLIWIKI_IMAGE_QUALITY, puis insérée dans le contenu; le fichier est rangé dans le répertoire de la page. |
À tester | Partiel | Non testé |
| DWI-015 |
Glisser-déposer d'une image
Desktop
DétailsÉtapes: glisser-déposer un fichier image dans l'éditeur. Attendu: même comportement que le collage (upload + redimensionnement + insertion), sans erreur. |
À tester | Non couvert | Non testé |
| DWI-016 |
Affichage sécurisé des images
Desktop
DétailsÉtapes: consulter une page contenant des images; vérifier l'URL de service des images (ajax/viewimage.php ou document.php). Attendu: les images s'affichent; l'accès au fichier respecte le contrôle de permission du wiki (pas d'accès direct sans droit de lecture). |
À tester | Partiel | Non testé |
| DWI-052 |
Pièces jointes d'une page
Desktop
DétailsÉtapes: ouvrir l'onglet Pièces jointes d'une page, envoyer un fichier, consulter la liste, supprimer le fichier (droit d'écriture). Attendu: le fichier est rangé dans le répertoire de la page et listé avec sa taille ; la suppression fonctionne avec le droit d'écriture ; les images collées dans l'éditeur apparaissent aussi dans cet onglet. |
À tester | Partiel | Non testé |
| DWI-053 |
Taille d'affichage d'une image collée
Desktop
DétailsÉtapes: coller une image dans l'éditeur ; dans la fenêtre qui s'ouvre, choisir originale, grande (800 px), moyenne (480 px) puis petite (160 px) sur quatre collages. Attendu: chaque image est insérée à la taille choisie et la garde après enregistrement ; en lecture, un clic l'affiche en plein écran. |
À tester | Non couvert | Non testé |
| Installation | ||||
| DWI-001 |
Activation du module
Desktop
DétailsPrécondition: module capDoliWiki non activé. Étapes: Accueil > Configuration > Modules/Applications, rechercher capDoliWiki, cliquer pour l'activer. Attendu: le module passe à l'état actif sans erreur; une entrée de menu "Wiki" apparaît; les tables llx_capdoliwiki_page, _page_version, _page_lock, _page_link et _categorie_capdoliwiki_page sont créées; une page racine "index" existe et n'est pas supprimable. |
À tester | Partiel | Non testé |
| DWI-002 |
Desactivation puis reactivation
Desktop
DétailsÉtapes: désactiver le module puis le réactiver. Attendu: aucune erreur; les pages existantes et leur historique sont conservés; les migrations (colonne content_plain, index FULLTEXT sur MySQL, backfill) se rejouent sans casse; la constante CAPDOLIWIKI_MODULE_VERSION reflète la version active. |
À tester | Non couvert | Non testé |
| Lecture / contenu riche | ||||
| DWI-021 |
Diagrammes Mermaid
Desktop
DétailsPrécondition: page avec un bloc ```mermaid (ex. flowchart). Étapes: consulter la page. Attendu: le bloc mermaid est remplacé par un SVG rendu; le chunk Mermaid (~3 Mo) est chargé dynamiquement uniquement si un diagramme est présent. |
À tester | Partiel | Non testé |
| DWI-022 |
Blocs callout (info/tip/warning/danger)
Desktop
DétailsPrécondition: page avec des blocs :::info, :::tip, :::warning, :::danger. Étapes: consulter la page. Attendu: chaque bloc est rendu en encart stylisé avec la couleur/icône correspondant au type. |
À tester | Non couvert | Non testé |
| DWI-023 |
Table des matières automatique
Desktop
DétailsPrécondition: page avec plusieurs titres (h2/h3). Étapes: consulter la page. Attendu: une table des matières est générée dans la sidebar sticky; les liens pointent vers les sections; comportement responsive correct. |
À tester | Non couvert | Non testé |
| DWI-024 |
Ancres cliquables et légendes d'images
Desktop
DétailsÉtapes: survoler un titre; consulter une image ayant un texte alternatif. Attendu: un lien d'ancre (#) apparaît au survol des titres et copie l'URL de la section; les images avec alt sont enveloppées dans figure/figcaption affichant la légende. |
À tester | Non couvert | Non testé |
| DWI-025 |
Lightbox et raccourcis de lecture
Desktop
DétailsÉtapes: cliquer sur une image; tester les raccourcis E (éditer), H (historique), flèches (navigation). Attendu: le clic ouvre l'image en lightbox (GLightbox, zoom); E ouvre l'édition, H l'historique, les flèches naviguent entre pages. |
À tester | Non couvert | Non testé |
| Liens inter-pages | ||||
| DWI-033 |
Backlinks affichés sur une page
Desktop
DétailsPrécondition: plusieurs pages pointant (via wikilink) vers la page cible C. Étapes: consulter la page C. Attendu: la liste des backlinks (pages qui référencent C) est affichée et chaque entrée est cliquable. |
À tester | Partiel | Non testé |
| DWI-034 |
Détection des pages orphelines
Desktop
DétailsPrécondition: au moins une page qu'aucune autre ne référence. Étapes: ouvrir la page de maintenance (maintenance.php). Attendu: la page orpheline apparaît dans la liste des pages orphelines; un message s'affiche s'il n'y en a aucune. |
À tester | Partiel | Non testé |
| DWI-036 |
Autocomplétion de pages
Desktop
DétailsÉtapes: dans l'éditeur, déclencher la recherche de page (ajax/pages_search.php) en saisissant quelques lettres du titre. Attendu: la liste des pages correspondantes est proposée; la sélection insère un wikilink correct vers la page choisie. |
À tester | Non couvert | Non testé |
| Maintenance | ||||
| DWI-049 |
Vue de maintenance du wiki
Desktop
DétailsÉtapes: ouvrir la page de maintenance (maintenance.php). Attendu: la page liste les pages orphelines et les wikilinks cassés, avec des liens cliquables vers les pages concernées; des messages dédiés s'affichent quand il n'y a ni orphelines ni liens cassés. |
À tester | Non couvert | Non testé |
| Navigation | ||||
| DWI-007 |
Affichage de l'arborescence
Desktop
DétailsÉtapes: ouvrir la page d'accueil du wiki (index.php) avec plusieurs pages parent/enfant. Attendu: l'arborescence hiérarchique s'affiche avec indentation par niveau; la page index apparaît; les dates de modification et auteurs sont corrects. |
À tester | Partiel | Non testé |
| DWI-009 |
Fil d'ariane (breadcrumb)
Desktop
DétailsPrécondition: une page imbriquée sur plusieurs niveaux. Étapes: ouvrir la page enfant la plus profonde (page.php). Attendu: le fil d'ariane affiche le chemin complet de la racine jusqu'à la page courante, chaque niveau étant cliquable. |
À tester | Partiel | Non testé |
| Permissions | ||||
| DWI-003 |
Lecture seule (droit read)
Desktop
DétailsPrécondition: utilisateur avec uniquement le droit "Lire les pages wiki". Étapes: ouvrir le wiki, consulter une page. Attendu: la consultation fonctionne; aucun bouton Créer/Modifier/Supprimer n'est proposé; l'accès direct à edit.php est refusé. |
À tester | Partiel | Non testé |
| DWI-004 |
Écriture (droit write)
Desktop
DétailsPrécondition: utilisateur avec droits read + write (sans delete). Étapes: créer une page, la modifier, l'enregistrer. Attendu: création et modification possibles; le bouton de suppression et l'accès à la corbeille restent indisponibles. |
À tester | Partiel | Non testé |
| DWI-005 |
Suppression et admin (droit delete)
Desktop
DétailsPrécondition: utilisateur avec droit delete. Étapes: supprimer une page, ouvrir la corbeille, forcer le déverrouillage d'une page verrouillée par un autre utilisateur. Attendu: accès à la corbeille, à la restauration, à la suppression définitive et au forçage de verrou. |
À tester | Partiel | Non testé |
| DWI-006 |
Accès refusé sans aucun droit
Desktop
DétailsPrécondition: utilisateur sans aucun droit capdoliwiki. Étapes: tenter d'ouvrir index.php du wiki. Attendu: accès refusé par restrictedArea (message d'erreur Dolibarr), pas de fuite de contenu. |
À tester | Non couvert | Non testé |
| Recherche | ||||
| DWI-028 |
Recherche sans résultat et termes accentués
Desktop
DétailsÉtapes: rechercher un terme introuvable; puis rechercher un mot accentué (ex. déploiement). Attendu: un message dédié "aucun résultat" s'affiche quand rien ne correspond; les termes accentués sont correctement trouvés et surlignés. |
À tester | Partiel | Non testé |
| Sécurité | ||||
| DWI-055 |
Liens d'action protégés contre les requêtes forgées (CSRF)
Desktop
DétailsÉtapes: inspecter les liens de suppression de la liste des pages et les liens de restauration et de suppression définitive de la corbeille ; rejouer une action sans jeton. Attendu: chaque lien porte le jeton de session ; une action soumise sans jeton valide est refusée. |
À tester | Partiel | Non testé |
| Tags | ||||
| DWI-029 |
Ajout de tags à une page
Desktop
DétailsÉtapes: éditer une page, renseigner des tags dans le champ dédié et/ou utiliser des #tags en ligne dans le contenu, enregistrer. Attendu: les tags saisis et les #tags détectés dans le contenu sont fusionnés puis associés à la page (catégories de type capdoliwiki_page); les tags s'affichent sur la fiche en lecture. |
À tester | Partiel | Non testé |
| DWI-030 |
Nuage de tags et filtrage par tag
Desktop
DétailsÉtapes: ouvrir la page des tags (tags.php); cliquer sur un tag. Attendu: un nuage de tags s'affiche avec les libellés existants; le clic sur un tag liste toutes les pages portant ce tag. |
À tester | Non couvert | Non testé |
| DWI-031 |
Autocomplétion des tags
Desktop
DétailsÉtapes: dans le champ de tags en édition, commencer à saisir quelques lettres. Attendu: l'autocomplétion (ajax/tags.php) propose les tags existants correspondants; la sélection ajoute le tag sans doublon. |
À tester | Non couvert | Non testé |
| Verrouillage | ||||
| DWI-018 |
Page verrouillée par un autre utilisateur
Desktop
DétailsPrécondition: page ouverte en édition par l'utilisateur A. Étapes: l'utilisateur B tente d'éditer la même page. Attendu: B est averti que la page est verrouillée par A et ne peut pas écraser; il peut consulter en lecture. |
À tester | Partiel | Non testé |
| DWI-019 |
Forçage du déverrouillage par un admin
Desktop
DétailsPrécondition: page verrouillée par un autre utilisateur. Étapes: un utilisateur avec droit delete force le déverrouillage. Attendu: le verrou est supprimé; l'admin peut éditer; une trace est journalisée (dol_syslog). |
À tester | Partiel | Non testé |