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.