API:Holidays viewer/fr

Présentation
Ce tutoriel permet de créer une application de démonstration qui récupère les jours fériés et les observations pour une date donnée dans Wikipedia, avec une option qui permet de se connecter pour ajouter de nouveaux jours.

Télécharger le code de GitHub Afficher l'application dans Toolforge

Les outils et les technologies utilisées pour créer l'application de démonstration sont :


 * Python 3 et Flask, un environnement Python.
 * jQuery et Bootstrap. They are loaded from Wikimedia Toolforge for privacy reasons.
 * Modules de l'API Action de Mediawiki :, et.



Processus pas à pas pour construire cette application


Etape 1 : installer l'environnement de développement Python et Flask
Python est fourni préinstallé avec la plupart des distributions Linux. Pour les autres systèmes d'exploitation, voir le guide des débutants Python pour les instructions concernant l'installation.

Installez Flask en exécutant. Si vous ne disposez pas de pip, récupérez-le à partir du site web Pip officiel



Etape 2: créer une application Flask simple
Dans votre répertoire racine (home), créez un répertoire appelé  et qui contiendra tous les fichiers des applications. Dans le répertoire, créez un fichier  et insérez-y le code suivant :

Exécutez l'application en utilisant la commande  et ouvrez   dans votre navigateur. Vous devriez voir « Holidays and observances » affiché.



Etape 3 : créer l'architecture de base
L'application aura quatre pages : la page d'accueil, une page de recherche, une page pour la connexion et une page pour les annonces. Toutes les pages auront certains éléments en commun, il nous faut donc créer un fichier de configuration de base appelé  qui contiendra ces éléments.

Notez-bien que nous utilisons les classes de Bootstrap pour appliquer un style CSS spécifique à un élément, Materialiser les icônes pour les icônes concernant l'addition, la recherche et la flèche arrière, et Jinja pour étendre l'affichage de base à d'autres pages, et pour passer des variables de Python à HTML.

Les autres pages vont étendre  en utilisant le code suivant :



Etape 4 : lister les jours de vacance
L'URL de base de l'application va activer la fonction, qui liste les vacances à une date donnée.

Dans la fonction et dans toute l'application,  se rapporte à la date de vacance à afficher,   concerne le titre de la page, et   se rapporte au html qui contient les vacances à afficher. Nous utiliserons également la fonction  pour générer un fichier html spécifique à partir du répertoire des modèles. Les autres arguments ajoutés à la fonction sont les variables qui seront passées au fichier HTML.

Dans, mettre à jour   avec le code ci-dessous :



Obtenir la date du jour
Si aucune date n'est précisée, les vacances seront affichées pour la date du jour. Pour utiliser le module Python datetime afin d'obtenir la date du jour, importez le module avec  puis créez la fonction suivante :

Appeler la fonction dans  :



Récupérer la liste des vacances
Une fois la date obtenue, nous obtenons les vacances pour cette date. Wikipedia possède une page par date et les vacances figurent dans une section intitulée Holidays and observances. Pour obtenir les vacances, il nous faut connaître leur numéro de section ainsi que le contenu de ces sections.

Créez une fonction pour obtenir le numéro de section en utilisant :

Créez une fonction  pour obtenir les vacances dans cette section en utilisant également, puis appelez la fonction dans   :



Mettre à jour les liens de vacance
Le code HTML des vacances qui a été renvoyé contient des liens internes qui pointent vers ces vacances, par exemple  . Il faut préfixer ces liens avec en utilisant jQuery pour en faire des liens externes dans notre application, et qu'ils puissent s'ouvrir dans un nouvel onglet. Pour faire cela, ajoutez le code suivant à  :

Ensuite ajoutez jQuery à  en utilisant :



Etape 5 : recherche des vacances à d'autres dates
Pour obtenir les vacances à d'autres dates, créez une route de recherche en affichant un formulaire de saisie du mois et du jour concerné :

Une fois que le formulaire de recherche a été envoyé, mettez à jour  pour qu'il corresponde à la date qui a été saisie. Pour faire cela, ajoutez le code suivant à  :



Etape 6 : lister un jour de vacance
La page à laquelle nous allons déclarer une nouvelle vacance est protégée des modifications issues des utilisateurs anonymes; il faut donc se connecter d'abord en utilisant clientlogin.

Pour ajouter une vacance, envoyez une requête à avec la date et la descritption de la vacance. La modification ajoute de nouvelles vacances à la page suivante de la Wikipedia de test : Sandbox/Holidays_and_observances. Ceci est fait pour empêcher d'ajouter des vacances de test sur la Wikipedia anglophone.

Une fois les informations de vacance ajoutées, redirigez vers la page d'accueil où les vacances ajoutées seront également affichées et formatées en gras pour les distinguer des vacances réelles. Pour récupérer les vacances de test en même temps que les vacances réelles, mettez à jour  :



Etape 7 : habiller l'application
Pour ajouter davantage de style à votre application, créez une feuille de style appelée  et créez un lien dessus à partir de   en ajoutant.



Affichage des applications
A cet instant, la structure de votre application devrait être :

$HOME/holidays-viewer ├── templates/ │  └── add.html └── index.html └── layout.html └── login.html └── search.html ├── static/ │  └── style.css └── update-links.js ├── app.py

Avec  et   étant :





Etapes 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.



Voir aussi

 * — Guide de démarrage rapide pour l'API Action de MediaWiki.
 * — Analyse le contenu d'une page pour générer les sorties.
 * — Modifie une page.
 * — Permet de se connecter à un wiki.