Files
FreshRSS/docs/fr/users/06_Fever_API.md
Frans de Jonge 705318aa39 Translate docs with po4a (#2590)
* [i18n] Add docs po4a script

* Add proof of concept

* Add a few more translations

* Hush ShellCheck and shfmt

* Make that list po4a-friendly

* drat, this document could've probably been auto-generated

* Definitive proof that it's translated from French ;-)

* Add some brand spanking new French translation

* More translation

* Mostly finish that config page

* Fix up FAQ

* More contributing

* Dev first steps

* Let's ignore that admin stuff at the very least for now

* Translate release new version, make French the source first and copy all translations

Then replace French with English in the source.

Much quicker than any alternative route.

* And add the English translation

* Minor stylistic leftover from French

* Most of first steps

* Forgot the extensions

* Use po4a 0.56 to get rid of way too many newlines

* Fix up those newlines

* No point linking to Firefox integration anymore from the new user guide

* Start on main view

* A bunch of main view stuff

* More main view

* And some subscriptions before going to bed

* First steps for devs

* More dev first steps

* Incomplete French → English dev/GH translation

Because I need to ask about that mailing list thing

* Fix typo in docs/en/developers/02_Github.md

* Translate & complete devs/github to English

* Fix up most of extensions

* Is that supposed to be a non-breaking space? Let's see

* Match up some users/mobile access

* More users/mobile access

* Add fresh French translation to Fever API

* Fix typo

* Match frontend todo thingies

* Fix a typo

* Some extensions strings

* Remove Fx subscription service from the docs

Cf. https://github.com/FreshRSS/FreshRSS/pull/2606

* Add translation for https://github.com/FreshRSS/FreshRSS/pull/2643

* fix typo as per https://github.com/FreshRSS/FreshRSS/pull/2643#discussion_r345433009

* Add some more French translations

* Update French translation as per @aledeg comment https://github.com/FreshRSS/FreshRSS/pull/2590#discussion_r345465909

* Translate some of the meaningless stuff

* Translate the rest of contributing.md to French

* Fix conflicts

* Translate Docker first steps to French

* Update with change from #2665

* Add @aledeg corrections

* Overlooked a couple @aledeg corrections thanks to GitHub autohide

* Latest @aledeg suggestions
2019-12-03 22:37:40 +01:00

5.0 KiB
Raw Blame History

FreshRSS - API compatible Fever

Voir la page sur notre API compatible Google Reader pour une autre possibilité et des généralités sur laccès par API.

Clients compatibles

De nombreux clients RSS prennent en charge l'API Fever, mais ils semblent comprendre l'API Fever un peu différemment. Si votre client préféré ne fonctionne pas correctement avec cette API, veuiller créer un ticket et nous y jetterons un oeil. Mais nous ne pouvons le faire que pour les clients gratuits.

Utilisation et authentification

Avant de pouvoir commencer à utiliser cette API, vvous devez activer et configurer l'accès à l'API, qui est documenté ici, et réinitialisez ensuite le mot de passe API de l'utilisateur.

Connectez ensuite votre application mobile en utilisant l'adresse de l'API (e.g. https://freshrss.example.net/api/fever.php).

Clients compatibles

Testé avec :

  • Android

  • iOS

    • Fiery Feeds (Propriétaire)
    • Unread (Commercial)
    • Reeder (Commercial) (Connectez-vous plutôt par son option Google Reader API)
  • MacOS

Fonctionnalités

Les fonctionnalités suivantes sont implémentées :

  • récupération des catégories
  • récupération des flux
  • récupération des entrées (new, favorites, unread, by_id, by_feed, by_category,since)
  • récupération des favicons
  • marquage des entrées comme lues
  • marquage des entrées comme favoris
  • marquage d'un flux comme lu
  • marquage d'une catégorie comme lue
  • support des extensions grace au hook entry_before_display

Les fonctionnalités suivantes ne sont pas implémentées :

  • « Hot Links » car il n'y a encore rien dans FreshRSS qui soit similaire ou qui puisse être utilisé pour le simuler.

Tester et déboguer

Si l'API ne fonctionne pas comme attendu dans votre lecteur, il est possible de la tester manuellement avec un outil tel que Postman.

Envoyer une requête POST à l'adresse https://freshrss.example.net/api/fever.php?api devrait vous renvoyer le résultat suivant :

{
	"api_version": 3,
	"auth": 0
}

Super, la configuration de base fonctionne !

Maintenant essayons de faire un appel authentifié. Fever utilise un paramètre api_key qui contient le résultat de la fonction de hachage MD5 de la valeur "$username:$apiPassword". En considérant que l'utilisateur est kevin et que son mot de passe est freshrss, voici la commande à lancer pour calculer la valeur du paramètre api_key :

api_key=`echo -n "kevin:freshrss" | md5sum | cut -d' ' -f1`

Ajoutez un contenu sous forme de form-dataà votre requête POST ainsi que le paramètre api_key contenant la valeur calculée à l'étape précédente :

curl -s -F "api_key=$api_key" 'https://freshrss.exemple.net/api/fever.php?api'

Vous devriez obtenir le résultat suivant :

{
	"api_version": 3,
	"auth": 1,
	"last_refreshed_on_time": "1520013061"
}

Parfait, maintenant vous êtes autentifié et vous pouvez commencer à tester les fonctions avancées. Pour cela, il suffit de changer l'adresse en lui ajoutant les paramètres nécessaires à la réalisation des actions supportées. Pour plus d'information, veuillez vous référer à la documentation officielle de Fever.

Voici quelques exemples simples d'appels réalisables :

Remplacez some_id par un identifiant réel de votre base de données freshrss_username_entry.

Déboguer

Si rien ne fonctionne correctement et que votre client se comporte étrangement, vous pouvez ajouter les quelques lignes suivantes au début du fichier fever.api pour déterminer la cause des problèmes rencontrés :

file_put_contents(__DIR__ . '/fever.log', $_SERVER['HTTP_USER_AGENT'] . ': ' . json_encode($_REQUEST) . PHP_EOL, FILE_APPEND);

Utilisez ensuite votre client RSS pour interroger l'API et vérifier le fichier fever.log.

Remerciements

Ce plugin a été inspiré par le tinytinyrss-fever-plugin.