Faisant suite à mon billet qui indiquait de ne pas être sectaire dans ses approches des sites, je veux vous montrer que la même personne, en l'occurrence moi, peut faire des choix radicalement différents selon le contexte, en matière d'intégration CSS bien sûr !
Et tant qu'à prendre un sujet trollesque, prenons celui des préfixes constructeurs !
Imaginons deux cas de figure volontairement très différents :
- dans le premier, je me place dans le cas de la création d'un site pour un client au travail,
- dans le second, je vais parler des préfixes CSS dans mon admin jQuery Mobile.
Vous avez sûrement pu constater que dans le billet sur les préfixes, je conseille de tous les utiliser, pour tout un tas de raisons très valables :
- garantir que tous les navigateurs auront leur préfixe et profiteront de la propriété,
- éviter d'avoir à y revenir par manque de temps,
- ne plus avoir à gérer les mises à jour des navigateurs et le support de ces propriétés, etc.
Typiquement, quand je conseille cette façon de faire, je suis dans le premier cas, à savoir la création d'un site au travail pour un client. Je n'aurais certainement pas la possibilité d'y revenir en détail, et donc je choisis d'alourdir un peu ma CSS pour être tranquille vis à vis de tous les navigateurs et des spécifications futures.
Second cas, je peux aisément constater dans les CSS de jQuery Mobile que certains préfixes sont omis volontairement pour certaines parties, les transitions utilisant CSS 3D transform et CSS animation. La raison est tout à fait valable : ces propriétés ne sont supportées à l'heure où j'écris ce billet que par les navigateurs utilisant WebKit et par Firefox. Comme il est stipulé sur l'annonce de jQuery Mobile RC 1.10, les développeurs ne mettront les préfixes que quand le rendu de ces propriétés sera jugé satisfaisant sur ces navigateurs. De leur côté, le raisonnement de ne pas mettre tous les préfixes se tient.
Au vu de mon billet sur les préfixes, vous pourriez être tenté de croire que je vais les ajouter pour le tas de bonnes raisons que j'ai énumérées ci-dessus. Et pourtant il n'en est rien : je n'utiliserai pas de préfixes supplémentaires dans ce cas !
Et voici les très bonnes raisons qui motivent cette décision dans ce cas :
- j'ai le temps de tenir à jour cette administration basée sur jQuery Mobile,
- je fais confiance à l'équipe de jQuery Mobile qui fait des tests poussés pour savoir si le support des propriétés est satisfaisant ou non,
- et je peux ajouter que dans ce cas, je ne discrimine personne : cette admin est pour mon utilisation personnelle, et quand bien même j'utiliserais un navigateur différent, ces propriétés ne sont pas reconnues.
Quid de mon propos : double langage ? Schizophrénie ? Un coup je dis oui il faut mettre tous les préfixes constructeurs, et l'autre je m'en moque ? La même personne qui tient deux discours diamétralement opposés ?
Non bien entendu, je ne pratique pas le double langage ni ne suis schizophrène : c'est juste que le contexte est différent, mes buts sont différents dans ces deux cas, et les arguments annoncés dans ces deux cas sont tout à fait valables selon ces buts.
Tout ce propos pour dire : adaptez-vous à votre contexte. Je suis effaré des fois de voir des personnes qui tiennent tout le temps le même discours face à des choix ou des projets radicalement différents.
Que cela soit clair : il y a des réponses courantes aux sites internet, mais il n'y a pas de réponse type à tous les cas de figure rencontrables en matière de sites internet. L'éventail est bien trop large.