Un billet de Marie Guillaumet a eu un certain écho dans le petit monde de l'intégration : L'intégration web, cette leçon d'humilité.
Avant toute chose, je vous invite à le lire de toute urgence, pour ma part, j'y retrouve toute l'essence de mon métier, et la vision que Marie en a et les réflexions qu'elle aborde sont très justes.
J'y retrouve avec plaisir des questions qu'on s'est posées à plusieurs sur OpenWeb sur de l'intégrateur au développeur front-end : un maillon essentiel de la qualité Web, enrichies d'autres questions et de son expérience.
Ensuite, certains passages m'inspirent quelques remarques et autres pensées.
Prendre une décision dans cette immense champ des possibles ne dépend ni de vous, ni de moi. Aucune décision technique pour le web ne peut être la décision d’un seul individu. Pour pouvoir trancher, il faut s’en remettre aux objectifs du projet et à sa cible. Tout est question de contexte.
C'est ce qui fait le cœur de ce métier : selon moi, ce qui m'effraie et me fascine tant dans ce métier d'intégrateur, c'est qu'il doit constamment trancher avec énormément de variables (navigateurs cibles, performances, etc.). Particulièrement dans les petites structures, ou à peu près la moitié voir les 3/4 des contraintes passent par vous… quand elles ne reposent pas sur vous.
Un jeu de mot revient souvent dans le métier, l'intégrateur doit monter au front (en anglais, front signifie le devant, on appelle parfois l'intégrateur le développeur front-end ). En fait, ce jeu de mot est on-ne-peut-plus vrai, l'intégrateur est réellement en première ligne, c'est lui qui va aux charbons prendre les coups. Si vous n'aimez pas vous impliquer et/ou que l'idée de faire/défendre des choix vous fait peur, ce métier n'est pas fait pour vous. Je dis souvent quand je me lance dans une intégration que je rentre dans l'arène, l'image vaut son pesant de cacahuètes.
Bien sûr, il n'y a pas que des inconvénients, avoir des responsabilités et arbitrer, c'est valorisant.
La vérité est là, tapie dans l’ombre, et elle nous observe de toute sa majesté, un sourire aux lèvres : nous ne le pouvons pas. Nous allons nous tromper, et nous devons nous tromper, afin de nous améliorer nous-mêmes, de partager nos retours d’expérience et d’éviter à nos condisciples de commettre les mêmes erreurs que nous.
L'intégration CSS est vraiment un apprentissage par l'erreur, ça il n'y a aucun doute. Ceux qui sont qualifiés d'experts sont ceux qui en ont fait le plus ! :)
C’est un métier dans lequel le concept d’obsolescence programmée fait sens : chaque jour, nous produisons des fichiers qui seront obsolètes quelques semaines plus tard.
Là par contre, je nuancerai. Ne confondons pas la durée de vie d'un site et les techniques utilisées. Effectivement, il n'y a pas un site que j'ai fait sur lequel je n'aurais pas quelque chose à améliorer, même si c'est quasiment invisible. Nos connaissances se périment vite, ça c'est un fait indéniable. Il m'arrive même que mes propres CSS me piquent les yeux quand je les reprends : typiquement, maintenant que j'ai pris l'habitude de l'organisation carrée et ordrée de RÖCSSTI, mes anciennes CSS construites sans me paraissent très peu organisées et presque handicapées quand je cherche à les mettre à jour. En même temps, c'est plutôt un bon signe.
Ceci dit, le concept d'obsolescence programmée me gêne, cela implique que le site ou du moins la CSS serait à jeter à partir d'une certaine date, ça contredit totalement le fait qu'un site bien intégré s'affichera dans les navigateurs du futur. J'ai par exemple réalisé des sites il y a 5 ans voir plus qui sont toujours vaillants, même s'ils seraient bien sûr améliorables. En soi, la « technologie CSS » est robuste, pérenne et le site peut durer et continuer de bien s'afficher durant longtemps, même si ça serait améliorable.
Mais tout ce que nous apprenons en ce moment risque d’évoluer, jetant aux oubliettes les méthodes et les bonnes pratiques que nous sommes justement en train de théoriser.
Effectivement, toutefois, encore une fois je nuancerai. Ce qui est appris l'est une bonne fois pour toutes, par contre, ce que l'on choisit d'en faire va énormément évoluer. Là, par exemple, OOCSS est une grande technique à la mode, en tout cas ça en parle dur sur Twitter.
À mon sens, l'intégrateur éclairé doit surtout savoir repérer les limites de ces visions de CSS (tirer le bon grain de l'ivraie). Typiquement, OOCSS a de grands avantages, c'est indéniable, par contre, la contrepartie est une forte fragmentation des déclarations. RÖCSSTI m'apporte une excellente réutilisabilité de mes propriétés (DRY), toutefois, faire un refresh d'un site sans toucher à autre chose que la CSS peut être difficile (hé oui, quoi qu'on en dise, les CSS alternatives n'avaient pas que des inconvénients). Etc.
En matière d'intégration, tout choix a ses avantages et ses contreparties.
Le tout est d'en avoir une vision congruente, et – objectif suprême de l'intégrateur – inventer son propre style d'intégration.
Et quand vient notre tour de juger le travail de nos pairs, ne perdons pas de vue que nous ne connaissons pas les contraintes avec lesquelles ils ont dû jongler.
Cela, c'est quelque chose de vraiment important. Critiquer, argumenter, c'est bien. Prendre en compte le contexte, c'est vraiment mieux.
L'expression polie du domaine, c'est « être en contexte de production ». En clair, ça veut dire que vous êtes en temps limité et parfois même que 10 demandes arrivent en même temps (et parfois que vous en prenez plein la gu…). Même à temps perdu, le site parfait n'existe pas, alors en plein stress, à pleine charge en temps limité, vous vous doutez bien que la perfection est encore plus dure à atteindre.
Personnellement, plus je suis dans ce « contexte de production », plus je prends du recul quand on me demande un avis.
Un simple mot élégant « tiens je vois que tu as fait ça, c'est dommage, j'imagine que tu n'as pas eu la possibilité d'aller chercher plus loin ? », quoi qu'on en dise, ce n'est pas si difficile.
Je ne suis sûre de rien
Sûr, non.
Par contre j'ai des convictions. Le Web bien fait (accessibilité, qualité, etc.) a de l'avenir. La simplicité et l'élégance du code sont de bons indicateurs. L'universalité du Web n'est pas une option mais un principe.
Quand je me questionne sur l'effroyable complexité d'une technique, un réflexe : back to basics (retour aux fondements). Quel est la mission de base du Web ? Une solution universelle.
Tout ce que je sais, c’est que je ne sais rien.
Pas totalement rien, mais si peu de choses :)
En fait, c'est quand j'explique à un débutant que je me rends compte que je sais « quelques trucs ». Et plus j'en apprends, plus je me rends compte de l'immensité de tout ce que j'ignore.
Et si chaque goutte d'eau fait le même travail de recherche et de perfectionnement, on mesure l'ampleur du mouvement en marche dans l'intégration web..
J'aimerais juste approfondir un point soulevé dans l'article, qui me pèse particulièrement dans ma condition d"intégrateur : l'influence que l'on a sur la plupart des décisions liées à un projet web ( alors même qu'elles ne reposent pas sur nous ) et qui ne se reflète en rien dans notre considération au sein d'une équipe...
Dans l'agence qui m'emploie, je suis le plus ancien, le plus expérimenté, l'intégrateur qui tranche, et cependant - étant également le plus jeune (!) - je suis le moins bien rémunéré. Dicter à mon supérieur direct une décision, dont il est responsable et pour laquelle il est rémunéré, alors qu'il n'est pas vraiment compétent pour la prendre sans moi est une situation fort désagréable...
C'est un marronnier déjà bien secoué, mais j'ai hâte d'entrapercevoir un changement dans ce domaine !!
Merci pour les nuances dans cet article qui m'ont permis de préciser mes réflexions entamées hier avec l'article de Marie Guillaumet