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 31## Ce que le helper fournit 32 33Charger le helper : 34 35```php 36$pagesicon = plugin_load('helper', 'pagesicon'); 37``` 38 39Methodes principales : 40 41- `getPageIconId()` : retourne le mediaID de l'icône d'une page 42- `getMediaIconId()` : retourne le mediaID de l'icône associée à un média 43- `getPageIconUrl()` : retourne l'URL versionnée de l'icône d'une page 44- `getMediaIconUrl()` : retourne l'URL versionnée de l'icône associée à un média 45- `getDefaultIconUrl()` : retourne l'URL de l'image par défaut à utiliser quand aucune icône n'est trouvée 46- `getUploadIconPage()` : retourne l'URL de gestion d'icône pour une page 47- `getUploadMediaIconPage()` : retourne l'URL de gestion d'icône pour un média 48- `notifyIconUpdated()` : notifie les autres plugins qu'une icône a changé 49 50## Cache et integrations 51 52Quand une icône est modifiée, le plugin déclenche l'événement `PLUGIN_PAGESICON_UPDATED`. 53 54Cela permet aux autres plugins de recharger ou invalider leur propre cache si besoin. 55