Validateurs vs Linters : quelle est la différence ?

Original: http://webtips.dan.info/validators.html


Astuce : Comprendre un validateur et un linter, quelle est la différence entre les deux, et comment ils peuvent être utilisés pour vous aider à améliorer votre développement Web.
Beaucoup de gens est confus au sujet de la différence entre « Validateurs HTML » et autres dames de la page Web. Cette confusion est aidée et encouragée par l’abus fréquent du terme « validator » par les auteurs et les promoteurs de programmes qui ne sont pas des validateurs. En fait, il y a une grande distinction entre les deux types de programmes, bien que les deux peuvent être utiles aux auteurs HTML qui cherchent à éviter les erreurs.
Validateurs
Un validateur est un programme qui vérifie la syntaxe d’un document HTML contre un cahier des charges rigoureux, tel que défini dans une définition de Type de Document (DTD). HTML est en fait une application du SGML (Standard Generalized Markup Language), et tous les documents SGML sont censés être conforme à une DTD. Il y a plusieurs différents DTD HTML (et beaucoup plus non HTML DTD, tels que ceux des autre document types dans le SGML ou le plus récent XML, Extensible Markup Language, qui est une forme simplifiée de SGML). Les versions HTML 2.0, 3.2 et 4.0 tous ont DTD officielle approuvée par le W3C (World Wide Web Consortium). (HTML 1.0 n’a jamais eu une spécification formelle et est simplement un terme utilisé vaguement pour désigner les formes précoces de HTML en usage avant la version 2.0).
Un validateur utilise l’un de ces DTD pour déterminer si votre page est syntaxiquement correct en vertu de cette technique particulière. DTD utilisée est déterminée par votre déclaration de <!DOCTYPE>, qui devrait être au début de chacune de vos pages.
Un validateur est la seulement certaine façon de dire si votre site est conforme aux normes. Il vous dira si certains tags et attributs que vous utilisez sont les extensions non standard qui ne font pas partie de la DTD et vont trouverez aussi des erreurs de syntaxe comme mauvaise imbrication et manque de balises pour les éléments qui en ont besoin. C’est une bonne idée d’exécuter vos pages grâce à un validateur pour trouver ces erreurs et corriger les erreurs non intentionnelles, que le validateur trouve. En ce qui concerne les erreurs « intentionnels », comme des balises non standard et les attributs que vous utilisez pour obtenir un effet visuel particulier, c’est à vous que ce soit pour les supprimer pour obtenir votre page à valider, ou les laisser en même si elles sont non standard. Dans certains cas, des éléments non standard seront dégrade gracieusement dans les navigateurs qui ne supportent pas, donc il est raisonnablement prudent pour les garder.
Il y a des liens vers des validateurs en ligne à la fin de cet article.
Linters/dames
Il y a un certain nombre d’autres programmes, y compris les sites en ligne, logiciel autonome et fonctionnalités intégrées à des éditeurs HTML, vérifier vos pages pour les différentes formes de « correct ». Certains d’entre eux sont appelés “valideurs”, mais s’ils n’utilisent une définition DTD SGML-type pour valider votre site contre, ils ne sont pas vrais validateurs. (Un « test décisif » est que si toute prétendue « validator » passe votre page comme valide si elle ne dispose pas d’une déclaration DOCTYPE, puis il n’est pas un vrai programme de validation).
Cela ne veut ne pas dire que ces programmes « non-validator », qui peuvent être appelés de linters ou dames, ne sont pas utiles. Ils trouveront les différents problèmes liés aux pages Web tels que les erreurs de syntaxe, les éléments avec la compatibilité ou de problèmes d’accessibilité et dans certains cas vont vérifier vos liens pour trouver des erreurs “404 Not Found” et votre texte anglais pour les fautes d’orthographe. Parfois un linter retrouve des problèmes dans votre site qui ne serait pas un validateur, si votre code est valide conformément à la fiche, mais a d’autres sujets de préoccupation qui ne sont pas traités par les normes.
Toutefois, la sortie d’un linter doit être pris avec un grain de sel, puisqu’il ne repose pas sur une norme officielle, mais seulement sur les préférences, les préjugés et les marottes de l’auteur du programme. Par exemple, si j’ai écrit un linter (je n’ai pas jusqu’à présent), j’aurais probablement il se plaindre si vous liez à « index.html », plutôt que directement dans le répertoire avec «. / ». (Voir ma discussion de cela.) Mais c’est juste ma préférence ; Il n’est pas violer tout HTML ou l’URL standard pour ce faire l’effet inverse. (C’est juste moins élégante pour autant que je suis concerné).
La déclaration DOCTYPE
Un validateur détermine quelle norme HTML pour valider votre document contre la déclaration de DOCTYPE au début de votre document. Si le DOCTYPE est manquant ou incorrect, cela provoque le validateur pour signaler les erreurs, bizarre de peut-être plus comme dire que <HTML>est une balise inconnue. Si vous devez avoir le droit DOCTYPE si vous souhaitez que vos pages à valider.

 

