Les standards du web, un concept dépassé ?

Le problème exposé dans ce sujet a été résolu.

Salut à tous !

Je remarque qu’à l’heure actuelle, beaucoup de sites ne respectent pas les standards.

Exemples de résultats de validation : Google, Facebook, ZdS, Github, Amazon

Je risque de dire pas mal de bêtises, rectifiez-moi si besoin :-°
J’ai toujours développé mes sites seul et en amateur, je n’y connais rien en développement professionnel.

Je me demande ce qui explique ce constat.

Peut-être que…

  • les concepts de standards sont dépassés pour les sites modernes
  • l’utilisation d’un truc (j’ai oublié le nom) comme Django, Wordpress, Pelican,… génère du code source non-standard par défaut
  • Les normes sont trop strictes
  • La génération de contenu dynamique (PHP, etc) implique de générer du code non-standard

Aussi, quel est votre point de vue actuel sur les standards ?

Pour ma part, le respect des standards, je pense que c’est…

  • éviter les erreurs syntaxiques grâce à la validation de code
  • assurer un meilleur affichage sur les navigateurs (moins de fautes, le navigateur interprétera la page d’autant mieux)
  • avoir un code tenu à jour (on évite les balises et attributs obsolètes)
  • une manière de s’engager dans un code propre (on évite d’écrire n’importe quoi) et durable

Si possible, précisez si vous prenez un point de vue professionnel ou amateur, les deux m’intéresse.

Merci d’avance pour vos réponses ^^

Salut !

Si les sites comme ceux que tu cites ne respectent pas les standards, c’est surtout parce que tous les navigateurs, même actuels, ne les comprennent pas, ou pas correctement, à mon avis.

Après, il y a le cas spécial de Google qui lui, "génère" ce qui deviendra le standard futur, en plus de se vouloir compatible avec les vieux navigateurs encore utilisés.

Mais cela n’empêche pas de coder en suivant les recommandations et respectant les standards. Le seul risque que je vois est qu’en faisant cela, on va s’aliéner certains internautes qui utilisent sans le savoir un navigateur qui ne comprend pas correctement ce qu’on lui fournit. Si dans certains cas cela ne porte pas à conséquence, la mise en page peut en pâtir dans d’autres — c’est un des points les plus flagrants, il y en a évidemment d’autres.

+0 -0

En fait ces gros sites ont aussi des contraintes particulières pour viser une audience plus large, c’est qu’ils doivent être compatibles avec toutes sortes de navigateurs, y compris certains assez exotiques ou anciens qui ne respectent pas forcément les normes ou ont des bugs bizarres.

Du coup ils se retrouvent à devoir faire du code non standard pour s’assurer que leurs utilisateurs peuvent profiter du service sans problème.

Sur des sites simples généralement en faisant du code standard on s’en sort, mais quand on veut vraiment être compatible on doit s’adapter.

Après faire du code non standard n’est pas non plus une calamité, il faut juste savoir pourquoi on le fait et être sûr que ça en vaut la peine. Ce ne sont que des standards, pas des lois morales, après tout… ;)

