Programmation client, année 2018

Le TD noté est décomposé en deux parties. La première consiste en la rédaction d’un scripte en Python, la seconde consiste en la manipulation de donnée côté JavaScript.

Le barême est sur 30 laissé tel quel (10 suffit pour valider).

Le flux d’actualité continu

Le site LeMonde.fr met à disposition un flux d’actualité en continue à la page suivante.

L’objectif est d’écrire un petit script en Python qui récupère les dernières actualités et les stock dans un document JSON.

  1. Proposer une structure de document Json adapté à ce problème contenant toutes les informations que vous jugerez pertinente. (2pt)

Les questions suivantes proposent de réaliser un script pour récupérer un fichier Json adapté. La totalité de ces questions est sur 15pts, vous pouvez également faire un script sans suivre ce schéma en fonction de vos idées propres.

N’oubliez pas de mettre des commentaire.

  1. Écrire une fonction page, sans argument, en Python qui télécharge la page d’actualité et retourne un objet BeautifulSoup. (3pts)

  2. Écrire une fonction liste_actualite, prenant en argument un objet BeautifulSoup et retournant la liste des dernières actualités. (3pts)

  3. Écrire une fonction extract_infos qui prend la liste des dernières actualité en Python qui retourne une liste contenant pour chaque actualité un dictionnaire avec le titre, la date, le type d’actualité et son contenu (4pts).

  4. Assemblé toutes ces fonctions en un script “actualite.py” qui crée un document json “lemonde.json” à partir de la page d’actualité du monde (5pts).

Un affichage des actualités en JavaScript

La deuxième partie de l’examen consiste à afficher en JavaScript la liste des actualités dynamiquement à partir du fichier “lemonde.json”. Pour les étudiants qui ne sont pas parvenu à produire le fichier, une version générée hier soir peut être trouver ici.

  1. Créer une fonction JavaScript qui charge le document lemonde.json et l’affiche dans un tableau HTML (7pts)

  2. Permettre à l’utilisateur de trier les nouvelles par date ou par nature (7pts)

  3. Question bonus: trouver un style agréable pour cet affichage (1pt).

Compiled the: dim. 07 janv. 2024 23:19:24 CET