# Widget Ghost ## 1. Code Injection (une seule fois) Dans **Ghost Admin → Settings → Code injection → Site Header**, coller tout le contenu de `ghost-inject.html`. Mettre à jour l'URL de l'API en haut du script : ```js var API_URL = 'https://torrent-api.monsite.com'; ``` --- ## 2. Utilisation dans les articles Dans l'éditeur Ghost, insérer un bloc **HTML** et coller l'un des snippets suivants. ### Layout compact (vertical) ```html
``` ### Layout large (horizontal, centré) ```html
``` ### Via lien magnet ```html
``` --- ## Attributs disponibles | Attribut | Requis | Description | |---|---|---| | `data-hash` | Oui* | Info hash hexadécimal (40 caractères) | | `data-magnet` | Oui* | Lien magnet complet | | `data-label` | Non | Titre affiché dans l'en-tête du widget | | `data-layout` | Non | `wide` pour le layout horizontal | *`data-hash` ou `data-magnet`, l'un des deux est obligatoire. --- ## Valeurs retournées ### Santé (`health`) | Valeur | Condition | |---|---| | `dead` | 0 seeder | | `poor` | ratio seeders/(seeders+leechers) < 20 % | | `good` | ratio ≥ 20 % | | `excellent` | ratio ≥ 50 % | ### Popularité (`popularity`) | Valeur | Total seeders + leechers | |---|---| | `low` | < 10 | | `moderate` | 10 – 99 | | `popular` | 100 – 999 | | `viral` | ≥ 1 000 | --- ## Cache et données périmées Le serveur met les résultats en cache 5 minutes. Si les trackers sont temporairement inaccessibles, le widget affiche les dernières données connues avec la mention *données en cache* dans le pied de page, plutôt qu'un message d'erreur. --- ## API publique JavaScript ```js // Rafraîchir tous les widgets de la page TorrentIndicator.refreshAll(); // Initialiser un élément spécifique TorrentIndicator.init(document.querySelector('.torrent-indicator')); ```