js-cookie sur Drupal 9 : gestion des cookies en javascript

  • | Développement
js-cookie

Les cookies jouent un rôle essentiel dans le développement web en permettant de stocker des informations côté client. Dans le contexte de Drupal 9, la bibliothèque core/js-cookie offre une solution pratique pour la gestion des cookies côté front. Dans cet article, Je vous explique comment manipuler les cookies en utilisant cette bibliothèque et comment l'intégrer dans vos projets Drupal.
 

Configuration de base

Avant de commencer à utiliser la bibliothèque core/js-cookie, vous devez créer un module personnalisé dans Drupal 9 pour l'intégrer correctement. Voici les étapes de configuration de base :

Tout d'abord, créez un fichier my_module.libraries.yml dans votre module personnalisé et ajoutez le code suivant :

my_library:
  js:
    js/my_library.js: {}
  dependencies:
    - core/drupal
    - core/js-cookie

Cette configuration permet d'ajouter le fichier JavaScript my_library.js et de spécifier les dépendances nécessaires, à savoir core/drupal et core/js-cookie.

 

Utilisation de la bibliothèque core/js-cookie

La bibliothèque core/js-cookie (Github) offre plusieurs fonctionnalités pour manipuler les cookies côté front.

Voici quelques exemples d'utilisation courante :

((Drupal, cookies) => {
  Drupal.behaviors.myModule = {
    attach: () => {
      // Set a cookie.
      cookies.set('cutest', 'red panda');
      // Retrieve a cookie.
      const cutest = cookies.get('cutest');
      // Remove a cookie.
      cookies.remove('cutest');
      // Store and retrieve as a JSON object. Use of the getJSON method should be avoided as that will be deprecated in js-cookie 3.0.0.
      cookies.set('cutest', JSON.stringify({ animal: 'red panda' }));
      const cutest = JSON.parse(cookies.get('cutest'));
    },
  };
})(Drupal, window.Cookies);

Dans cet exemple, sont utilisées les méthodes set, get et remove pour respectivement définir, récupérer et supprimer un cookie. De plus, j'illustre comment stocker un objet JSON en tant que cookie en utilisant les fonctions JSON.stringify et JSON.parse pour la conversion.

 

Utilisation avancée de js-cookie

La bibliothèque core/js-cookie propose également des options avancées pour la gestion des cookies. 

Voici quelques exemples :

// Définir un cookie avec des options avancées.
Cookies.set('nom', 'valeur', { expires: 7, path: '/' });
// Récupérer tous les cookies.
const tousLesCookies = Cookies.getAll();
// Récupérer un cookie sous forme d'objet JSON.
const cookieObjet = Cookies.getJSON('nom');

L'exemple ci-dessus montre comment définir un cookie en spécifiant des options avancées telles que la date d'expiration et le chemin. Les méthodes getAll et getJSON peuvent également servir pour récupérer tous les cookies et récupérer un cookie spécifique sous forme d'objet JSON.

 

En conclusion

La bibliothèque core/js-cookie facilite grandement la manipulation des cookies côté front dans Drupal 9.

En utilisant cette bibliothèque, vous pouvez facilement définir, récupérer et supprimer des cookies, ainsi que stocker des objets JSON en tant que cookies. De plus, les options avancées vous permettent de personnaliser le comportement des cookies en spécifiant des paramètres tels que la date d'expiration et le chemin.

L'utilisation de la bibliothèque core/js-cookie dans Drupal 9 offre une solution pratique et efficace pour la manipulation des cookies côté front. Que ce soit pour stocker des informations temporaires, mémoriser des préférences utilisateur ou offrir une expérience utilisateur améliorée, cette bibliothèque vous permettra de gérer les cookies de manière sécurisée et efficace.

 

L'auteur de cet article
Julien Krier
Responsable Digital, ayant occupé différents postes en informatique depuis 2001, Julien Krier a travaillé sur de multiples plateformes, sites de contenu ou e-commerce à fort trafic. Il est spécialisé dans les technologies web sur les CMS comme Drupal et les Framework Php comme Symfony.
Cet article vous a aidé?
Average: 5 (2 votes)
Partagez cet article
Articles sur le même sujet