# Alpine.js ![npm bundle size](https://img.shields.io/bundlephobia/minzip/alpinejs) ![npm version](https://img.shields.io/npm/v/alpinejs) [![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg?sanitize=true)](https://alpinejs.codewithhugo.com/chat/) Alpine.js offre les propriétés déclaratives et réactives des grands frameworks tels que Vue ou React à un coût bien moindre. Le DOM est préservé, et vous pouvez lui attribuer les comportements comme bon vous semble. C'est un peu le [Tailwind](https://tailwindcss.com/) du JavaScript. > Note : La syntaxe de cet outil est presque entièrement inspirée de [Vue](https://vuejs.org/) (et par extension [Angular](https://angularjs.org/)). Je suis à jamais reconnaissant pour ce qu'ils ont apporté au web. ## Documentations traduites | Langue | Lien vers la documentation | | --- | --- | | Chinois Traditionel | [**繁體中文說明文件**](./README.zh-TW.md) | | Allemand | [**Dokumentation in Deutsch**](./README.de.md) | | Indonesien | [**Dokumentasi Bahasa Indonesia**](./README.id.md) | | Japonais | [**日本語ドキュメント**](./README.ja.md) | | Portuguais | [**Documentação em Português**](./README.pt.md) | | Russe | [**Документация на русском**](./README.ru.md) | | Espagnol | [**Documentación en Español**](./README.es.md) | | Français | [**Documentation en Français**](./README.fr.md) | ## Installation **Avec CDN :** Ajoutez le script suivant à la fin de votre section ``. ```html ``` C'est tout. L'initialisation est automatique. Dans les environnements de production, il est recommandé d'inscrire un numéro de version spécifique dans le lien, afin d'éviter qu'une nouvelle version ne provoque un comportement inattendu. Par exemple, pour utiliser la version `2.8.2` (la dernière) : ```html ``` **Avec npm :** Installer le paquet avec npm. ```js npm i alpinejs ``` Importez-le dans votre script. ```js import 'alpinejs' ``` **Pour la compatibilité IE11** utilisez plutôt les scripts suivants. ```html ``` Le schéma ci-dessus représente le [schéma module/nomodule](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/). Il permet de faire en sorte que le pack soit automatiquement chargé dans les navigateurs modernes, mais aussi pour IE11 et les autres navigateurs anciens. ## Utilisation *Menu déroulant/Modal* ```html
``` *Onglets* ```html
Onglet Foo
Onglet Bar
``` Vous pouvez même l'utiliser pour faire des choses moins courantes: *Précharger le HTML d'un élément de menu lors du survol.* ```html
Chargement Spinner...
``` ## Apprentissage Il existe 14 directives disponibles: | Directive | Description | | --- | --- | | [`x-data`](#x-data) | Déclare la portée d'un nouveau composant. | | [`x-init`](#x-init) | Exécute une expression lors de l'initialisation d'un composant. | | [`x-show`](#x-show) | Alterne `display: none;` sur l'élément selon l'expression (true ou false). | | [`x-bind`](#x-bind) | Fixe la valeur d'un attribut au résultat d'une expression JS. | | [`x-on`](#x-on) | Attache un écouteur d'évènement à l'élément. Exécute une expression JS lorsque l'évènement est déclenché. | | [`x-model`](#x-model) | Ajoute une liaison de données bidirectionnelle (two-way data binding) à un élément. Conserve la synchronisation de l'élément d'entrée avec les données du composant. | | [`x-text`](#x-text) | Fonctionne de manière similaire à `x-bind`, mais avec mise à jour du `innerText` d'un élément. | | [`x-html`](#x-html) | Fonctionne de manière similaire à `x-bind`, mais avec mise à jour du `innerHTML` d'un élément. | | [`x-ref`](#x-ref) | Un moyen pratique de récupérer des éléments bruts du DOM de votre composant. | | [`x-if`](#x-if) | Supprime totalement un élément du DOM. Doit s'utiliser avec la balise `