Merge branch 'master' of ssh://forge.april.org:222/siteweb/libreavous
This commit is contained in:
commit
8698f68571
@ -1,6 +1,3 @@
|
||||
[(#REM) squelette utilisé pour l'URL courte avec le numéro de l'émission (ex: .libreavous.org/85), voir la conf d'Apache du site
|
||||
récupère l'article à partir du champ surtitre, marche également pour les émissions spéciales (d'où le filtre |strtoupper sur le numéro)
|
||||
]#SET{numero,#ENV{numero}|strtoupper}
|
||||
<BOUCLE_accesdirect(ARTICLES){surtitre=#GET{numero}}>
|
||||
<INCLURE{fond=article}{id_article=#ID_ARTICLE}>
|
||||
</BOUCLE_accesdirect>
|
||||
]#CACHE{0}#SET{numero,#ENV{numero}|strtoupper}<BOUCLE_accesdirect(ARTICLES){surtitre=#GET{numero}}>[(#HTTP_HEADER{Location: /[(#URL_ARTICLE)]})]</BOUCLE_accesdirect>
|
||||
|
@ -1,30 +1,66 @@
|
||||
[(#REM) Fred : On fait une boucle sur la liste des articles des rubriques Emissions (rubrique n°1)
|
||||
et Actualités (rubrique n°8).
|
||||
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,8}{statut=publie}>
|
||||
<item>
|
||||
[(#REM) Fred : Si l'article concerne une émission on ajoute le # devant le titre ]
|
||||
[(#ID_RUBRIQUE|=={1}|oui)<title>[#(#TITRE|attribut_html|texte_backend)]</title>]
|
||||
|
||||
[(#REM) Fred : Si l'article concerne une actualité on met juste le titre ]
|
||||
[(#ID_RUBRIQUE|=={8}|oui)<title>[(#TITRE|attribut_html|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 ]
|
||||
[(#DRUPAL_PUBDATE|choixsivide{<pubDate>[(#DATE|date_822)]</pubDate>,<pubDate>#DRUPAL_PUBDATE</pubDate>})]
|
||||
[(#DRUPAL_GUID|non)[(#PODCAST_DUREE|oui)<guid isPermaLink="false">[(#URL_ARTICLE|url_absolue)]</guid>]]
|
||||
|
||||
[(#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 ]
|
||||
[(#DRUPAL_GUID|oui)<guid isPermaLink="false">#DRUPAL_GUID</guid>]
|
||||
|
||||
[(#REM) Fred : Pour les podcasts disponibles après l'import initial le champ DRUPAL_GUID est vide.
|
||||
On utilise un test sur le champ PODCAST_DUREE, si ce champ est rempli c'est que les fichiers audios
|
||||
sont disponibles. Dans ce cas, on utilise l'url de l'article comme guid ]
|
||||
[(#DRUPAL_GUID|non)[(#PODCAST_DUREE|oui)<guid isPermaLink="false">[(#URL_ARTICLE|url_absolue)]</guid>]]
|
||||
|
||||
[(#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>})]
|
||||
|
||||
[(#REM) Fred : En fonction de la date et de l'heure on n'affiche pas les mêmes informations.
|
||||
Si on est avant le début de l'émission, on affiche les champs PODCAST_SOMMAIRE et DESCRIPTION_RSS et on n'affiche pas
|
||||
un lien link (car l'article n'est pas encore accessible publiquement.
|
||||
|
||||
Si on est après l'émission on affiche le lien link qui renvoie vers la page de l'émission.
|
||||
|
||||
Si on est après l'émission *et* que le champ PODCAST_DUREE est rempli, cela signifie que les podcasts
|
||||
sont disponibles. On ajoute alors l'information sur le fait que les podcasts sont disponibles.
|
||||
|
||||
Cette partie est présente surtout pour les lecteurs de flux RSS classiques, comme Liferea par exemple,
|
||||
c'est à dire pas les lecteurs de podcasts. Ainsi, le lecteur de flux RSS mettra à jour l'article de l'émission et la
|
||||
personne saura que les podcasts sont disponibles et qu'en cliquant sur le lien elle y accédera ]
|
||||
|
||||
[(#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>]
|
||||
[(#ENV{date}|<={#GET{debut_emission}}|oui)<description>[(#DESCRIPTION_RSS|propre|texte_backend)] [(#PODCAST_SOMMAIRE|propre|texte_backend)]]
|
||||
[(#ENV{date}|>{#GET{debut_emission}}|oui)<description>[(#PODCAST_DUREE|oui)<p>Les podcasts de l'émission sont disponibles.</p>][(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)] <p>Pour retrouver toutes les informations concernant cette émission ainsi que les références citées, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a>.</p>]</description>
|
||||
[(#ENV{date}|>{#GET{debut_emission}}|oui)<description>[(#PODCAST_DUREE|oui)<p>Les podcasts de l'émission sont disponibles.</p>][(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)]<p>Pour retrouver toutes les informations concernant l'émission, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a>.</p>]</description>
|
||||
|
||||
[(#REM)
|
||||
Le bloc qui suit diffuse aussi le texte integral de l'article,
|
||||
ce qui permet une syndication plus riche (mais plus "lourde").
|
||||
Fonction desactivable depuis les reglages du site.
|
||||
][
|
||||
(#CONFIG{syndication_integrale}|=={oui}|?{' ',''})<content:encoded>[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend)
|
||||
]
|
||||
[(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})]
|
||||
]
|
||||
|
||||
[(#ENV{date}|>{#GET{debut_emission}}|oui)
|
||||
[<div class='rss_chapo'>[(#PODCAST_DUREE|oui)<p>Les podcasts de l'émission sont disponibles.</p>][(#DESCRIPTION_RSS|propre|texte_backend)](#PODCAST_SOMMAIRE|propre|texte_backend)<p>Pour retrouver toutes les informations concernant l'émission, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a>.</p></div>
|
||||
]
|
||||
[(#REM) Fred : On utilise la fonctionnalité d'affichage du texte intégral de l'article exclusivement pour
|
||||
les articles de type Actualités, dans la rubrique n°8 donc]
|
||||
|
||||
[(#ID_RUBRIQUE|=={8}|oui)
|
||||
[(#CONFIG{syndication_integrale}|=={oui}|?{' ',''})<content:encoded>[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend)
|
||||
]
|
||||
[<div class='rss_texte'>(#TEXTE|
|
||||
image_reduire{500,0}|texte_backend)</div>
|
||||
@ -34,34 +70,70 @@
|
||||
][<div class='rss_ps'>(#PS|texte_backend)</div>]
|
||||
</content:encoded>
|
||||
]
|
||||
]
|
||||
|
||||
[(#REM)
|
||||
Le bloc qui suit diffuse l'adresse des documents associes aux articles ;
|
||||
ajouter par ex. {extension=mp3} pour limiter a un certain type de document.
|
||||
] <BOUCLE_documents(DOCUMENTS){id_article}{mode=document}{doublons}>[
|
||||
]
|
||||
[(#REM) Fred: A priori cette partie est inutile pour nous mais je l'ai laissé ]
|
||||
<BOUCLE_documents(DOCUMENTS){id_article}{mode=document}{doublons}>[
|
||||
<enclosure url="(#URL_DOCUMENT|url_absolue|unique)"[ length="(#TAILLE)"][ type="(#MIME_TYPE)"] />]
|
||||
</BOUCLE_documents>
|
||||
|
||||
</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|attribut_html|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)]})]
|
||||
[(#REM)
|
||||
Le bloc qui suit diffuse la rubrique et les mots-cles
|
||||
sous forme de "microformats"
|
||||
|
||||
]<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
|
||||
]
|
||||
[(#REM) Fred: A priori cette partie est inutile pour nous mais je l'ai laissé ]
|
||||
|
||||
<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
|
||||
[<a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory">(#TITRE|supprimer_tags|texte_backend)</a>]
|
||||
</BOUCLE_rubrique_mf><B_mots_mf>
|
||||
/ <BOUCLE_mots_mf(MOTS){id_article}{", "}>
|
||||
@ -72,3 +144,4 @@
|
||||
</item>
|
||||
</BOUCLE_test>
|
||||
</BOUCLE_chapitres>
|
||||
|
||||
|
@ -4,8 +4,10 @@
|
||||
|
||||
<channel>
|
||||
<title>Libre à vous ! April et Cause Commune</title>
|
||||
<link>#URL_SITE_SPIP/</link>
|
||||
<atom:link href="#URL_SITE_SPIP/rss" rel="self" type="application/rss+xml" />
|
||||
<link>#URL_SITE_SPIP</link>
|
||||
[(#REM) Fred: J'ai mis ce lien explicite sinon le validateur https://validator.w3.org/feed/check.cgi
|
||||
indiquait une erreur "Self reference doesn't match document location" ]
|
||||
<atom:link href="https://www.libreavous.org/?page=podcasts" rel="self" type="application/rss+xml" />
|
||||
<description><p>Chaque mardi de 15 h 30 à 17 h 00, l'April, l'association de promotion et de défense du logiciel libre, propose une émission de radio d'explications et d'échanges concernant les dossiers politiques et juridiques que l'association traite et les actions qu'elle mène : <a href="https://april.org/libre-a-vous">Libre à vous !</a>. Une partie de l'émission est également consacrée aux actualités et actions de type sensibilisation. L'émission est diffusée sur radio Cause Commune sur la bande FM en Île-de-France (93.1) et <a href="https://cause-commune.fm">sur le site web de la radio</a>.</p><p>Donner à chacun et chacune, de manière simple et accessible les clefs pour comprendre les enjeux mais aussi proposer des moyens d'action, tel est l'objectif de l'émission.</p></description>
|
||||
<generator>SPIP - www.spip.net</generator>
|
||||
<itunes:category text="Technology"/>
|
||||
@ -21,16 +23,12 @@
|
||||
<image>
|
||||
<title>Libre à vous ! April et Cause Commune</title>
|
||||
<url>https://april.org/files/libre-a-vous/banniere-libre-a-vous-flux-rss-1400x1400.png</url>
|
||||
<link>#URL_SITE_SPIP/</link>
|
||||
<link>#URL_SITE_SPIP</link>
|
||||
</image>
|
||||
|
||||
<BOUCLE_10recents(ARTICLES) {lang ?}{branche ?}{id_mot ?}{id_auteur ?} {statut=publie} {par date}{inverse}{unique}>
|
||||
<BOUCLE_emissions(ARTICLES) {lang ?}{branche ?}{id_mot ?}{id_auteur ?} {statut=publie} {par date}{inverse}{unique}>
|
||||
<INCLURE{fond=inc-rss-item, id_article} />
|
||||
</BOUCLE_10recents>
|
||||
|
||||
<BOUCLE_tres_recents(ARTICLES){lang ?}{branche ?}{id_mot ?}{id_auteur ?} {statut=publie} {par date}{inverse}{age<3}{unique}>
|
||||
<INCLURE{fond=inc-rss-item, id_article} />
|
||||
</BOUCLE_tres_recents>
|
||||
</BOUCLE_emissions>
|
||||
|
||||
</channel>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user