Giter VIP home page Giter VIP logo

appli-web-meteo's Introduction

appli-web-meteo

Résumé :

Concevoir de A à Z une application web permettant de consulter la météo en temps réel pour un lieu donné par l’utilisateur.

Le but de ce mini-projet est de se familiariser avec le langage JavaScript, d’utiliser une API permettant d’obtenir des données et de mettre en application ses connaissances en HTML/CSS.

Domaine :

programmation.png

web.jpeg

Difficulté :

etoile.png

etoile.png

Langages de programmation :

  • HTML / CSS ;
  • JavaScript.

Fonctionnalités :

  • L’utilisateur peut renseigner un nom de ville ;
  • L'appli renvoie la météo courante (température en °C, le temps, le vent...).

Notions abordées :

Programmation :

  • Faire un script en JavaScript permettant de récupérer des données ;
  • Approfondir ses connaissances en CSS.

Développement Web :

  • Utilisation d'une API ;
  • Manipulation de données JSON ;
  • Manipulation du DOM.

Déroulement :

  1. Préparer une page HTML qui contient :

    1. Le titre de l’application;
    2. Une div contenant un formulaire qui demande à l’utilisateur la ville qu’il souhaite consulter. Le champ de texte récupérant le nom de la ville doit avoir pour ID inputVille et le bouton de soumission du formulaire doit avoir un attribut onclick qui prend comme valeur "getCity();";
    3. Une div afficher la réponse à l’utilisateur. L’ID de cette div est temperature ;
    4. Toute autre informations pour l’utilisateur sur l’application.
  2. Préparer la feuille CSS (style libre).

  3. Créer un fichier .js (JavaScript).

  4. Lier la page HTML la feuille CSS et le fichier JavaScript

  5. Créer une fonction getCity() qui :

    1. Créer une variable city qui récupère l’élément du document HTML dont l’ID est inputVille

      city = document.getElementById("inputVille").value;

    2. Créer une variable url qui contient la requête HTTP utilisant la ville indiqué par l’utilisateur et la clé API :

      `'https://api.openweathermap.org/data/2.5/weather?q='

      • city
      • '&lang=fr&units=metric&mode=JSON&appid='`
    3. Appeler la fonction getCurrentWeatherByCity(url)

  6. Créer une fonction getCurrentWeatherByCity(url) qui :

    1. Démarrer le processus de récupération de données en utilisant la variable passé en argument url à partir du réseau.

      window.fetch(URL)

    2. Vérifier que l’exécution s’est bien passée et transformer les données au format JSON :

      .then(function(res){

      if (res.ok) {

      return res.json();

      }

      })

    3. Si l’exécution s’est bien passé, appeler la fonction screenCurrentWeather(res) qui prend en argument les données au format JSON.

      .then(function(res){ screenCurrentWeather(res); })

    4. Si une erreur est survenue, l’écrire dans la console :

      .catch(function(err){ console.log("Une erreur est survenue lors de la récupération des données."); })

  7. Créer une fonction screenCurrentWeather(donnees) qui :

    1. Affiche dans la console le nom de la ville demandée par l’utilisateur (pour contrôler) .

      console.log("ville : "+donnees.name);

    2. Insérer dans le document à l’élément dont l’ID est temperature la valeur de la température et le nom de la ville.

      document.getElementById("temperature") .innerText="La température actuelle est de " +donnees.main.temp +"°C à " +donnees.name +".";

Améliorations :

  • Afficher dans un tableau la température actuelle, la couverture nuageuse, la description du temps, la ville.
  • Afficher la température pour demain.
  • Afficher une image correspondant à l'icône attribuée par weathermap.
  • Localiser l'utilisateur et donner directement la météo correspondante.
  • Application s'affichant correctement sur un format smartphone/tablette (application responsive).
  • L’arrière-plan doit correspondre à la météo.

Ressources :

Paramètres et données (JSON) pour la météo courante de l’API Openweathermap : https://openweathermap.org/current (anglais) API OpenWeatherMap https://openweathermap.org/ .

appli-web-meteo's People

Contributors

laurelinemartin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.