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¶
- dossier de travail (.aep, ressources) zippé et contenant un export d’exemple (léger !)
- rendu sur moodle (max 300 Mo, c’est largement assez)
É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ératurefeels_like
: la température ressentietemp_min
: la température minimaletemp_max
: la température maximalepressure
: la pression atmosphériquehumidity
: 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 ]