# Testeur de glob et .gitignore

Testez des motifs glob et des règles .gitignore sur une liste de chemins et voyez quels chemins correspondent et quelle règle s’applique.

https://codeknife.dev/fr/testeur-glob/

## Ce que fait l’outil

Teste des motifs glob et des règles `.gitignore` sur une liste de chemins. Chaque chemin est marqué comme correspondant ou non, avec le motif responsable à côté, pour voir pourquoi `src/lib/util.test.ts` est retenu ou non.

## Comment l’utiliser

1. Collez un chemin par ligne, ou déposez un fichier texte, dans **Chemins**.
2. Écrivez un motif par ligne dans **Motifs**. Les lignes qui commencent par `#` sont des commentaires.
3. Choisissez **Glob**, **Bash** ou **Gitignore**, puis affichez tous les chemins, seulement les correspondances ou seulement les non-correspondances.
4. Copiez le résultat.

## Exemples

Avec les motifs `src/**/*.ts` et `!**/*.test.ts`, le chemin `src/lib/util.ts` correspond et `src/lib/util.test.ts` non, car l’exclusion l’emporte. Avec les règles `.gitignore` `*.log` et `!keep.log`, `app.log` est ignoré et `keep.log` ne l’est pas.

## Bon à savoir

- `*` reste dans un dossier, `**` traverse les dossiers, et `?`, `[ab]` et `{a,b}` fonctionnent comme dans picomatch.
- Les fichiers cachés comme `.env` ne correspondent que si vous activez **Inclure les fichiers cachés** ou si le motif nomme le point.
- En Glob et Bash, un motif qui commence par `!` exclut ce que les autres motifs ont trouvé. En Gitignore, la dernière règle qui correspond l’emporte, comme dans Git.
- Bash lit `**` comme un simple `*`, comme un shell sans `globstar`.
- Les chemins sont comparés comme du texte. Rien n’est lu sur un disque.

## Que signifient les trois syntaxes ?

Glob est la syntaxe picomatch de la plupart des outils de build : * reste dans un dossier, ** traverse les dossiers, et les accolades comme {a,b}, les classes comme [ab] et ? fonctionnent aussi. Bash lit ** comme un simple *, comme un shell sans globstar. Gitignore suit les règles .gitignore : une barre finale désigne un dossier, une barre initiale ancre à la racine, et une règle ! ultérieure réinclut ce qu’une règle précédente ignorait.

## Questions fréquentes

### Quelle règle s’affiche à côté d’un chemin ?

Le premier motif qui correspond. En glob et bash, un chemin écarté par une exclusion (un motif commençant par !) affiche cette exclusion. En gitignore, c’est la règle qui l’a ignoré.

### Pourquoi * ne correspond-il pas à un fichier commençant par un point ?

Les globs ignorent les fichiers cachés sauf si le motif nomme le point. Activez Inclure les fichiers cachés pour que * et ? les trouvent, comme bash dotglob. Un .gitignore n’a pas cet interrupteur.

### Cet outil envoie-t-il mes chemins quelque part ?

Non. Tout se passe dans votre navigateur. Ce que vous saisissez n’est jamais envoyé à nos serveurs.