Tout va très vite maintenant

Au cours de ces derniers mois, j’ai pris conscience d’un changement important en intégration : tout va très vite maintenant. Très, très vite. C’est quelque chose que je vois au jour le jour en faisant de la veille. Il ne se passe plus une semaine sans que je ne découvre une nouvelle propriété CSS fraîchement sortie des spécifications du W3C (bonjour :nth-match(), merci Kaelig) ou un nouvel outil pour concevoir du web (hello Sketch Mirror). Mais c’est surtout quelque chose qui a désormais un impact direct sur un projet web.

Prenons un petit projet web qui dure environ trois mois, entre la signature du projet et sa mise en ligne. (C’est optimiste, mais réaliste si votre client sait ce qu’il veut). En trois mois, vous aurez deux ou trois nouvelles versions de Firefox et Chrome. Ça signifie qu’entre le moment où vous commencez à concevoir votre projet, puis l’intégrez, puis le mettez en ligne, vous aurez deux à trois versions de navigateur de différence. Mais deux ou trois versions, ce n’est peut-être pas encore suffisant pour avoir des fonctionnalités radicalement différentes et impactantes.

Alors prenons un plus gros projet, qui durera environ un an. (Ce n’est probablement pas une bonne idée de démarrer un projet web en sachant d’emblée qu’il va durer aussi longtemps, mais ça peut aussi arriver par accident, par erreur d’estimation.) En un an, vous aurez environ huit nouvelles versions de Firefox et Chrome, une nouvelle version d’Internet Explorer et de Safari, une mise à jour majeure d’iOS, d’Android, de Windows, et d’OS X. C’est comme un paysage technologique totalement différent, apparu en un an. Ça ne signifie pas nécessairement une adoption aussi rapide auprès des utilisateurs.

Mais ça signifie que si vous faites un projet web prévu pour durer, vous avez grandement intérêt à vous projeter sur les futures versions de navigateur et d’en profiter pleinement. Je n’ai plus aucun scrupule à utiliser des animations ou des transitions CSS, du box-sizing ou des box-shadow, tant que ça respecte une dégradation gracieuse.

  1. shavounet, le

    La dégradation gracieuse… ce doux rêve que l’on peine à faire partager… :D

  2. Nico, le

    Heureusement, Dieu a inventé le support d’IE8, qui permet à l’intégrateur de prendre le temps pour prévoir les nouveautés. :o)

  3. galex-713, le

    C’est vrai que c’est dingue la vitesse à laquelle CSS évolue… C’est génial aussi… Voilà qu’on voit dans le Web une *vraie* *informatique* (dans le sens premier d’*automatisation* de traitement de l’information, afin d’éliminer les tâches répétitives). Et ce qui est prévu à l’avenir est encore mieux…

  4. Martin Catty, le

    Paradoxalement on a de plus en plus de mal à déterminer quand on peut utiliser ces nouvelles propriétés afin que le plus grand nombre en bénéficie.

    Comme tu le dis les versions sortent de plus en plus vite et le marché est donc de plus en plus fragmenté.

  5. Nico, le

    Un détail rigolo : il m’arrive de « bugger » sur mon propre code CSS si un projet traine sur plusieurs mois : « tiens, j’avais pas encore mis ça dans RÖCSSTI il y a 3 mois, etc. »

  6. A.nonym, le

    Heureusement que les versions annuelles d’iOS « dictent » les évolutions.
    Au fond, c’est un peu idiot vu les parts de marché déclinante de cet OS, mais la marque à la pomme a un tel mindshare chez nos amis les graphistes et DA qu’une fonction n’existe pas vraiment tant qu’elle n’est pas disponible sur leur iPhone/iPad.

    Du coup là j’espère que iOS7 supportera WebRTC (j’ai eu la flemme d’installer la beta, et elle est sous NDA), sinon on repart pour un an sans.

    Au delà d’Apple, la fragmentation d’Android n’aide pas : lorsque JQuery est passé en version 2 en dégageant tout ce qui était legacy IE support, ils ont expliqué le faible différentiel de poids (10%) par les hack pour les vieilles versions de webkit d’Android <2.3

    L'autoupdate de Chrome Android aide pas mal, cependant il n'est pas encore le navigateur par défaut de la totalité des appareils (le HTC One mis à jour sous 4.2 a toujours son stock browser.)