API:Picture of the day viewer/fr

Présentation
Ce tutoriel vous apprendra comment faire un afficheur pour l'Image du jour de Wikipedia en utilisant l'API Action de MediaWiki. Télécharger le code de GitHub Voir l'application dans Toolforge

Ce tutoriel vous montrera comment le faire avec :


 * Python 3 et l'environnement Flask.
 * les modules et  de l'API Action de MediaWiki

Configurer Python
Ce tutoriel utilise Python 3. Vous pouvez télécharger la dernière version de Python à partir de :


 * Python pour Windows 7, 8, et 10
 * Python pour Mac OS X

Voir le Guide Python du débutant pour les instructions concernant l'installation de Python sur les autres systèmes d'exploitation.

Configurer Flask
Pip est un gestionnaire de paquets que vous pouvez utiliser pour installer Flask :. Si vous ne disposez pas de pip, installez-le à partir du site web Pip officiel

Etape 2: créer une application Flask simple
Si tout s'est correctement installé, copiez le script suivant dans, à l'intérieur du dossier du projet :. Lorsque vous l'exécutez, il doit afficher « Hello world » sur http://localhost:5000/:

Step 3: afficheur de l'Image du jour
Now that you have everything set up, you can start writing code for the Picture of the Day viewer. Picture of the day, or POTD, is a featured image displayed daily on the home page of Wikipedia. You'll be getting the picture from a wiki template that changes every day.

Récupérer la date du jour
The first order of business is simply knowing what day it is. Because POTD updates daily, you need today's date to access the archives and get at a stable version of the correct picture. To do this, import Python's class.

Puis définissez une nouvelle fonction. will render the web page and pass along any data associated with our API calls. See for more information on the   file we'll be using as a template. For now,  should contain a variable holding the current date. We'll be using it soon to compose a query to access the POTD.

Appeler l'API Action
The Action API works by sending back data in response to HTTP requests. To do so, you will import the Python Requests library.

Next add two new variables:  and. You will use the  object to make requests to the   url.

In a new function,, call  to request the picture embedded within a protected POTD page (example). From this call, use the picture's filename to call, and retrieve the image's source url. In this example, the second API call is handled in the helper function,.

Wikipedia's archives lists dates by ISO standard format -- for instance, 2019-01-31, for 31 January, 2019. You can get the correct format by using the date method,.

Finally, alter  to call. Import  from , and make   return.

Afficher la page


Flask templates mostly contain HTML markup, but they also use Jinja to render dynamic content. Jinja markup looks like this --  -- and is used to inject Python variables or expressions into our basic page structure. Add some basic HTML 5 boilerplate and a few elements to. Make sure to save it to a directory within your app, named.

Rendre interactif
Add a element to , and give it the following submit button inputs: Back and Next. When either button is selected, the form will submit a POST request, and the selected value will be passed back to. Cela va permettre aux utilisateurs de parcourir les archives des Images du jour.

Next, update  with a   function, for setting the date presented to the user. Etendez également la route  pour gérer les requêtes POST à partir du formulaire. Pour permettre à  de lire le message POST de la requête, importez la classe Flask.

Code Python et HTML complet :

Mettre en forme votre application
Flask uses a directory, named static, to contain any helper files that stay the same throughout the lifecycle of the app. C'est un endroit adapté pour y mettre les feuilles de style ou les scripts supplémentaires. Our stylesheet will be using some colors and visual motifs based on the Wikimedia Style Guide. Ajoutez un fichier CSS dans.

Étapes suivantes

 * Des questions à propos de ce tutoriel ? Posez les sur Discourse.
 * Contribuez en enregistrant l'application de démonstration que vous avez réalisée utilisant l'API MediaWiki, dans ce dépôt d'exemples de code.
 * Learn some ways to add descriptive text from the Picture of the day page:
 * provides  which can be used as a link preview
 * can be used to obtain the whole parsed text from articles on Wikis that have the extension installed (see example).

Voir aussi

 * : Généralités sur l'API Action
 * : FAQ décrivant l'API Action plus en détails
 * MediaWiki Action API Code Samples repo: contient des démonstrations supplémentaires et des exemples de code
 * Autres articles sur Wikipedia et IFTTT
 * MediaWiki Action API Code Samples repo: contient des démonstrations supplémentaires et des exemples de code
 * Autres articles sur Wikipedia et IFTTT