Formater du JSON
Mettre en forme, valider et replier du JSON.
Développement
Entités HTML, accents et espaces typographiques.
C'est la particularité typographique française, et elle n'existe dans aucune autre langue de ce site.
En typographie française, une espace précède les signes de ponctuation double : le point-virgule, les deux-points, le point d'exclamation et le point d'interrogation. Elle s'insère également à l'intérieur des guillemets français.
Et cette espace doit être insécable. Sans cela, le navigateur peut couper la ligne juste avant le signe, et vous obtenez un point d'interrogation orphelin en début de ligne — une faute visible immédiatement.
L'usage recommandé distingue les cas : une espace fine insécable devant le point-virgule, le point d'exclamation et le point d'interrogation, et une espace insécable de largeur normale devant les deux-points et à l'intérieur des guillemets.
Dans la pratique du web, beaucoup se contentent de partout, ce qui est déjà nettement mieux que rien. L'espace fine s'écrit et son rendu dépend encore de la police employée.
À l'inverse, aucune espace ne précède le point, la virgule, les points de suspension ni l'apostrophe.
Les guillemets français « » sont la norme au premier niveau ; les guillemets anglais servent aux citations imbriquées. Les guillemets droits du clavier ne sont pas de la typographie française.
Le second point important, et il contredit une habitude tenace.
Les écritures comme é pour é, à pour à ou ç pour ç datent d'une époque où l'encodage de la page était incertain ou limité au Latin-1.
Aujourd'hui, pratiquement toute page utilise UTF-8, ce qui permet d'écrire é, è, ê, à, ç, ù, œ et æ directement.
Il faut seulement deux choses : que le fichier soit réellement enregistré en UTF-8 et que l'encodage soit déclaré dans l'en-tête. Sans cette déclaration, le navigateur devine, et devine mal.
D'où le texte cassé classique : « é » à la place de « é ». L'origine est presque toujours l'une de trois : le fichier enregistré dans un autre encodage, la déclaration qui ne correspond pas, ou la base de données et sa connexion qui ne sont pas en UTF-8.
Ce dernier cas est le plus oublié : il ne suffit pas de la page, il faut aussi vérifier l'interclassement des tables et le jeu de caractères de la connexion.
Un mot sur le œ : cette ligature est une lettre à part entière en français, et l'écrire « oe » est une faute d'orthographe, pas une simplification. Elle existe en UTF-8, utilisez-la.
Seule une poignée de caractères a un sens syntaxique en HTML.
| Caractère | Entité | Quand |
|---|---|---|
| & | & | toujours |
| < | < | toujours |
| > | > | recommandé dans le texte |
| " | " | dans les valeurs d'attribut |
| ' | ' | dans les valeurs d'attribut |
L'esperluette est le cas le plus important puisqu'elle introduit une entité. Une & isolée dans une URL, séparant des paramètres, doit s'écrire & pour que le HTML soit valide.
C'est aussi là que se joue la sécurité : lorsque vous affichez du texte saisi par un utilisateur, encoder ces caractères protège contre les injections de script.
Pour cela, ne vous fiez pas à un outil comme celui-ci mais à la fonction d'échappement de votre framework ou de votre moteur de gabarits : elle connaît le contexte — texte HTML, attribut, JavaScript, URL — et chacun demande un échappement différent.
Enfin, si vous récupérez du texte depuis Word ou un PDF, méfiez-vous des caractères invisibles qui suivent : espaces insécables involontaires et traits d'union conditionnels expliquent bien des mises en page bizarres.
Oui, en typographie française, et elle doit être insécable pour éviter un rejet en début de ligne.
Non. Avec UTF-8 on écrit é, à, ç directement, à condition de déclarer l'encodage.
Presque toujours parce que l'encodage déclaré ne correspond pas au réel, ou que la base n'est pas en UTF-8.
Non, c'est une faute d'orthographe. La ligature existe en UTF-8.
Surtout & et <, ainsi que les guillemets dans les valeurs d'attribut.
Non, tout est traité dans votre navigateur.