====== Syndication XML ====== [[fr:DokuWiki]] rend disponible certaines de ses données sous la forme d'un flux XML à l’aide du fichier [[this>feed.php]]. Vous pouvez souscrire à ce dernier à l'aide d'un [[wpfr>Agrégateur|agrégateur]]. La fonctionnalité de syndication XML utilise la classe [[http://feedcreator.org/|Feed Creator]]. Elle fût implémentée grâce au code source d'origine de Kai Blankenhorn. ===== Options de Configuration/URL ===== La façon dont le flux est généré peut être influencée par divers paramètres de configuration. Lorsque feed.php est appelé sans aucun argument, il utilisera ces options pour créer le flux. Toutes les options peuvent également être remplacées par des paramètres passés dans l'URL. ==== Désactivation ==== Par défaut, le flux XML de DokuWiki est disponible, mais vous pouvez le désactiver via la configuration de désactivation des actions. * **Paramètre de configuration:** [[fr:config:disableactions]] * **Défaut:** XML Syndication (RSS) non coché ==== Liens ==== Chaque élément du flux créé aura un lien ; ce paramètre de configuration spécifie où ce lien pointe. * **Paramètre de configuration:** [[fr:config:rss_linkto]] * **Paramètre d'URL :** linkto * **Défaut:** diff * **Valeurs possibles :** ^ Valeur ^ Lien cible ^ | page | la page à partir de la révision | | current | révision la plus récente de la page (qui peut afficher une révision plus récente que 'page') | | rev | page affichant toutes les révisions de cette page | | diff | page montrant les différences des révisions | ==== Contenu du flux ==== Ce qui est affiché dans les corps des éléments du flux est contrôlé par cette option. * **Paramètre de configuration:** [[fr:config:rss_content]] * **Paramètre d'URL:** content * **Défaut:** abstract * **Valeurs possibles :** ^ Valeur ^ Contenu de l'élément ^ | abstract | texte simple, premier paragraphe ou plus | | diff | texte simple regroupant les diff unifiées | | htmldiff | diff en tant que tableau HTML | | html | le rendu de la pleine page en XHTML | ==== Type de contenu ==== Contrôle si les médias sont inclus dans la liste des éléments du flux. * **Paramètre de configuration:** [[fr:config:rss_media]] * **Paramètre d'URL:** view * **Défaut:** both * **Valeurs possibles:** both, pages, media ^ Valeur ^ Contenu de l'élément ^ | both | liste pages et medias | | pages | liste seulement les pages et pas les médias | | media | liste uniquement les médias et pas les pages | ==== Format du flux ==== DokuWiki peut créer des flux XML dans plusieurs formats. * **Paramètre de configuration:** [[fr:config:rss_type]] * **Paramètre d'URL:** type * **Défaut:** rss1 * **Valeurs possibles:** ^ Valeur ^ Format du flux ^ | rss | RSS 0.91 | | rss1 | RSS 1.0 | | rss2 | RSS 2.0 | | atom | ATOM 0.3 | | atom1 | ATOM 1.0 | ==== Mode Liste ==== feed.php peut être utilisé pour exporter une liste de changements récents (par défaut) mais peut aussi être utilisé pour d'autres listes. * **Paramètre de configuration:** aucun * **Paramètre d'URL:** aucun * **Défaut:** recent * **Valeurs possibles:** ^ Valeur ^ Mode Liste ^ | recent | liste les entrées les plus récentes du journal des modifications avec la plus récente en haut (cela correspond à la page [[fr:recent_changes|derniers changements]] du wiki) | | list | il suffit de lister toutes les pages d'un espace de noms (voir ci-dessous pour choisir lesquelles) | | search | liste les pages de la liste correspondant à une requête de recherche donnée par un paramètre supplémentaire ''q''. | ==== Filtre d'espaces de noms ==== Le flux peut être limité aux pages d'un certain espace de noms seulement. * **Paramètre de configuration:** aucun * **Paramètre d'URL:** ns * **Défaut:** * * **Valeurs possibles:** tout espace de noms valide Dans l'option ''list'' de [[#Mode Liste]], le flux contiendra uniquement les pages de l'espace de noms donné, pas ceux de ses sous-espaces de noms. Dans l'option ''recent'' de [[#Mode Liste]], les sous espaces de noms sont inclus. La limitation de l'espace de noms n'est pas directement prise en charge pour la recherche dans le mode [[#Mode Liste]]. Au lieu de cela, vous pouvez donner une limitation d'espace de noms dans la requête (en utilisant la syntaxe ''@'') -- ceci cependant **inclura** les sous-espaces de noms. ==== Tri des éléments ==== Le tri des pages listées dans le flux peut être modifié ([[#Mode Liste]], option ''list'' seulement) * **Paramètre de configuration:** aucun * **Paramètre d'URL:** sort * **Défaut:** natural * **Options possibles:** date, natural N'affecte que l'option "list" de [[#Mode Liste]] . Le tri naturel n'est que l'ordre des pages stockées. Dans l'option ''recent'' de [[#Mode Liste]], les pages sont toujours ordonnées par date, comme son nom le suggère. ==== Limites des éléments ==== Le nombre maximum de pages listées dans le flux peut également être contrôlé. * **Paramètre de configuration:** [[fr:config:recent]] * **Paramètre d'URL:** num * **Défaut:** [[fr:config:recent]] * **Valeurs possibles:** tout nombre entier Note: Le nombre réel d'articles retournés dans le flux sera également limité par le nombre d'articles qui répondent aux critères du flux. ==== Inclusion des modifications mineures ==== Par défaut, aucune modification mineure ne sera affichée dans le flux. Ceci peut être modifié par un argument d'URL. * **Paramètre de configuration:** aucun * **Paramètre d'URL:** minor * **Défaut:** 0 * **Valeurs possibles:** 0 ou 1 ==== Afficher uniquement les nouveaux articles ==== [[fr:devel:develonly| réservé aux développeurs !]] Permet d'éditer uniquement les éléments nouvellement créés. * **Paramètre de configuration:** aucun * **Paramètre d'URL:** only_new * **Défaut:** 0 * **Valeurs possibles:** 0 or 1 ==== Mise en cache ==== Les flux XML sont mis en cache pour réduire la charge sur le wiki. Cette option contrôle la durée de validité des caches de flux. * **Paramètre de configuration:** [[fr:config:rss_update]] * **Paramètre d'URL:** aucun * **Défaut:** 5*60 * **Valeurs possibles:** temps en secondes ==== Résumés ==== Le [[fr:summary|résumé]] du changement d'une page change est généralement inclus dans le titre de l'élément du flux. Cela peut parfois être non désiré et peut être désactivé. * **Paramètre de configuration** [[fr:config:rss_show_summary]] * **Paramètre d'URL:** aucun * **Défaut:** 1 * **Valeurs possible:** 0 ou 1 ===== Exemples ===== * ''%%http://example.com/dokuwiki/feed.php?type=rss2&num=5%%'' retourne un flux [[wikipedia>RSS|RSS 2.0]] des 5 derniers changements récents * ''%%http://example.com/dokuwiki/feed.php?mode=list&type=atom&linkto=page&ns=wiki%%'' liste toutes les pages dans l'espace de noms "wiki" en flux [[wikipedia>Atom (standard)|ATOM 0.3]] avec tous les éléments liés directement aux pages de l'espace de noms ===== Flux et ACLs ===== Lorsque les ACL sont activées, les pages restreintes en lecture ne seront pas incluses dans les flux publics. Si vous voulez accéder aux flux pour les pages restreintes, vous devez passer votre nom d'utilisateur et votre mot de passe dans l'URL comme ceci : %%''http://example.com/dokuwiki/feed.php?u=username&p=password''%%. :!: Ceci n'est pas très sûr et peut conduire à la fuite de vos identifiants d'utilisateur. Quand DokuWiki s'exécute au dessus de ''mod_php'' en passant les informations d'identification via HTTP Basic Auth comme supporté par certains lecteurs de flux, cela pourrait tout aussi bien fonctionner. ==== Démarche avec .htusers ==== Pour ma configuration (dokuwiki 2008-05-05 et [[http://liferea.sourceforge.net/|Liferea]]), l'approche HTTP Basic Auth n'a pas fonctionnée. Il semble que l'authentification ne se produisait pas parce que le serveur web ne l'a pas demandée. J'ai donc forcé cela en créant un fichier.htusers (à partir des informations de l'utilisateur dokuwiki) et en limitant l'accès à feed.php : J'ai utilisé le script suivant pour générer un fichier htusers (utilisé par apache) à partir des données utilisateur de DokuWiki: user@host# cat < update_htusers #!/bin/sh grep -v '^#' users.auth.php | cut -sd\: -f1,2 > .htusers EOF user@host# chmod +x update_htusers user@host# ./update_htusers Ajout au fichier .htaccess existant dans le répertoire principal de DokuWiki: AuthType Basic AuthName "feed" AuthUserFile path-to-your-htusers-file Order deny,allow require valid-user ===== Voir aussi ===== * [[fr:rss|Agrégation des flux RSS/ATOM]] pour ajouter des flux externes à vos pages DokuWiki * L'extension [[plugin:feed|feed]] pour plus de possibilités d'export via RSS des articles de l'extension [[plugin:blog]] * [[tips:blogging#feed_setup|Astuces de mise en place de flux]] pour bloguer avec DokuWiki (en anglais) * Autres extensions avec le [[https://www.dokuwiki.org/plugins?plugintag=feed#extension__table|label feed]] ===== Crédits ===== --- //[[philippe@bdsemin.com|Philippe LAPEYRIE]] 2006-05-22 18:28//\\ Mise à jour: --- [[user>Digitalin|Digitalin]] //2018-05-09 14:40//