REDPIXEL - stock.adobe.com
Une expertise front-end est nécessaire dans les projets d’applications web
Il reste rare de trouver des développeurs compétents en front-end au sein d’une équipe projet. En conséquence, le code front-end et le code back-end sont souvent réunis sous la forme d’une application monolithique dans laquelle la qualité globale du code est dégradée depuis longtemps.
La plupart des équipes de développement sont constituées de « développeurs full stack », mais la majorité d’entre eux est nettement plus expérimentée en développement back-end, et peu (ou pas) intéressée par le front-end. En réalité, rares sont les développeurs réellement full stack qui maîtrisent les deux domaines.
Le problème du monolithe
Le fait de scinder les compétences front-end et back-end en deux équipes dédiées (tout en laissant la possibilité aux vrais full stack de travailler pour chacune d’entre elles) permet aux équipes de se concentrer sur ce qu’elles savent faire et de garantir la qualité du code jusque dans les moindres recoins du projet.
Une fois les développeurs front-end et back-end identifiés et organisés, le code front-end et le code back-end peuvent être séparés en deux applications isolées avec, à la clé, la garantie d'une plus grande flexibilité et d’une maintenance plus simple. À l’inverse, une application monolithique unique implique quant à elle de devoir publier une nouvelle version complète de l’application au moindre changement de virgule dans une infobulle.
Les spécificités du front-end
Ces pratiques sont encore méconnues et négligées par de nombreux responsables de projets de développement, bien que les technologies et compétences front-end ne cessent de se multiplier et de se complexifier.
Dans le cadre de son travail, un développeur front-end doit garder à l’esprit plusieurs aspects ; ceux qui sont uniques et ceux propres au développement front-end. Être responsable de l’interface utilisateur implique que tout ce qui est fait a un impact direct sur la qualité de l’expérience utilisateur de votre application.
Performances
Outre les traditionnelles problématiques de performance liées à l’optimisation de tout code (problématiques que les développeurs back-end doivent également gérer), les développeurs front-end doivent également apporter une attention particulière à la performance de leur interface utilisateur à mesure que leur code évolue.
Auparavant, le navigateur de l’utilisateur allait chercher des pages entières sur le serveur et les rééditait dans leur intégralité dès qu’une action était effectuée. Ce n’est plus le cas depuis longtemps. Nous sommes aujourd’hui à l’ère des composants web, ce qui signifie que l’interface utilisateur doit être divisée en composants individuels, qui ne sont chacun réédités que s’ils doivent changer. Ce paradigme relativement récent peut améliorer considérablement la performance d’une interface utilisateur, à condition que ses développeurs maîtrisent le sujet.
À mesure que les interfaces utilisateurs se complexifient et s’alourdissent, contrôler « ce qui doit être réédité et quand » devient indispensable pour préserver leur vitesse d’exécution et d’affichage.
Style et structure
De nombreux développeurs qualifiés de full stack font tout pour éviter de faire du CSS, y préférant le « développement logique ». Pourtant avec l’apparition des relativement nouveaux langages précompilés comme SASS ou LESS, le style nécessite désormais aussi des compétences en développement logique, sans compter que les possibilités graphiques s’en sont trouvées décuplées.
Le CSS et les langages de style précompilés peuvent être bénéfiques à l’interface utilisateur, mais s’ils sont gérés par des personnes qui ne les maîtrisent ou ne les aiment pas, ils ne donneront lieu qu’à un enchevêtrement de règles contradictoires et/ou inutilisées qui seront un véritable cauchemar à maintenir.
Qui plus est, une interface utilisateur sera censée s’afficher et fonctionner correctement sur différents appareils, depuis d’anciens modèles de smartphones jusqu’aux grands écrans, et sur différents navigateurs web, en fonction des spécifications du projet. La création d’une application « responsive » nécessite de fait une excellente maîtrise des langages CSS et HTML. Une raison de plus qui devrait dissuader les décideurs de donner le travail front-end de leur application à des développeurs spécialisés back-end, à moins qu’ils ne manifestent un réel intérêt pour apprendre à faire ce travail correctement.
Qualité de l’UI
Le développeur front-end est la personne la plus proche de l’utilisateur. Ce qu’il développe sera utilisé ou abandonné en moins de temps qu’il ne faut pour prononcer les mots « interface utilisateur ».
Il est la personne qui saisira ou copiera du contenu et à ce titre, il est l’une des dernières personnes qui liront ce qui est écrit avant que l’utilisateur ne le voie. S’il détecte une faute de frappe, il la corrigera. Si le nom d’un bouton ne veut rien dire pour lui, il fera remonter l’information pour s’assurer qu’il n’y a pas d’erreur. Si les couleurs définies dans la charte graphique rendent tel ou tel élément peu visible, il devra impérativement en informer le(s) designer(s) avant de considérer que son travail est terminé.
En règle générale, le code qu’il crée devra toujours permettre de rendre l’interface utilisateur la plus propre et la plus cohérente possible.
Ce qui amène à un aspect important du métier de développeur front-end : à ce poste, il est amené à travailler avec tout le monde, y compris les développeurs back-end, les designers et même les product owners. Les équipes produit et design travaillent en amont, lui en aval. Il peut ainsi éviter à une interface des incidents qu’ils n’ont pas pu anticiper.
Et après ?
Ces conseils ne sont pas si faciles à mettre en œuvre. Les développeurs front-end sont rares, les experts encore plus. Tout chef de projet ou décideur doit faire de son mieux pour avoir au moins un développeur front-end expérimenté dans son équipe, en n’oubliant pas que dans l’idéal, il en faudrait plusieurs voire beaucoup en fonction du projet. De manière générale, il vaut mieux attribuer des tâches de front-end à un développeur front-end, même peu expérimenté, qu’à un développeur back-end qui n’apprécie ni ne maitrise les compétences front-end.
Si vous êtes développeur ou aimeriez le devenir, sachez qu’il y a des millions de choses à apprendre et autant de personnes passionnantes avec lesquelles travailler en tant que développeur front-end. Et inutile de préciser que compte tenu de la rareté des spécialistes front-end, vous n’aurez aucun mal à trouver un emploi dans n’importe quel pays du monde.