Add Widget Ghost

2026-03-08 01:42:56 +01:00
parent 52d78a6cf9
commit 2e7350c749

96
Widget-Ghost.md Normal file

@@ -0,0 +1,96 @@
# 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
<div class="torrent-indicator"
data-hash="3b245504cf5f11bbdbe1201cea6a6bf45aee1bc0"
data-label="Ubuntu 24.04 LTS"></div>
```
### Layout large (horizontal, centré)
```html
<div class="torrent-indicator"
data-hash="3b245504cf5f11bbdbe1201cea6a6bf45aee1bc0"
data-label="Ubuntu 24.04 LTS"
data-layout="wide"></div>
```
### Via lien magnet
```html
<div class="torrent-indicator"
data-magnet="magnet:?xt=urn:btih:3b245504cf5f11bbdbe1201cea6a6bf45aee1bc0&dn=ubuntu"
data-label="Ubuntu 24.04 LTS"
data-layout="wide"></div>
```
---
## 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'));
```