En théorie, les navigateurs sont en mesure d’utiliser le DOCTYPE pour déterminer quelle version HTML est utilisée et éventuellement activer et désactiver diverses fonctions, en conséquence, mais dans la pratique (jusqu’à une date récente ; voir ci-dessous) aucun réellement faire cela, alors le DOCTYPE est seulement utile aux validateurs et n’affecte pas l’apparence de vos pages dans les navigateurs. Vous devez toujours avoir si vous voulez utiliser les validateurs, et certains « puristes HTML » considèrent également en plaçant un DOCTYPE dans leurs pages comme une « déclaration politique », indiquant leur appui aux normes s’opposant à l’aléatoire “soupe de balise” des navigateurs populaires.
Ces derniers temps, certaines versions de navigateurs ont commencé à utiliser le « DOCTYPE renifler » pour passer d’un « mode quirks » qui tente de rester compatible avec les bizarreries de vieux navigateurs et un mode de « normes » qui suit les mieux les normes actuelles. Mozilla a même trois modes : normes, presque-normes et bizarreries. L’espacement entre les images et les tableaux sont particulièrement touchés par la présente. Quelques commentaires de groupe de discussion a donné lieu, y compris de débat pour savoir si c’est une bonne chose ou une mauvaise chose et commentaires pratiques de développeurs qui trouvent leurs pages mystérieusement travaillent ou échouent, selon le DOCTYPE qu’ils utilisent. Voir quelques commentaires sur cela. Alors que le soi-disant « camp de puriste » aime l’idée des fabricants de navigateur passant de bizarrerie-compatibilité au respect des normes, ils ont quelques doutes à propos de l’approche « DOCTYPE renifler », car il semble être fait de façon plutôt capricieuse, correspondant à des choses hors de propos comme l’URL de DTD dans le DOCTYPE pour déterminer quel mode utiliser, plutôt que de montrer une compréhension véritable et complète de la signification de la DOCTYPE.
La syntaxe de la DOCTYPE est un peu obscure, avec différentes sections indiquant quelle norme est suivi et quelle organisation il administre, mais vous n’avez pas besoin construire les DOCTYPEs de votre choix (sauf si vous créez vous-même nouvelles DTD, pas une bonne idée si vous souhaitez adhérer à des normes que d’autres seront en mesure de comprendre), alors vous pouvez juste prendre le DOCTYPE approprié pour la norme vous le souhaitez à suivre et à « couper-coller » dans vos pages. Beaucoup de gens, surtout si elles ont été écrit HTML pendant un certain temps avant qu’ils ont commencèrent à essayer de valider leurs documents et sont habitués à utiliser des trucs « presentationalist », est susceptibles de trouver le DOCTYPE plus commode est celle de HTML 4.01 Transitional (approuvé par le W3C comme une révision mineure à la 4.0 antérieures) :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Cette DTD comprend à peu près toutes les balises et les attributs qui étaient autrefois considérés comme des extensions de Netscape ou Internet Explorer, afin que les pages plus récentes peuvent être faits pour valider sans perdre les caractéristiques importantes ou sacrifier l’aspect. Le « étendues » balises et les attributs qui ne sont pas dans cette DTD ne sont probablement pas une bonne idée d’utiliser, parce qu’ils ne sont pas toujours appuyés dans les deux navigateurs, sans parler des autres navigateurs.
Toutefois, si vous voulez « plus serré », code plus logiques, avec présentation déplacée vers les feuilles de style au lieu de balises de présentation Old-Fashioned, utiliser le doctype strict :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Ce type de document exclut de nombreux présentationnelle tags et attributs, s’en tenir à la pure structure logique (destiné à être utilisés avec des feuilles de style qui donnent des recommandations visuelles pour le document).
Il y a aussi un « Frameset » DOCTYPE :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Ceci doit être utilisé sur un document de jeu de cadres. Les images individuelles doivent utiliser un DOCTYPE régulier tels que HTML 4.01 Transitional.
Il y a aussi différents DOCTYPEs antérieures telles que 3.2 et 2.0. (3.0 n’a jamais approuvé et ne doit pas être utilisé, possède des fonctions diverses qui a jamais mis en œuvre dans les navigateurs.) Si vous voulez être très prudent dans votre prise en charge pour les anciens navigateurs, vous pourriez essayer de valider vos documents avec un DOCTYPE 2,0 ou 3,2, mais cette habitude n’est pas nécessaire si vous faites attention à utiliser vos nouvelles fonctionnalités dégrader gracieusement.
Et puis il ya le DOCTYPE pour XHTML 1.0, qui est une reformulation complète de HTML comme une application de XML, conçue pour être compatible avec les navigateurs actuels, mais avec beaucoup de nouvelles règles de syntaxe. Si vous souhaitez concevoir vos documents à cette nouvelle norme, lire la fiche sur le site du Consortium W3, puis utilisez l’une de ces DOCTYPES (maintenant officiellement approuvés comme recommandation W3C) :
XHTML 1.0 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Avec XHTML, vous êtes censé également pour utiliser une déclaration XML tout en haut du document (ci-dessus le DOCTYPE) :
<?xml version="1.0" encoding="UTF-8"?>
… mais, malheureusement, cette ligne semble gâcher certaines versions de MSIE pour Mac, ce qui les rend d’afficher le document en texte brut au lieu de HTML, bien qu’il soit envoyé avec le type MIME text/html standard. (Eh bien, certaines personnes essaient de servir des pages XHTML avec le type MIME text/xml, qui est techniquement plus précis et met certains navigateurs récents en mode strict de vérification standard, mais qui provoque la page échoue complètement dans MSIE). (Mais, encore, MSIE a toujours été connue d’ignorer les types MIME et faire ce qu’on ressent cela.)
(UTF-8 se réfère à l’encodage des caractères ; Veillez à ce que vous placez ici correspond à l’encodage de caractères vous utilisez réellement. Si vous n’avez rien d’autre que des caractères ASCII ordinaire avec aucun des caractères étrangers spéciaux ou des symboles, il ne fait vraiment pas beaucoup de différence, mais cela affectera comment vous encodez les autres caractères.)
Un type de document XHTML 1.1 a maintenant été approuvé par le W3C en tant que recommandation. C’est l’évolution future tentative de XHTML avec les éléments obsolètes des versions antérieures enlevées et un certain nombre d’autres modifications ; C’ est actuellement « pas prêt pour le prime time » parce que les navigateurs d’aujourd’hui ne le supporte pas très bien, et les éléments « transitoires » inclus dans les versions antérieures pour la compatibilité avec les anciens navigateurs ne sont pas plus présents.
Assurez-vous simplement que, lorsque vous décidez s’il faut utiliser HTML ou XHTML, vous choisissez un ou l’autre et rester avec elle constamment, syntaxe conçue pour l’une d’entre elles qui provoquerait des erreurs de validation dans l’autre, même si les navigateurs sont généralement assez bâclés dans leur interprétation des pages Web à débrouiller même une page moitié-moitié abâtardie. Un signe sûr d’ignorant Web développement est lorsque la syntaxe XHTML est utilisée dans une page avec un DOCTYPE HTML, ou vice versa, mais ces choses est monnaie courante sur le Web ces jours. Souvent les gens collent ensemble les extraits de code dans un monstre de Frankenstein d’une page Web qui contient un mélange de deux variétés. Bouts de code fourni d’extérieur tels que les bannières d’affiliation et de tracking pixel sont délinquants communs. N’oubliez pas de que vous convertissez un d’eux vous utilisez dans la syntaxe appropriée pour la variété HTML que vous utilisez et dire « vis vous! » à leurs auteurs s’ils insistent sur qui vous retient de clauses contractuelles que vous ne modifiez pas leur code de la demande.
HTML 5
HTML 5, qui montent beaucoup déjà, n’est pas en réalité pleinement approuvé à ce jour, mais il a obtenu un doctype. Ils ont vraiment pris la maxime « Keep It Simple, Stupid » à cœur cette fois : le nouveau DOCTYPE est :
<!DOCTYPE html>
Je ne sais pas comment elles comptent sur la distinction des futures normes, si est il jamais le cas ; puisqu’il n’y a pas de numéro de version actuelle de cette chaîne (il se distingue des précédentes DOCTYPE HTML parce qu’aucun d’entre eux étaient tout à fait ce court et simple) il ne semble pas être n’importe quel endroit pour indiquer le HTML 5.1 ou 6.0, une fois qu’ils existent.
ISO 15445
Il y a aussi un HTML standard ISO, ayant l’avantage du « poids » d’un organisme de normalisation véritable avec beaucoup plus de poids que le Consortium W3 ; Il a comme son DOCTYPE :
<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN>
Le validateur W3C reconnaît cela maintenant. La spécification est semblable à HTML 4.0 Strict du W3C. Consultez ce guide de l’utilisateur.
Fausses DOCTYPEs
Méfiez-vous des DOCTYPEs insérée ou modifiée par des éditeurs WYSIWYG ; beaucoup d’entre eux mettront leur DOCTYPE préféré dans tous vos documents (remplaçant tout un autre que pourrait avoir placé à la main), et ce ne sera souvent pas celle qui décrit exactement le code HTML, que l’éditeur génère. En fait, certains DOCTYPEs généré par l’éditeur ne suivent même pas la syntaxe correcte pour la déclaration DOCTYPE et provoquent des validateurs de refuser de valider le document du tout.
Liens
Validateurs
Linters/dames
  • Échange de lien Site Inspector
  • NET Mechanicun site gratuit très utile qui vérifie la syntaxe et les liens de votre site.
  • Docteur HTML
  • HTMLTidynettoie de HTML, des erreurs et suggère que DOCTYPE est approprié pour une page. (Utilitaire de ligne de commande disponible pour de nombreuses plateformes, open source.)
  • TidyUIWindows interface utilisateur pour HTMLTidy.
  • Le validateur de CST (anciennement mal nommée)à l’origine pas vraiment un validateur, mais un linter. Maintenant il ya en fait un véritable validateur construit en, mais seulement comme une fonctionnalité supplémentaire facultative ; ainsi, son nom est maintenant seulement quelque peu trompeuse au lieu de tout à fait tort.
Autres utilitaires
Commentaire, etc..

Comments are closed.