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



Processus pas à pas pour construire cette application


Etape 1 installer l'environnement de développement Python et Flask


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 (en utilisant  ou  ), il doit afficher « Hello world » sur http://localhost:5000/:



Etape 3 afficheur de l'Image du jour
Maintenant que tout est configuré, vous pouvez commencer à écrire le code pour l'afficheur de l'Image du jour. L'Image du jour (Picture of the day - POTD), est une image mise à la une le temps d'une journée et affichée sur la page d'accueil de Wikipedia. Vous obtiendrez cette image à partir d'un modèle du wiki et elle changera chaque jour.



Récupérer la date du jour
Parce que cette image change chaque jour, vous avez besoin de la date du jour pour accéder aux archives et obtenir une version stable de la bonne image. Pour cela, importez la classe Python.

Puis définissez une nouvelle fonction. va générer la page web en transmettant toutes les données associées à vos API appelées. Voir ici pour d'autres informations sur le fichier  que nous utiliserons comme modèle. Actuellement,  doit contenir une variable représentant la date actuelle. Nous l'utiliserons bientôt pour créer une requête pour accéder à l'Image du jour.



Appeler l'API Action
L'API Action fonctionne en renvoyant des données en réponse aux requêtes HTTP. Pour ce faire, importez la bibliothèque Python des requêtes.

Puis ajoutez deux nouvelles variables :  et. Vous allez utiliser l'objet  pour faire des requêtes à l'URL.

Dans une nouvelle fonction,, appelez  pour demander que l'image soit incluse dans une page POTD protégée (exemple). De cet appel, utilisez le nom du fichier de l'image pour appeler, et récupérez l'URL de la source de l'image. Dans cet exemple, le deuxième appel à l'API est géré dans la fonction  du helper..

Dates pour les listes d'archives de Wikipedia en format standard ISO, par exemple : 2019-01-31, pour le 31 janvier 2019. Vous pouvez obtenir le format correct en utilisant la méthode de date.

Enfin modifiez  pour appeler. Importez  de , et faites que   renvoie.



Afficher la page


Les modèles Flask contiennent le plus souvent des balises HTML, mais ils utilisent aussi Jinja pour générer le contenu dynamique. Le balisage Jinja ressemble à ceci :  ; il est utilisé pour injecter des variables Python ou des expressions dans notre structure de page de base. Ajouter quelques séquences de base en HTML 5 et quelques éléments à. Assurez-vous de l'enregistrer dans un répertoire avec votre application, appelé.



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.

Puis modifiez  avec une fonction , pour mettre à jour la date affichée à l'utilisateur. 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

 * 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.
 * Apprendre différentes manières d'ajouter un texte descriptif à partir de la page de l' Image du jour :
 * fournit  qui peut être utilisé comme un lien vers l'aperçu
 * 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