Créer une balise de découverte RSS, Atom ou JSON Feed
Choisissez RSS, saisissez https://example.com/feed.xml?lang=en&source=site et obtenez la balise de découverte avec le type correspondant, application/rss+xml, et l'esperluette écrite &. Les formats inconnus et les adresses non web sont refusés. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Type de flux
- Rss
- Adresse web
- https://example.com/feed.xml?lang=en&source=site
- Type MIME
- application/rss+xml
La découverte d’un flux fonctionne mieux lorsqu’une page indique clairement aux navigateurs, lecteurs et robots l’adresse de sa ressource de syndication. Ce générateur reçoit un type de flux et une URL absolue, choisit le type de média adapté, échappe les caractères susceptibles de rompre un attribut HTML et renvoie un élément link rel alternate complet, prêt pour la section head.
Choisissez le format correspondant au document publié
Une balise de découverte n’est utile que si son attribut type décrit fidèlement la ressource visée par l’URL. Le générateur associe ces choix à application/rss+xml, application/atom+xml et application/feed+json. Il ne consulte ni ne télécharge la destination : le format choisi doit donc correspondre au contenu réellement servi.
Une déclaration exacte permet aux lecteurs de déterminer s’ils savent traiter la ressource avant de la récupérer. Les noms inconnus sont refusés plutôt que devinés, car un type vraisemblable mais faux complique le diagnostic. Si votre site propose plusieurs formats, exécutez le générateur pour chaque adresse et placez tous les éléments obtenus dans head.
Chaque balise représentera alors une véritable variante qu’un client compatible pourra sélectionner.
Indiquez l’URL publique canonique du flux
Une adresse absolue convient mieux aux métadonnées de découverte : les copies de page, les documents en cache et les clients qui interprètent différemment l’URL de base continueront à viser la même ressource. Le générateur retire les espaces périphériques, vérifie que la valeur constitue une URL et refuse les schémas file, data ou javascript. Il conserve l’adresse fournie au lieu d’en réécrire silencieusement le chemin, la requête, le fragment, l’échappement ou la casse.
Les caractères spéciaux d’un attribut HTML sont encodés dans le balisage produit ; une esperluette de la chaîne de requête devient ainsi sûre sans modifier le champ url renvoyé. Cette validation confirme la forme et le schéma, pas la propriété, la disponibilité, le type de contenu, les redirections ni TLS. Testez séparément la ressource publiée et vérifiez qu’elle renvoie bien le flux attendu.
Insérez puis contrôlez l’élément généré
Copiez la balise renvoyée dans la section head de la page HTML dont vous souhaitez signaler le flux. Il omet volontairement title, car les données reçues ne contiennent que le format et l’adresse ; inventer une description serait moins pertinent que vous laisser choisir la langue et le libellé dans votre modèle. Si votre site possède plusieurs flux, par exemple un flux principal et des flux thématiques, créez un élément par URL et ajoutez des titres explicites dans votre application lorsque les utilisateurs doivent les distinguer.
Examinez le code source réellement livré après le déploiement, puisqu’un moteur de modèles ou une couche de sécurité peut transformer le balisage. Essayez ensuite la découverte avec au moins un lecteur et contrôlez les en-têtes de réponse.
Cas d’usage
Ajouter la découverte RSS à une publication
Générez l’élément head du flux RSS d’un blog ou d’un site d’actualités sans mémoriser son type de média.
Signaler une variante Atom
Produisez un balisage de découverte cohérent pour un flux Atom proposé avec d’autres formats de syndication.
Questions fréquentes
Quels types de flux sont pris en charge ?
Les valeurs acceptées sont rss, atom et json-feed. Toute autre valeur provoque une erreur de saisie incorrecte.
L’existence du flux est-elle vérifiée ?
Non. L’outil valide les données et construit le balisage sans effectuer de requête réseau.
Les caractères spéciaux de l’URL sont-ils sûrs ?
Oui. Les caractères réservés dans un attribut HTML sont échappés dans la balise, tandis que le champ url conserve la saisie sans espaces périphériques.
Mon site propose RSS et Atom. Combien de balises me faut-il ?
Une par flux. Lancez le générateur une fois par format et placez chaque balise obtenue dans l'en-tête de la page, afin que chaque lecteur choisisse la version qu'il comprend.
Que faut-il modifier quand mon flux change d'adresse ?
Mettez à jour à la fois la redirection de votre serveur et cette balise de découverte, pour que les nouveaux abonnés partent de l'adresse actuelle au lieu de dépendre durablement de la redirection.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/web/link-rel-alternate-build \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"feed_type":"rss","url":"https://example.com/feed.xml"}'const res = await fetch("https://api.kit.forhosting.com/web/link-rel-alternate-build", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"feed_type": "rss",
"url": "https://example.com/feed.xml"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/link-rel-alternate-build",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"feed_type": "rss",
"url": "https://example.com/feed.xml"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/link-rel-alternate-build", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"feed_type":"rss","url":"https://example.com/feed.xml"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"feed_type":"rss","url":"https://example.com/feed.xml"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/link-rel-alternate-build", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"feed_type": "rss",
"url": "https://example.com/feed.xml"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.link_rel_alternate_build",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Il prend en charge RSS, Atom et JSON Feed, tout en refusant les formats inconnus et les URL non web incorrectes.
Choisissez le format correspondant au document publié
Choisissez rss pour un document RSS en XML, atom pour un document Atom en XML ou json-feed pour un document JSON Feed. Elle évite également des erreurs fréquentes de copier-coller, par exemple annoncer un point d’accès Atom avec le type RSS ou présenter JSON Feed comme du JSON générique.
Indiquez l’URL publique canonique du flux
Saisissez une URL HTTP ou HTTPS absolue accessible au lecteur de flux d’un visiteur, par exemple https://example.com/feed.xml.
Insérez puis contrôlez l’élément généré
Le résultat emploie rel="alternate", le type de média propre au format et l’URL échappée comme href. L’outil du navigateur et l’API exécutent la même fonction déterministe : des entrées identiques produisent les mêmes champs et la même balise. Vos automatisations peuvent appeler l’API pour $0.002 par requête, tandis que l’usage interactif s’exécute localement dans le navigateur.
Cas d'intégration
Publier les métadonnées JSON Feed
Employez le type de média enregistré de JSON Feed dans un élément alternate correctement échappé.
Questions techniques
Quel est le prix d’une requête API ?
Chaque requête API coûte $0.002. La version pour navigateur s’exécute localement et gratuitement.
Pourquoi l’URL doit-elle être absolue ?
Une URL HTTP ou HTTPS absolue reste sans ambiguïté pour les lecteurs, quelle que soit la page ou l’URL de base où elle est découverte.