Web APIs

Frontend SELF FR
Niveau 46 , Leçon 2
Disponible

7.1 Geolocation API

Web APIs (Web Application Programming Interfaces) offrent des possibilités sérieuses pour l'interaction des applications web avec la fonctionnalité du navigateur et de l'appareil de l'utilisateur. Jetons un coup d'œil à certaines de ces API, y compris Geolocation et Notifications, ainsi que leur utilisation.

Geolocation API permet à une application web d'obtenir la position géographique de l'appareil de l'utilisateur. Cela peut être utile pour diverses applications, telles que les cartes, la navigation et le ciblage géographique.

Demande de permission pour accéder à la position

Pour utiliser Geolocation API, l'application web doit demander la permission de l'utilisateur pour accéder à sa position. Cela se fait via la méthode navigator.geolocation.getCurrentPosition().

Exemple d'utilisation de Geolocation API :

JavaScript
    
      if ('geolocation' in navigator) {
        navigator.geolocation.getCurrentPosition(
          (position) => {
            const { latitude, longitude } = position.coords;
            console.log(`Latitude : ${latitude}, Longitude : ${longitude}`);
          },
          (error) => {
            console.error('Erreur lors de l\'obtention de la géolocalisation :', error);
          },
          {
            enableHighAccuracy: true, // Haute précision
            timeout: 5000, // Délai d'attente de la réponse (ms)
            maximumAge: 0 // Durée maximale pendant laquelle les données en cache peuvent être utilisées (ms)
          }
        );
      } else {
        console.log('La géolocalisation n\'est pas prise en charge par ce navigateur.');
      }
    
  

Suivi de la position

La méthode navigator.geolocation.watchPosition() permet de suivre les changements de position de l'utilisateur.

Exemple de suivi de la position :

JavaScript
    
      let watchId;

      if ('geolocation' in navigator) {
        watchId = navigator.geolocation.watchPosition(
          (position) => {
            const { latitude, longitude } = position.coords;
            console.log(`Latitude : ${latitude}, Longitude : ${longitude}`);
          },
          (error) => {
            console.error('Erreur lors de l\'obtention de la géolocalisation :', error);
          },
          {
            enableHighAccuracy: true,
            timeout: 5000,
            maximumAge: 0
          }
        );
      }

      // Arrêt du suivi de la position
      function stopTracking() {
        if (watchId) {
          navigator.geolocation.clearWatch(watchId);
        }
      }
    
  

7.2 Notifications API

Notifications API permet à une application web d'afficher des notifications dans le système de l'utilisateur. Ceci est utile pour attirer l'attention de l'utilisateur sur des événements importants, même si l'onglet du navigateur n'est pas actif.

Demande de permission pour envoyer des notifications

Pour utiliser Notifications API, l'application web doit demander la permission à l'utilisateur pour envoyer des notifications.

Exemple de demande de permission :

JavaScript
    
      if ('Notification' in window) {
        Notification.requestPermission().then((permission) => {
          if (permission === 'granted') {
            console.log('Permission de notification accordée.');
          } else {
            console.log('Permission de notification refusée.');
          }
        });
      } else {
        console.log('Les notifications ne sont pas prises en charge par ce navigateur.');
      }
    
  

Envoi de notifications

Après avoir obtenu la permission, vous pouvez envoyer des notifications en utilisant le constructeur Notification

Exemple d'envoi de notification :

JavaScript
    
      if (Notification.permission === 'granted') {
        const options = {
          body: 'Ceci est le corps de la notification',
          icon: 'icon.png',
          data: { url: 'https://example.com' }
        };
        const notification = new Notification('Hello, world!', options);

        // Gestion du clic sur la notification
        notification.onclick = (event) => {
          event.preventDefault(); // Empêche la navigation par défaut
          window.open(notification.data.url, '_blank');
        };
      }
    
  

7.3 Autres Web API utiles

1. DeviceOrientation API

DeviceOrientation API permet d'obtenir des données sur l'orientation de l'appareil dans l'espace.

Exemple d'utilisation de DeviceOrientation API :

JavaScript
    
      window.addEventListener('deviceorientation', (event) => {
        console.log(`Alpha : ${event.alpha}, Beta : ${event.beta}, Gamma : ${event.gamma}`);
      });
    
  

2. Battery Status API

Battery Status API fournit des informations sur l'état de la batterie de l'appareil.

Exemple d'utilisation de Battery Status API :

JavaScript
    
      navigator.getBattery().then((battery) => {
        console.log(`Niveau de batterie : ${battery.level * 100}%`);
        console.log(`Batterie en charge : ${battery.charging}`);

        battery.addEventListener('levelchange', () => {
          console.log(`Niveau de batterie modifié : ${battery.level * 100}%`);
        });

        battery.addEventListener('chargingchange', () => {
          console.log(`État de charge de la batterie modifié : ${battery.charging}`);
        });
      });
    
  

3. Fullscreen API

Fullscreen API permet de passer une page web en mode plein écran.

Exemple d'utilisation de Fullscreen API :

JavaScript
    
      const element = document.documentElement; // Tout le document

      function toggleFullScreen() {
        if (!document.fullscreenElement) {
          element.requestFullscreen().catch((err) => {
            console.error(`Erreur lors de la tentative d'activation du mode plein écran : ${err.message}`);
          });
        } else {
          document.exitFullscreen();
        }
      }

      document.getElementById('fullscreenButton').addEventListener('click', toggleFullScreen);
    
  
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION