Structure et exigences du format RSS 2.0 pour les podcasts
Le format RSS 2.0 constitue la base technique de la syndication de podcasts. Pour qu'un flux soit valide, il doit respecter une structure XML stricte et standardisée. L'analyse d'un flux commence par la validation de ses éléments fondamentaux.
La racine du document doit obligatoirement être <rss>. De plus, l'attribut version de cette balise <rss> doit être défini sur "2.0". Si le flux contient une déclaration DOCTYPE, l'outil affiche l'erreur « Supprimez la déclaration DOCTYPE avant de vérifier ce flux. ». Si le XML est mal formé, le message « Corrigez le XML mal formé, puis relancez la validation. » s'affiche.
Au niveau de la structure interne, le flux RSS doit contenir exactement un enfant direct <channel>. Si cette condition n'est pas remplie, l'outil signale le nombre de canaux trouvés. Ce canal doit lui-même contenir au moins un épisode pour que le flux soit considéré comme valide.
Exigences spécifiques pour Apple Podcasts
Les plateformes de diffusion, en particulier Apple Podcasts, imposent des règles strictes pour l'indexation et l'affichage correct des émissions. L'espace de noms (namespace) Apple Podcasts doit être explicitement déclaré sur la balise <rss>.
Plusieurs champs spécifiques au canal et aux épisodes sont analysés:
- Champs obligatoires: L'absence d'un champ requis génère l'erreur « Ajoutez le champ obligatoire
‹field›. ». - Liens et images: Les liens du canal et des épisodes doivent être des URL absolues. Si un lien est invalide, l'erreur «
‹field›doit être une URL HTTP ou HTTPS complète. » apparaît. Pour les visuels, l'erreur « Attribuez à href de itunes:image une URL HTTP ou HTTPS complète. » est déclenchée si le format n'est pas respecté. - Catégories: La catégorisation de l'émission requiert une syntaxe précise. L'erreur « Ajoutez à itunes:category un attribut text non vide. » s'affiche si cet attribut est manquant ou vide.
- Contenu explicite: La balise
<itunes:explicit>doit être configurée de manière binaire. Il faut définir<itunes:explicit>sur "true" ou "false". - Émissions en série: Pour les podcasts configurés avec le type « serial », un suivi strict de l'ordre est requis. Les podcasts de type « serial » doivent fournir un entier positif dans
<itunes:episode>pour chaque épisode.
Validation des pièces jointes audio (enclosures)
La balise <enclosure> associe le fichier média à l'épisode. Chaque épisode doit comporter exactement un seul élément <enclosure>. Si plusieurs balises sont présentes, l'outil affiche l'erreur « Ne gardez qu’un seul <enclosure> dans cet épisode; ‹count› trouvé(s). ».
L'outil valide les attributs de chaque pièce jointe sans télécharger ni décoder le fichier audio sous-jacent:
- Attributs requis: Si un attribut essentiel manque, l'outil affiche « Ajoutez l’attribut
‹attribute›requis à <enclosure>. ». - URL du média: L'URL pointant vers le fichier doit être valide, sous peine de déclencher l'erreur « Attribuez à url de <enclosure> une URL HTTP ou HTTPS complète. ».
- Taille du fichier: L'attribut
lengthdoit indiquer un nombre entier d'octets. Si la valeur est égale à 0, l'avertissement « L’attribut length de <enclosure> vaut 0. Vérifiez le nombre réel d’octets avant la publication. » est généré. - Type MIME: Le flux doit utiliser un type MIME valide comme audio/mpeg. Si le type MIME n'est pas de nature audio, l'outil affiche l'avertissement « Cet <enclosure> n’est pas identifié comme audio. Vérifiez qu’il s’agit bien d’un épisode vidéo ou d’un document. ».
- Cohérence du fichier: L'outil compare l'extension du fichier dans l'URL avec le type MIME déclaré. En cas de divergence, l'avertissement « Le nom du fichier multimédia et le type MIME ne correspondent pas (
‹extension›contre‹mime›). » est émis.
Gestion des dates et des identifiants uniques
La gestion temporelle et l'identification des épisodes sont cruciales pour la distribution sur les plateformes de lecture.
Formatage des dates (RFC 2822)
Les dates de publication doivent respecter la norme RFC 2822 pour permettre aux applications de classer les épisodes. L'absence de date génère l'avertissement « Ajoutez <pubDate> afin que les applications de podcast puissent ordonner et publier cet épisode de manière fiable. ».
Une date invalide ou mal formatée déclenche l'erreur « Utilisez une date RFC 2822 avec une date calendaire réelle et un fuseau horaire, par exemple: Sat, 01 Apr 2023 19:00:00 +0000. ». De plus, bien que certains fuseaux horaires nommés soient tolérés, ils nuisent à la portabilité du flux. L'outil affiche alors l'avertissement « Ce fuseau horaire nommé est accepté mais moins portable; préférez un décalage numérique tel que +0000. ».
Unicité et limites du flux
Pour éviter les conflits de distribution et les dysfonctionnements dans les files d'attente des auditeurs, deux éléments ne doivent jamais être dupliqués:
- Les URL de médias: L'erreur « Cette URL de pièce jointe répète la valeur à la ligne
‹first›. » est signalée en cas de doublon. - Les GUID (identifiants uniques globaux): L'erreur « Ce GUID répète la valeur à la ligne
‹first›. » s'affiche si un identifiant est réutilisé.
Concernant le volume de données, un flux comportant un trop grand nombre d'épisodes peut subir des restrictions d'affichage. Si le flux dépasse le seuil standard, l'outil émet l'avertissement « Ce flux comporte ‹count› épisodes; Apple Podcasts n’affiche que les 2 000 plus récents. ».
Fonctionnement du diagnostic et confidentialité
Le traitement de votre fichier XML s'effectue localement. Votre flux de podcast est vérifié dans votre navigateur. BroBroGo ne téléverse ni n’enregistre rien, garantissant ainsi la confidentialité de vos données de travail.
L'outil accepte un fichier XML RSS de podcast en entrée d'une taille maximale de 500 000 caractères. Si le traitement dépasse les limites de temps de calcul du navigateur, le message « La validation a pris trop de temps. Essayez avec un flux plus court. » s'affiche. En cas d'échec critique du processus, le message « La validation n’a pas pu aboutir. » est renvoyé. Si l'utilisateur tente de lancer une analyse sans coller de texte, l'outil affiche « Collez le XML RSS du podcast avant de valider. ».
Une fois l'analyse terminée, l'interface affiche le titre « Diagnostic du flux ». Les résultats indiquent de manière synthétique le nombre d'épisodes trouvés, ainsi que le cumul des anomalies sous la forme « ‹errors› erreurs et ‹warnings› avertissements trouvés ». Si le flux respecte l'ensemble des règles statiques, le message « Aucun problème structurel trouvé » s'affiche.
Pour chaque anomalie détectée, l'outil fournit des repères précis pour faciliter la correction:
- L'emplacement exact: « Ligne
‹line›, colonne‹column›». - Le chemin XPath de l'élément concerné: « Corriger:
‹path›». - Un lien de navigation directe: « Aller à
‹path›à la ligne‹line›». - En cas de liste d'erreurs trop volumineuse, l'interface indique: « Affichage des premiers
‹shown›des‹total›problèmes. ». - Les informations brutes du moteur d'analyse sont également disponibles via la mention « Détail du parseur:
‹detail›».
Il convient de noter qu'une validation réussie confirme uniquement la conformité du code XML aux règles statiques testées. Elle ne garantit pas qu'un annuaire ou une plateforme de diffusion acceptera ou publiera le flux, car ces derniers effectuent des contrôles dynamiques et réseau propriétaires lors de la soumission.
FAQ
Que vérifie ce validateur RSS de podcast? Il vérifie que le XML RSS 2.0 est bien formé, que les champs RSS obligatoires et les champs de canal et d’épisode courants pour Apple Podcasts sont présents, ainsi que les attributs d’enclosure, les doublons et les dates RFC 2822.
Teste-t-il le fichier audio? Il vérifie l’URL et la longueur en octets de l’enclosure, son type MIME, les doublons et la cohérence entre le nom de fichier et le type. Il ne télécharge ni ne décode l’audio.
Un flux validé sera-t-il accepté partout? Non. Les applications de podcast peuvent appliquer d’autres règles et contrôles à distance. La validation indique seulement que le XML collé satisfait les contrôles statiques affichés ici; elle ne garantit pas qu’un annuaire l’acceptera ou le publiera.
Quelles sont les limites de taille pour l'analyse du flux? L'outil accepte de traiter des fichiers XML RSS de podcast contenant jusqu'à 500 000 caractères par test.