Exercice 4 (à rendre, noté)

Dans cet exercice, nous allons partir de fichiers fournis par le service OpenWeather et baser une composition sur ceux-ci.

Il suffira ensuite de modifier le fichier JSON pour mettre à jour la composition.

Exemple de rendu

Consignes

En vous aidant de la police « météocons » et des fichiers .json extraits d’OpenWeather, réalisez une composition « data-driven » (pilotée par des données) où il suffira de mettre le fichier .json à jour pour modifier la composition.

La composition devra :

  • faire 1280 par 1280 pixels
  • moins de 30 secondes
  • utiliser des expressions et importer les données depuis des fichiers .json
  • afficher le nom de la ville
  • afficher un pictogramme relatif au temps
  • afficher des informations sur la température
  • afficher les informations sur l’humidité et la pression

Rendu

Évaluations

Seront évaluées :

  • la qualité graphique (composition, couleur, typographie)
  • le respect des consignes (utilisation d’expressions, import JSON)

Aide

Interprétation des fichiers OpenWeather

  • weather contient une liste de une ou plusieurs conditions météorologique. Pour faciliter l’exercice, nous ne nous intéresserons qu’au premier élément. Celui-ci contient :
    • main : une chaîne de caractères correspondant au temps.
  • main contient différents éléments :
    • temp : la température
    • feels_like : la température ressentie
    • temp_min : la température minimale
    • temp_max : la température maximale
    • pressure : la pression atmosphérique
    • humidity : l’humidité
  • name : le nom de la ville

Conversion openWeather/meteocons

OpenWeather Meteocons
clear sky B
clouds Y
few clouds H
scattered clouds N
broken clouds Y
shower rain 8
rain R
thunderstorm P
snow W
mist M
drizzle Q

Expression de Conversion

// on déclare nos correspondances :
// on va se servir des éléments
// de temps comme clés
var correspondances = {
  "Clear sky" : "B",
  "Clouds" : "Y",
  "Few clouds" : "H",
  "Scattered clouds" : "N",
  "Broken clouds" : "Y",
  "Shower rain" : "8",
  "Rain" : "R",
  "Thunderstorm" : "P",
  "Snow" : "W",
  "Mist " : "M",
  "Drizzle": "Q"
}

// on charge les données du .json
var data = footage("fichier.json").sourceData;

// dans data, on prend la propriété weather
// on prend l'élément 0
// puis sa propriété main
correspondances[ data.weather[0].main ]

fichiers de travail