1# Pagesicon 2 3J'aime beaucoup DokuWiki, mais je l'ai toujours trouvé un peu triste : il manquait un moyen simple d'ajouter de belles icônes aux pages. 4Avec **pagesicon**, c'est maintenant possible. 5 6Le plugin peut : 7- afficher une icône en haut de la page (show) ; 8- utiliser cette icône comme favicon de l'onglet (show_as_favicon) ; 9- afficher une icône devant les liens internes wiki ; 10- proposer une page de gestion d'ïcone avec `?do=pagesicon` ; 11- gèrer les variantes `big` et `small` suivant le contexte. 12- exposer un helper (API réutilisable) pour les autres plugins. 13 14## Utilisation 15 16Depuis une page, utilisez l'action `Gerer l'icône` pour 17- importer une icône `big` ; 18- importer une icône `small` ; 19- supprimer l'icône actuelle. 20 21## Configuration 22 23Dans le gestionnaire de configuration : 24- `icon_name` : noms de fichiers candidats pour l'icône `big`, séparés par `;`, avec support de `~pagename~` 25- `icon_thumbnail_name` : noms de fichiers candidats pour l'icône `small`, séparés par `;`, avec support de `~pagename~` 26- `default_image` : image par défaut utilisée seulement quand une méthode helper demande explicitement un fallback 27- `icon_size` : taille de l'icône affichée en haut de page 28- `extensions` : extensions autorisées, par exemple `svg;png;jpg;jpeg` 29- `show_on_top` : affiche l'icône dans la page 30- `show_as_favicon` : utilise l'icône comme favicon 31- `parent_fallback` : permet d'utiliser l'icône du parent si la page n'en a pas 32- `link_icons` : affiche une icône devant les liens internes (`none` / `existing` / `all`) 33 34## Ce que le helper fournit 35 36Charger le helper : 37 38```php 39$pagesicon = plugin_load('helper', 'pagesicon'); 40``` 41 42Methodes principales : 43 44- `getPageIconId()` : retourne le mediaID de l'icône d'une page 45- `getMediaIconId()` : retourne le mediaID de l'icône associée à un média 46- `getPageIconUrl()` : retourne l'URL versionnée de l'icône d'une page 47- `getMediaIconUrl()` : retourne l'URL versionnée de l'icône associée à un média 48- `getDefaultIconUrl()` : retourne l'URL de l'image par défaut à utiliser quand aucune icône n'est trouvée 49- `getUploadIconPage()` : retourne l'URL de gestion d'icône pour une page 50- `getUploadMediaIconPage()` : retourne l'URL de gestion d'icône pour un média 51- `notifyIconUpdated()` : notifie les autres plugins qu'une icône a changé 52 53## Cache et integrations 54 55Quand une icône est modifiée, le plugin déclenche l'événement `PLUGIN_PAGESICON_UPDATED`. 56 57Cela permet aux autres plugins de recharger ou invalider leur propre cache si besoin. 58 59## Héritage d'icône 60 61Si aucune icône n'est trouvée sur la page, le plugin peut aussi : 62- ne rien hériter ; 63- utiliser l'icône du parent direct ; 64- utiliser la première icône trouvée en remontant les parents. 65