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