Intermédiaire 8 min de lecture 25 janvier 2025

French quotes : utiliser correctement les guillemets « »

Tout semble correct, pourtant votre texte affiche des guillemets bizarres, votre JSON refuse de parser, votre mise en page saute. La cause est souvent un mélange de guillemets droits, typographiques et d’espaces insécables. Ils paraissent équivalents, mais ne le sont pas. Voici comment comprendre, détecter et corriger les french quotes dans vos contenus.

Qu'est-ce que les french quotes ?

Il s’agit des guillemets français « » et de leurs règles d’usage (espaces, apostrophes, variations Unicode) souvent confondus avec les guillemets droits.

Voici les principales familles liées aux guillemets et citations :

1 Guillemets droits ASCII

Caractères simples utilisés en code et en texte brut.

Apostrophe ' (39), Double quote " (34)

2 Guillemets typographiques internationaux

Utilisés en typographie soignée, varient selon la langue.

« » (U+00AB U+00BB), “ ” (U+201C U+201D), ‘ ’ (U+2018 U+2019)

3 Espaces et ponctuation autour des guillemets

Indispensables en français, souvent sources d’erreurs :

Espace insécable (NBSP U+00A0) avant ; : ? !
Espace fine insécable autour de « et »
Différences entre espace normal et insécable
Règles avec la ponctuation intérieure/extérieure

4 Encodages et entités

Représentations techniques et conversions implicites :

« » - Entités HTML
“ ” ‘ ’ - Guillemets “smart”
Conversions automatiques Word/Pages/Google Docs
Mix Unicode/ASCII dans un même contenu

Problèmes classiques

Copier-coller depuis le web ou Word

Introduit “guillemets courbes” ou « chevrons » et des espaces insécables dans du CSV, JSON ou du code.

Tests unitaires qui échouent

Une chaîne utilise " " alors que l’autre contient « » ou “ ”, ce qui fait rater les comparaisons exactes.

Trim() ou strip() inefficace

N’efface pas les espaces fines insécables autour de « » ni les entités converties.

Regex \s ou \w incomplètes

Certaines n’attrapent pas « » ou “ ” et ratent les espaces insécables autour des citations.

Exemple de problème courant :

# Deux chaînes qui paraissent identiques mais diffèrent par le type de guillemets
string1 = "Bonjour"
string2 = "« Bonjour »" # Utilise des guillemets français et des espaces typographiques
assert string1 == string2 # ❌ Échec

Symptômes qui doivent vous alerter

🚨 Signaux d'alarme

!
Un diff git marque des changements alors que seuls les guillemets ont été « beautifiés »
!
Des CSV ou JSON cassent car “ ” ou « » remplacent " dans les champs
!
Un .env ou un YAML échoue à charger une valeur entourée de guillemets typographiques
!
Votre éditeur affiche un espace spécial autour de « » quand vous déplacez le curseur
!
Un copier-coller dans un terminal remplace " par “ ” et brise la commande

Comment les détecter

Solution recommandée : Clean ASCII

Clean ASCII identifie instantanément les french quotes mal utilisées : guillemets droits vs typographiques, espaces autour de « » et entités HTML. L’outil indique où se trouvent les anomalies et propose des corrections adaptées à votre contexte.

✅ Détection automatique

« », “ ”, ' vs ’, espaces insécables, entités « »

📊 Analyse complète

Types de guillemets, positions exactes, espaces recommandés

🧹 Nettoyage automatique

Conversion cohérente vers « » avec espaces corrects ou vers " en contexte code

💾 Export propre

Téléchargement du texte uniformisé prêt à intégrer

Autres méthodes de détection

Affichage dans l'éditeur

Activez “smart quotes” warnings et l’affichage des espaces insécables
Installez un linter qui signale “ ”, ‘ ’ et propose « » en français

En ligne de commande (Unix)

# Rechercher les guillemets typographiques
grep -Pn "[«»“”‘’]" fichier.txt
# Mettre en évidence les espaces spéciaux
sed -n 'l' fichier.txt
# Visualiser les entités et caractères invisibles
cat -A fichier.txt
# Inspecter les octets pour « » et NBSP
hexdump -C fichier.txt

En code

JavaScript

(str.match(/[«»“”‘’]/g) || []).length

Python

sum(ch in "«»“”‘’" for ch in s)

Excel / Google Sheets

=SUBSTITUE(SUBSTITUE(A1;"“";"""");"”";"""")

Nettoyer et prévenir

🚀 Solution rapide avec Clean ASCII

Avant d’écrire des scripts, utilisez Clean ASCII pour normaliser immédiatement vos french quotes :

Détection des guillemets et espaces
Nettoyage typographique ciblé
Export immédiat

Méthodes techniques avancées

🔧 Normaliser

Appliquez une stratégie : tout en « » pour FR, ou tout en " en contexte code
Uniformisez les espaces : fines/insécables autour de « » selon la charte
Choisissez une normalisation Unicode cohérente (NFC/NFKC) pour éviter les variantes

🧹 Filtrer

Écrivez des fonctions sanitize_quotes() pour convertir “ ” ‘ ’ en « » ou " selon besoin
Insérez/remplacez les espaces insécables requis autour des guillemets
Bloquez les paires déséquilibrées et l’imbrication hasardeuse

⚙️ Automatiser

Hooks pre-commit pour refuser les “smart quotes” dans le code source
Tests de cohérence typographique sur contenus éditoriaux
Linting CI pour détecter les entités et espaces indésirables

Checklist rapide

Règles claires : « » pour le français, " pour le code
Espaces insécables corrects autour des guillemets et de la ponctuation
Éditeur configuré pour afficher guillemets et espaces spéciaux
Fonction de normalisation des french quotes dans vos libs
Tests empêchant l’introduction de “smart quotes” en code
Consignes d’équipe sur typographie, entités HTML et encodage

Conclusion

Les french quotes ne sont pas qu’un détail cosmétique : elles influencent rendu, parsing et fiabilité.

Adoptez une règle unique, détectez les variantes et normalisez vos textes : vous éliminez la majorité des soucis liés aux guillemets et aux espaces.

Vérifiez vos french quotes maintenant

Utilisez notre outil pour repérer et normaliser les guillemets français « » et les espaces associés.

Analyser mes french quotes