Les préfixes constructeurs - commentaires Les préfixes constructeurs 2012-08-06T13:10:39Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment899 2012-08-06T13:10:39Z <p>Pascale, David : ça montre bien en tout cas qu'il faut garder toutes les versions préfixées. ^^</p> Les préfixes constructeurs 2012-08-06T09:05:21Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment898 2012-08-06T09:05:21Z <p>Maisheuuu ! Elle est à jour :/<br class="autobr" /> Faut me renvoyer à Anaheim, je ne vois que ça ;)</p> Les préfixes constructeurs 2012-07-25T12:39:19Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment849 2012-07-25T12:39:19Z <p>@Pascale : c'est normal, nous avons commencé à supporter les versions non préfixées qu'à partir d'IE10 PP6 livré avec Windows 8 Release Preview. Si tu as une version antérieure de Windows 8 (Developer Preview ou Consumer Preview), tu as une ancienne version d'IE10 qui ne supportait les gradients qu'en version préfixée.</p> <p>Conclusion : mets à jour ta tablette !!! :-P</p> <p>David</p> Les préfixes constructeurs 2012-07-24T18:56:10Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment845 2012-07-24T18:56:10Z <p>Sur le fait que les préfixes ont vocation à valider une syntaxe, le meilleur exemple vient de Firefox 16 qui va sortir sans préfixe pour les dégradés, et <a href="https://twitter.com/paulrouget/statuses/227831241905418240" class="spip_out" rel='nofollow external'>comme le montre Paul Rouget</a> :</p> <blockquote cite="https://twitter.com/paulrouget/statuses/227831241905418240" lang="en"> <p>If you remove the -moz- prefix from your linear gradients, don't forget to update the direction syntax ("bottom left" -> "to top right")</p> </blockquote> <p>La syntaxe a <strong>changé</strong> entre les tests et l'implémentation définitive.</p> Les préfixes constructeurs 2012-07-21T12:22:31Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment828 2012-07-21T12:22:31Z <p>C'est curieux ça : je viens de faire le test avec IE10 sous win8, ça ne fonctionne pas du tout sans le préfixe -ms ! Peut-être que cela va évoluer d'ici la sortie officielle de win8, mais je pense qu'il est plus prudent de le mettre...</p> Les préfixes constructeurs 2012-07-14T13:35:50Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment809 2012-07-14T13:35:50Z <p>Inutile de mettre -ms-gradient dans l'exemple de code : aucune version d'IE ne supporte la version avec préfixe, et IE 10 la supporte sans préfixe.</p> <p>D'ailleurs un grand nombre de propriétés sont en train de perdre leur préfixe : transitions, transforms, animations, gradients dans <a href="http://blogs.msdn.com/b/ie/archive/2012/05/31/windows-release-preview-the-sixth-ie10-platform-preview.aspx" class="spip_out" rel='nofollow external'>IE 10</a> et <a href="http://paulrouget.com/e/unprefixing-in-firefox-16/" class="spip_out" rel='nofollow external'>Firefox 16</a>. Voilà pourquoi il est indispensable de mettre la version non préfixée en dernière position !</p> Les préfixes constructeurs 2012-07-14T07:08:26Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment808 2012-07-14T07:08:26Z <p>@Tanguy : Il y a peu de temps, la communauté t'aurait recommandé d'y aller sur les dégradés parce que c'est bon, c'est réglé, ça bougera plus. Et puis il y a eu l'introduction du préfixe "to". Donc ça n'aurait pas aidé de consulter la communauté.</p> <p>Il n'y a que deux solutions : <br /><img src='https://openweb.eu.org/squelettes-dist/puce.gif' width="8" height="11" class="puce" alt="-" /> ne pas utiliser les préfixes <br /><img src='https://openweb.eu.org/squelettes-dist/puce.gif' width="8" height="11" class="puce" alt="-" /> avoir un fallback correct si la solution préfixée ne marche pas</p> <p>@Nicolas : Oups, ma énième relecture était fainéante :)</p> Les préfixes constructeurs 2012-07-13T18:06:49Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment807 2012-07-13T18:06:49Z <p>@Anthony : c'était déjà dans les références et compléments ! ;)</p> Les préfixes constructeurs 2012-07-13T16:40:42Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment806 2012-07-13T16:40:42Z <p>@Anthony Tout a fait d'accord avec toi, c'est pour ca que j'avais precise dans mon commentaire la condition de s'etre renseigner sur l'utilisabilite d'une feature css3 aupres de la communite des dev web (blogs, twitters, etc..), et grace notamment a des sites comme CanIUse ou HTML5Please sur lesquels on peut plutot bien se fier. A l'epoque ils auraient surement pointe du doigt le fait que l'utilisation des prefixes gradients n'est pas digne de confiance.<br class="autobr" /> Mais ce sont evidemment pas mal de conditions qui peuvent etre contraignantes et a moduler selon les budgets et le temps alloues a chaque projet.</p> Les préfixes constructeurs 2012-07-13T16:27:34Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment805 2012-07-13T16:27:34Z <p>Ah oui et depuis le début, j'ai oublié de filer la page pour bien vivre dans le futur !</p> <p><a href="https://developer.mozilla.org/fr/D%C3%A9veloppement_Web/D%C3%A9velopper_des_sites_%C3%A0_compatibilit%C3%A9_descendante" class="spip_out" rel='nofollow external'>Recommandations de Mozilla</a></p> Les préfixes constructeurs 2012-07-13T15:30:28Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment804 2012-07-13T15:30:28Z <p>"Cependant, cela ne résoud pas le problème du « legacy. » C'est à dire du support du préfixe, une fois la version non préfixée a été déclarée stable".</p> <p>Ajoute à ça que le navigateur peut ne pas être à jour... donc abandonner le préfixe dans la CSS du projet n'est pas pour autant une solution satisfaisante.</p> <p>Pourquoi l'expression "doigt coincé dans un engrenage" me vient à l'esprit ? ;)</p> Les préfixes constructeurs 2012-07-13T15:10:15Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment803 2012-07-13T15:10:15Z <p>Tanguy : "A partir de ce moment la, utiliser Less/Sass pour qu'il rajoute tous les prefixes qu'il faut plus la propriete CSS n'est pas un probleme."<br class="autobr" /> Et bien si justement c'est un problème. Imagine que tu développes un site à l'époque de la première version de la syntaxe des gradient. D'après ce que tu dis, tu vas inclure toutes les versions préfixées et la non-préfixée. Et bien cette fonctionnalité ne marcherait plus aujourd'hui puisque la syntaxe a énormément changé. Si c'était une prestation et qu'elle est terminée, tu n'as pas moyen d'aller modifier ce site.</p> Les préfixes constructeurs 2012-07-13T12:57:36Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment802 2012-07-13T12:57:36Z <p>Que des prefixes css se retrouvent en production je ne vois pas le probleme, ne serait que pour faire du "progressive enhancement", a condition (encore une fois une condition) de s'etre renseigner sur l'utilisabilite de tels prefixes grace a des sites comme CanIUse. A partir de ce moment la, utiliser Less/Sass pour qu'il rajoute tous les prefixes qu'il faut plus la propriete CSS n'est pas un probleme.<br class="autobr" /> Je pense qu'on en revient toujours au meme conclusions a la fin : le principe est bon mais souvent son application ne l'est pas, de fait d'un manque d'education des developeurs web. C'est pour cela que des articles comme celui la son primordiales, et plus il y en aura, plus le novice qui cherchera des infos pourra en trouver facilement. Encore faut-il qu'il cherche ! Mais je m'eloigne du debat..</p> Les préfixes constructeurs 2012-07-13T12:04:42Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment801 2012-07-13T12:04:42Z <p>@Nicolas,</p> <p>Oui, c'est une possibilité de signaler attention propriété instable. Mais dans ce cas, je choisirais plutôt l'option suivante : <code class="spip_code" dir="ltr">-draft-propriete: blah;</code>. Et si les comportements sont différents en fonction des navigateurs, cela montre bien le danger d'utiliser une propriété non finie.</p> <p>Cependant, cela ne résoud pas le problème du « legacy. » C'est à dire du support du préfixe, une fois la version non préfixée a été déclarée stable.</p> <p>Le grand enjeu des préfixes CSS n'est pas tant technologique que structurel et social.</p> Les préfixes constructeurs 2012-07-13T11:53:26Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment799 2012-07-13T11:53:26Z <p>A mon sens, les préfixes ont leur pertinence, toutefois il faut la repenser : à mon avis, ils sont maintenant là pour dire surtout "attention, usage à risque/truc pas stable" : c'est ce que j'ai humblement essayé de transmettre dans cet article : en substance, vous voulez franchir la ligne, ok, mais vous ne pourrez plus dire que vous n'étiez pas au courant des risques en ouvrant la boite de Pandore.</p> <p>Et comme tu l'as dit, Less et Sass simplifient la vie des intégrateurs, pas des navigateurs.</p> Les préfixes constructeurs 2012-07-13T10:50:57Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment797 2012-07-13T10:50:57Z <p>Partie 2</p> <p>Et donc cela pose à nouveau la question en des termes différents pour les autres navigateurs… de supporter la syntaxe des préfixes d'autres navigateurs diluant un peu plus la signification des préfixes (un espace réservé et protégé pour tester une technologie). La pression essentielle pour les navigateurs est d'être compatible avec le Web et la façon dont il est écrit afin de pouvoir interprêter les pages Web.</p> <p>C'est pour cela que les pratiques de less et de sass ne font qu'accentuer le problème en faisant croire à une amélioration de la situation. Finalement, ne courrons nous pas après les problèmes quand individuellement nous faisons le choix sur nos sites Web d'utiliser des propriétés qui ne sont pas prêtes. La structure sociale et économique du Web n'appelant pas à une solidarité collective de l'interopérabilité. Il y a peu de chances pour un changement de pratique des concepteurs.</p> <p>Au final, cela pose la question de la pertinence des préfixes CSS dans le processus de normalisation.</p> Les préfixes constructeurs 2012-07-13T10:49:59Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment796 2012-07-13T10:49:59Z <p>Il y a deux conditions essentielles pour que les préfixes CSS fonctionnent dans l'esprit initial de leur conception :</p> <p>1. les sites Web sont mis à jour en permanence. <br class="autobr" /> 2. les navigateurs Web ne rendent pas disponibles la fonctionnalité du préfixe dans la version finale du navigateur.</p> <p>Nous savons tous que ces deux conditions ne sont pas remplies. Un site déployé est rarement retouché s'il ne fait pas partie d'un système de gestion interne. Résultat : Nombre de pages sur le Web traînent avec des préfixes qui ne devraient plus y être. Bien sûr comme dans le bug de Mozilla, certains se plaignent de l'abandon de la propriété avec préfixes. L'ironie est que les équipes de <strong>Chrome et Safari</strong> ne veulent pas laisser tomber les préfixes pour être compatibles avec les pratiques des auteurs. Nombre de sites codés uniquement pour Webkit s'arrêteraient de fonctionner proprement.</p> Les préfixes constructeurs 2012-07-13T10:32:53Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment795 2012-07-13T10:32:53Z <p>Tanguy : Oui, j'ai vu le tweet passer ce matin, je l'ai ajouté dans références et compléments ("Un exemple de dégât collatéral occasionné par l'utilisation des préfixes"), vu que c'est un exemple parfait de ces problèmes.</p> Les préfixes constructeurs 2012-07-13T10:15:34Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment794 2012-07-13T10:15:34Z <p>Je viens de voir qu'Anthony Ricaud a fait la meme remarque dans son commentaire !</p> Les préfixes constructeurs 2012-07-13T10:13:54Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment793 2012-07-13T10:13:54Z <p>Tres bon article qui resume bien les problemes potentiels lies a la mauvaise utilisation de prefixes proprietaires. C'est drole (enfin ca depend..) car je viens juste de tomber sur un tweet donnant un lien pointant vers le bugzilla de mozilla firefox, avec une personne se plaignant de l'arret de support de certains prefixes constructeurs sur la derniere version de firefox : <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=765645" class="spip_url spip_out auto" rel="nofollow external">https://bugzilla.mozilla.org/show_bug.cgi?id=765645</a></p> <p>Ce qui amene a un autre point quand on utilise les prefixes proprietaires, non critique cependant : etre au courant quand les navigateurs "laissent tomber" les prefixes pour supporter complement la syntaxe officielle, et ainsi reagir en mettant a jour ses CSS pour virer les prefixes au fur et a mesure. Evidemment apres s'etre assurer que le pourcentage d'utilisation d'anciens navigateurs ne supportant pas les version non prefixees est negligeable. (et si on peut revenir sur un projet potentiellement deja termine, en terme de temps/cout).</p> Les préfixes constructeurs 2012-07-13T10:07:45Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment792 2012-07-13T10:07:45Z <p>Je recommande vivement aux gens d'aller faire un tour du côté de Compass (framework pour SASS) : <a href="http://compass-style.org/" class="spip_url spip_out auto" rel="nofollow external">http://compass-style.org/</a>. Un petit exemple de ce que propose Compass sur les linear-gradient : <a href="http://compass-style.org/examples/compass/css3/gradient/" class="spip_url spip_out auto" rel="nofollow external">http://compass-style.org/examples/compass/css3/gradient/</a></p> Les préfixes constructeurs 2012-07-13T10:03:05Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment791 2012-07-13T10:03:05Z <p>Il est important de noter que les préfixes s'appliquent aussi lorsque l'on souhaite accéder à une propriété CSS depuis Javascript.<br class="autobr" /> Une bonne pratique consiste à utiliser un outil comme <a href="http://modernizr.com/docs/#prefixed" class="spip_out" rel='nofollow external'>Modernizr</a> pour la gestion des préfixes côté JS.</p> Les préfixes constructeurs 2012-07-13T08:59:37Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment790 2012-07-13T08:59:37Z <p>Hello,</p> <p>Avec less ou saas, la maintenance est facilité avec ce type de problématique (changement de syntaxe)<br class="autobr" /> En effet, en utilisant un mixin pour gérer le background, on peut avoir à modifier qu'une seule ligne si la propriété change et si les arguments du mixin sont compatibles avec la nouvelle propriété.</p> Les préfixes constructeurs 2012-07-13T08:58:08Z https://openweb.eu.org/articles/les-prefixes-constructeurs#comment789 2012-07-13T08:58:08Z <p>Je rajouterais deux erreurs commises : <br /><img src='https://openweb.eu.org/squelettes-dist/puce.gif' width="8" height="11" class="puce" alt="-" /> Lorsqu'une spécification est stabilisée et que la version non-préfixée est implémentée, il convient d'enlever le support de la version préfixée après un certain temps. Cela permet de "casser" les pages qui n'avaient que la version préfixée, ce qui oblige les auteurs à les corriger, ce qui rend la page compatible avec tous les navigateurs. Apple ne joue pas le jeu sur ce point et a dit à plusieurs reprises qu'ils n'enlèveront pas les versions préfixées. <br /><img src='https://openweb.eu.org/squelettes-dist/puce.gif' width="8" height="11" class="puce" alt="-" /> Apple (oui, encore) ne joue pas le jeu de la standardisation en ne faisant que très peu de propositions de standards. Lorsqu'ils implémentent <code class="spip_code" dir="ltr"><meta viewport></code>, <code class="spip_code" dir="ltr">-webkit-device-pixel-ratio</code>, <code class="spip_code" dir="ltr">-webkit-mask</code>, <code class="spip_code" dir="ltr">-webkit-gradient</code>, etc. ils ne soumettent pas de spécification au W3C. Du coup, les autres navigateurs doivent faire de la rétroingénierie, ce qui prend énormément de temps tout en n'assurant pas une compatibilité maximum.</p>