J’ai mis trop de temps à écrire, Ymox m’a doublé:(

Google est un mauvais exemple étant donné que l’entreprise possède un site web et un navigateur qui s’autosuffisent. Surtout ces mois-ci avec la polémique des Polymer, il y a un conflit d’intérêt.

  • La génération de contenu dynamique (PHP, etc) implique de générer du code non-standard
Chat

Pourquoi ? Mon code HTML peut correspondre aux normes même s’il est généré dynamiquement.

+0 -0

o_O

Je tombe de haut en apprenant que…

  • Tous les navigateurs ne comprennent pas les standards (C’était pas l’un des objectifs du W3C ?)
  • Par conséquent, pour des raisons d’audience, des sites doivent coder non-standard afin d’être compatibles (C’était pas l’un des objectifs du W3C, la compatibilité d’un web pour tous ?)
  • Le W3C n’est plus l’organisme de référence et même qu’il semblerait que le W3C, pour faire bonne figure après de ses donateurs, copie-colle des documents du WHATWG

Je pense que c’est un échec pour le W3C.

J’ai besoin de temps pour digérer ces nouvelles, j’ai toujours pris un temps fou à écrire des pages web conformes aux standards… pour apprendre aujourd’hui que les normes partent dans tous les sens.

L’une des raisons personnelles qui me motivait à être conforme aux normes W3C, c’était de comprendre le code HTML que j’écrivais.
J’avais l’impression de donner un sens, une définition, un contexte à des balises comme <!DOCTYPE html>, <meta charset="utf-8">

Pour moi, en écrivant <!DOCTYPE html>, cela revenait à dire au navigateur : « Je vais coder mon site web en HTML5, ne soit pas étonné de voir des balises <script></script> sans l’attribut type="text/javascript" ; ou bien de voir la balise <meta charset="utf-8"> ; ou encore de ne plus fermer les balises autofermantes avec /> »…

Bref, toutes ces normes (ces règles) donnaient du sens à mes pages web.
Aujourd’hui, à quoi peut-on se raccrocher pour coder proprement, sans erreurs, avec une bonne compatibilité… ?

Devrait-on retourner vers du XHTML Strict 1.0, avec des normes figées, afin d’avoir des pages qui puissent être correctement interprétées par tous les navigateurs ?

Pourquoi ? Mon code HTML peut correspondre aux normes même s’il est généré dynamiquement.

En effet. Ce que je voulais plutôt dire, c’est qu’il est plus difficile de respecter ces normes avec du code PHP, en tout cas c’est un vrai casse-tête pour ma part mais soit ^^

Autre point qui n’a pas été soulevé: les gros sites essayent habituellement d’optimiser leur code pour limiter la quantité de données envoyés au navigateur, et ça peux vouloir dire avoir un code non-standard pour sauver quelques octets par page.

C’est pas un échec, les navigateurs comprennent les standards, c’est juste qu’ils doivent aussi être rétro-compatibles, y compris avec des trucs qui n’ont pas été standards (comme :before en CSS par exemple) et ont parfois des bugs (et quand ils trainent, les développeurs web s’adaptent et trouvent des solutions pas toujours propres pour contourner le problème).

Je tombe de haut en apprenant que…

  • Tous les navigateurs ne comprennent pas les standards (C’était pas l’un des objectifs du W3C ?)
Chat

En réalité, ce sont surtout de vieilles versions des navigateurs desktop qui posent problème. Les versions plus récentes n’ont tout simplement pas encore tout implémenté, ou pas selon les dernières normes parce qu’elles ont évolué entre le début de l’implémentation et la publication. Et évidemment, il y a un temps d’adaptation et diverses priorités. Pour ne citer qu’un point qui me tient assez à cœur : le support des types de champs date, datetime-local, time, month et week. Le premier navigateur à avoir tout implémenté (y compris datetimequi a été abandonné depuis) était Opera dans sa version 11 si je me souviens bien1. Chrome a mis un peu de temps et supporte les 5 types — tout n’était pas génial dans les premières versions. Firefox suit gentiment (date et time uniquement actuellement), Safari (même en technical preview) et Internet Explorer ne les supportent sauf erreur pas. En revanche, Edge les supporte tous…

A noter que le fait d’avoir des navigateurs sur différents supports n’aide pas nécessairement à implémenter tout rapidement. Ainsi, Firefox pour Android supporte les 5 types, alors que la version Nightly pour desktop ne supporte que date et time, même en allant trafiquer certains réglages.


  1. Mais la version 11 utilisait encore le moteur de rendu propre à Opera. Le support de ces champs a disparu après la version 12, du fait du passage à Webkit, qui ne gérait pas encore très bien ces champs. Et du coup, l’implémentation actuelle suit les progrès de cet autre moteur de rendu et plus précisément de son fork effectué par Google.

+0 -0

o_O

Je tombe de haut en apprenant que…

  • Tous les navigateurs ne comprennent pas les standards (C’était pas l’un des objectifs du W3C
Chat

De mon point de vue, je pense qu’aujourd’hui il est plus compliqué de faire un navigateur qui soit stable est implémente bien les standard qu’un système d’exploitation.

Le truc le plus chiant, c’est que chacun tente de définir ses standard (d’où les vague de -moz-mon-truc, -webkit-*, etc.) ce qui ne simplifie pas la vie des dev.


Il semblerait que tu soit encore en phase d’apprentissage, des langages web je me trompe ?

Lorsque tu tu maîtrise bien la chose (HTML, CSS, JS) pense à utiliser des frameworks (le mot que tu cherchait) pour te simplifier la vie. Aujourd’hui plus personne ne fait de site uniquement qu’en HTML/CSS, même pour des sites static, car tu perd trop de temps à faire ça. Après je ne dit pas qu’un framework le fera mieux que toi, mais il te fera gagné beaucoup de temps. EDIT: Il faut également apprend à ce servir du framework. Et cela demande de la rigueur afin d’éviter d’avoir un code mal optimisé, illisible, difficilement maintenable.

+0 -0

Lorsque tu tu maîtrise bien la chose (HTML, CSS, JS) pense à utiliser des frameworks (le mot que tu cherchait) pour te simplifier la vie. Aujourd’hui plus personne ne fait de site uniquement qu’en HTML/CSS, même pour des sites static, car tu perd trop de temps à faire ça. Après je ne dit pas qu’un framework le fera mieux que toi, mais il te fera gagné beaucoup de temps.

Heziode

Le début du paragraphe est à souligner : ne jamais (JAMAIS) utiliser un framework sans comprendre comment il fonctionne. En comprenant ce qu’il fait on saura l’utiliser de la bonne façon car on saura quelle méthode est plus utile/optimisée. Autrement on finit par pondre une soupe de code impossible à maintenir car on ne comprend pas comment ça fonctionne.

Lorsque tu tu maîtrise bien la chose (HTML, CSS, JS) pense à utiliser des frameworks (le mot que tu cherchait) pour te simplifier la vie. Aujourd’hui plus personne ne fait de site uniquement qu’en HTML/CSS, même pour des sites static, car tu perd trop de temps à faire ça. Après je ne dit pas qu’un framework le fera mieux que toi, mais il te fera gagné beaucoup de temps.

Heziode

Le début du paragraphe est à souligner : ne jamais (JAMAIS) utiliser un framework sans comprendre comment il fonctionne. En comprenant ce qu’il fait on saura l’utiliser de la bonne façon car on saura quelle méthode est plus utile/optimisée. Autrement on finit par pondre une soupe de code impossible à maintenir car on ne comprend pas comment ça fonctionne.

viki53

Je pensez que cela coulez de source, j’ai éditer mon poste.

Je pense que c’est plus compliqué que cela, quelques points en vrac:

  • Ne serait-ce qu’un ; sur la homepage de google impact sérieusement la bande passante utilisée ;
  • Certaines librairies imposent des choses non standards pour fonctionner ;
  • Les sites sont maintenant des applications, les templates éclatés en milliers de fichiers, vérifier une erreur dans le HTML de tous ses fichiers est une douleur que personne ne se donnera, surtout si "ça marche en fait".

Note: si un code non standard n’est pas très grave, il est quand même à noter qu’un code standard sera bien mieux référencé par les moteurs de recherche.

+0 -0

Lorsque tu tu maîtrise bien la chose (HTML, CSS, JS) pense à utiliser des frameworks (le mot que tu cherchait) pour te simplifier la vie. Aujourd’hui plus personne ne fait de site uniquement qu’en HTML/CSS, même pour des sites static, car tu perd trop de temps à faire ça. Après je ne dit pas qu’un framework le fera mieux que toi, mais il te fera gagné beaucoup de temps.

Heziode

Le début du paragraphe est à souligner : ne jamais (JAMAIS) utiliser un framework sans comprendre comment il fonctionne. En comprenant ce qu’il fait on saura l’utiliser de la bonne façon car on saura quelle méthode est plus utile/optimisée. Autrement on finit par pondre une soupe de code impossible à maintenir car on ne comprend pas comment ça fonctionne.

viki53

OK, donc en fait il ne faut jamais utiliser de framework alors ? Comment voulez-vous comprendre un framework sans l’utiliser ? C’est justement en l’utilisant qu’on le comprend. De plus, que veut dire "comprendre un framework" ? Je suis développeur Symfony, je l’utilise tous les jours depuis des années, et il y a des choses que je ne comprends pas (et pourtant je suis rentré relativement en profondeur de la bête). C’est d’ailleurs l’intérêt d’un framework : pouvoir faire des choses sans forcément comprendre comment cela fonctionne.

+2 -0

@John: tu n’as visiblement pas compris mon propos. Je disais qu’avant de commencer à utiliser un framework il faut avoir un minimum de bases pour comprendre comment il fonctionne sans copier-coller bêtement. Rien de plus.

viki53

Dans ce cas là, oui. Pour ma part j’ai tenté Vuetify sans rien y connaître (ni connaître Vue.js), j’ai vite arrêté. ^^

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte