libreavous/squelettes/inc-rss-item-audios.html
Frédéric Couchet f8b1597fd5 Fichier pour créer un flux RSS avec uniquement les audios.
Notamment pour https://podmust.com/podcast/libre-a-vous

Podmust ne sait pas gérer les flux RSS mixte, il faut un flux
qui contient que des items de type audio.
2024-05-29 18:45:55 +02:00

121 lines
7.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[(#REM) Fred : On fait une boucle sur la liste des articles des rubriques Emissions (rubrique n°1)
On utilise le filtre statut=publie pour traiter les articles mis au statut « Publié en ligne » même
si la date de publication de l'article est dans le futur. Cela concerne l'émission à venir.
]
<BOUCLE_un_article(ARTICLES){id_article}{id_rubrique IN 1}{statut=publie}>
[(#ID_RUBRIQUE|=={8}|oui)
<item>
<title>[(#TITRE|texte_backend)]</title>
<guid isPermaLink="false">[(#URL_ARTICLE|url_absolue)]</guid>
<pubDate>[(#DATE|date_822)]</pubDate>
[(#CONFIG{syndication_integrale}|=={oui}|?{' ',''})<content:encoded>[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend)
]
[&lt;div class='rss_texte'&gt;(#TEXTE|
image_reduire{500,0}|texte_backend)&lt;/div&gt;
][&lt;div class="hyperlien"&gt;<:voir_en_ligne|html2unicode:> : &lt;a href="(#URL_SITE)" class="spip_out"&gt;[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]}|texte_backend)]&lt;/a&gt;&lt;/div&gt;
][&lt;hr /&gt;
&lt;div class='rss_notes'&gt;(#NOTES|texte_backend)&lt;/div&gt;
][&lt;div class='rss_ps'&gt;(#PS|texte_backend)&lt;/div&gt;]
</content:encoded>
]
</item>
]
[(#ID_RUBRIQUE|=={1}|oui)
[(#PODCAST_DUREE|oui)
<item>
<title>[#(#TITRE|texte_backend)]</title>
<guid isPermaLink="false">[(#URL_ARTICLE|url_absolue)]</guid>
[(#REM) Fred : Pour les podcasts importés on utilise pour le champ pubdate le champ DRUPAL_PUBDATE ce qui permet
d'éviter que les podcasts apparaissent comme nouveaux lors de la bascule du flux RSS april.org vers le
flux RSS libreavous.org ]
[(#DRUPAL_PUBDATE|choixsivide{<pubDate>[(#DATE|date_822)]</pubDate>,<pubDate>#DRUPAL_PUBDATE</pubDate>})]
[(#REM) Fred : On utilise un test sur le champ PODCAST_DUREE, si ce champ est rempli c'est que les fichiers audios
sont disponibles et donc on ajoute les champs enclosure et duration ]
[(#PODCAST_DUREE|choixsivide{"",<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#PODCAST_CODE)]/libre-a-vous-[(#PODCAST_CODE)].ogg" length="0" type="audio/ogg"/>
<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#PODCAST_CODE)]/libre-a-vous-[(#PODCAST_CODE)].mp3" length="0" type="audio/mpeg"/>
<itunes:duration>[(#PODCAST_DUREE|libreavous_remove_microseconds)]</itunes:duration>})]
[(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})]
[(#ENV{date}|>{#GET{debut_emission}}|oui)<link>[(#URL_ARTICLE|url_absolue)]</link>]
[(#REM) Fred : sans cette ligne il y a avait un bug d'affichage RSS lors de l'ajout d'une actu]
<description>[(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)][(#PODCAST_DUREE|oui)&lt;p&gt;Pour retrouver toutes les informations concernant l'émission, &lt;a href="[(#URL_ARTICLE|url_absolue)]"&gt;rendez-vous sur la page dédiée&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Sur cette page, vous pouvez commenter les émissions, nous faire des retours pour nous améliorer, ou encore des suggestions. Et même mettre une note sur 5 étoiles si vous le souhaitez.&lt;/p&gt;&lt;p&gt; Il est important pour nous davoir vos retours car, contrairement par exemple à une conférence, nous navons pas un public en face de nous qui peut réagir.&lt;/p&gt;&lt;p&gt;Pour connaître les nouvelles concernant lémission (annonce des podcasts, des émissions à venir, ainsi que des bonus et des annonces en avant-première) &lt;a href="https://www.libreavous.org/contact"&gt;inscrivez-vous à la lettre dactus&lt;/a&gt;.&lt;/p&gt;]</description>
</item>
]
]
[(#REM) Fred : on met dans une variable la valeur de DATE qui correspond à la date de publication de l'article,
utilisé dans le champ pubdate ci-dessus. On doit sauvegarder cette valeur car ensuite dans la boucle sur les
chapitres ci-dessous #DATE aurait pour valeur la date du jour ]
#SET{date_emission,#DATE}
</BOUCLE_un_article>
[(#REM) Fred : Après l'affichage de l'item concernant l'émission et donc le podcast complet, on passe aux sujets
individuels, qui sont dans des chapitres de l'article de l'émission ]
<BOUCLE_chapitres(CHAPITRES){id_article}>
[(#REM) Fred : on fait un test sur le champ OGG, si ce champ est rempli c'est que le fichier podcast du sujet
est disponible ]
<BOUCLE_test(CONDITION){si #OGG|!={""}}>
<item>
<title>[(#TITRE|texte_backend)]</title>
<link>[(#URL_ARTICLE|url_absolue)]</link>
[(#REM) Fred : Pour les podcasts importés on utilise pour le champ pubdate le champ DRUPAL_PUBDATE ce qui permet
d'éviter que les podcasts apparaissent comme nouveaux lors de la bascule du flux RSS april.org vers le
flux RSS libreavous.org.
Pour les podcasts disponibles après l'import initial on utilise la variable date_emission qui contient la date
de publication de l'article de l'émission]
[(#DRUPAL_PUBDATE|choixsivide{<pubDate>[(#GET{date_emission}|date_822)]</pubDate>,<pubDate>#DRUPAL_PUBDATE</pubDate>})]
[(#REM) Fred : Pour les podcasts importés on utilise pour le champ guid le champ DRUPAL_GUID ce qui permet
d'éviter que les podcasts apparaissent comme nouveaux lors de la bascule du flux RSS april.org vers le
flux RSS libreavous.org.
Pour les podcasts disponibles après l'import initial on utilise le champ URL_CHAPITRE pour le guid]
[(#DRUPAL_GUID|choixsivide{<guid isPermaLink="false">[(#URL_CHAPITRE|url_absolue)]</guid>,<guid isPermaLink="false">#DRUPAL_GUID</guid>})]
<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#CODE_PODCAST)]/libre-a-vous-[(#CODE_PODCAST)]-[(#CODE_FICHIER)].ogg" length="0" type="audio/ogg"/>
<enclosure url="https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/[(#CODE_PODCAST)]/libre-a-vous-[(#CODE_PODCAST)]-[(#CODE_FICHIER)].mp3" length="0" type="audio/mpeg"/>
[(#REM) Fred : dans les chapitres il n'y a pas de champ de durée du podcast, donc on utilise une fonction pour calculer
la durée à partir des champs DEBUT et FIN. La fonction libreavous_duree_podcast étant définie dans libreavous_fonctions.php ]
[(#DEBUT|oui)[(#FIN|oui)<itunes:duration>[(#DEBUT|libreavous_duree_podcast{#FIN})]</itunes:duration>]]
[(#REM) Fred : On met dans le champ description à la fois les références du sujet et aussi le contenu du
champ DESCRIPTION_RSS qui est optionnel. Ce champ permet de mettre un éventuel commentaire concernant le
sujet individuel ]
<description>[(#DESCRIPTION_RSS|propre|texte_backend)] [(#REFERENCES_SUJET|choixsivide{"",Les références : [(#REFERENCES_SUJET|propre|texte_backend)]})]&lt;p&gt;Vous pouvez commenter les émissions, nous faire des retours pour nous améliorer, ou encore des suggestions. Et même mettre une note sur 5 étoiles si vous le souhaitez.&lt;/p&gt;&lt;p&gt; Il est important pour nous davoir vos retours car, contrairement par exemple à une conférence, nous navons pas un public en face de nous qui peut réagir.&lt;/p&gt; Pour cela, &lt;a href="[(#URL_ARTICLE|url_absolue)]"&gt;rendez-vous sur la page dédiée&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Pour connaître les nouvelles concernant lémission (annonce des podcasts, des émissions à venir, ainsi que des bonus et des annonces en avant-première) &lt;a href="https://www.libreavous.org/contact"&gt;inscrivez-vous à la lettre dactus&lt;/a&gt;.&lt;/p&gt;
[(#REM)
Le bloc qui suit diffuse la rubrique et les mots-cles
sous forme de "microformats"
]
[(#REM) Fred: A priori cette partie est inutile pour nous mais je l'ai laissé ]
<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
[&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory"&gt;(#TITRE|supprimer_tags|texte_backend)&lt;/a&gt;]
</BOUCLE_rubrique_mf><B_mots_mf>
/ <BOUCLE_mots_mf(MOTS){id_article}{", "}>
[&lt;a href="[(#URL_MOT|url_absolue)]" rel="tag"&gt;(#TITRE|texte_backend)&lt;/a&gt;]</BOUCLE_mots_mf>
</description>
</item>
</BOUCLE_test>
</BOUCLE_chapitres>