Le front, c'est ce que les utilisateurs voient !
Dans une architecture client serveur, on appelle client le programme qui est exécuté sur l'ordinateur de l'utilisateur. Et on appelle serveur celui qui est exécuté sur une machine distante (aujourd'hui on dit "Dans le CLOUD").
Le front c'est le côté client, c'est l'interface homme-machine (IHM). Mais attention, subtilité : si toute l'application est rendue côté serveur, avec un Rails ou PHP par exemple, à ce moment là, le front est une application serveur.
Parce que le front c'est ce que l'utilisateur voit. Et dans le cas d'une application web côté serveur, il n'y a souvent qu'un tiers applicatif (avec une base de données).
Et le Back-office ? On pourrait croire que c'est un back-end, mais c'est un faux ami !
Le Back-office c'est l'interface utilisée pour administrer une application (ex : l'administration de wordpress par exemple). Ou alors c'est une application qui est utilisée par les agents de l'entreprise. À la CPAM, vos papiers sont traités coté backoffice le plus souvent. Et vous pouvez candidater pour travailler chez eux sur WeLoveDevs.
Le web, les clients lourds, et les applications mobiles sont les 3 grandes familles de front.
Sur le Web, il y a bien sûr les applications côté serveur, mais surtout des SPA (Single Page Application) codées avec React, Angular ou VueJS. On dira que c'est un développeur Web !
Les clients lourds sont des interfaces graphiques développées avec des outils comme Qt, Winform / WPF ou encore ElectronJS. Oui, parce qu'en fait des applications comme Slack ou Discord sont en fait des SPAs, en JavaScript, embarquées dans ElectronJS pour avoir l'air d'être une application "native". Sur macOS vous pouvez faire des applications en Swift avec Swift UI !
Sur mobile, on utilise les SDKs iOS ou Android pour faire des applications natives. On peut opter pour un framework hybride comme Flutter ou React Native. On dira que vous êtes un développeur Mobile, mais vous pouvez rester sédentaire.
Les développeurs fronts, le plus souvent, aiment faire de belles interfaces. Ils font preuve d'empathie utilisateur. L'utilisateur final va peut-être passer des heures sur son interface. Il faut qu'il passe un bon moment.
Il y a un sens du beau, un goût de l'esthétique. Faire un beau design d'intéraction, ça peut prendre des heures. Alors si on y prend pas de plaisir, si on est pas particulièrement satisfait à la fin, on ne va pas s'épanouir à la fin de la journée.
Si vous voulez voir ce type de dev front en action, je vous recommande Benjamin Code sur Youtube
Sur le Web en particulier, le métier de développeur front couvre maintenant un scope de compétences très large.
On appelait et on appelle encore intégrateur ou integration, le métier qui consiste à prendre un planche conçue par un créatif dans Photoshop et d'en faire du HTML/CSS.
Mais aujourd'hui un dev Front peut ne pas aimer le CSS, et se spécialiser sur sa connaissance du navigateur, du web de manière générale. Il peut aussi apporter de la qualité, du craft, et se spécialiser dans l'implémentation de logiques métiers.
Sur Mobile ou dans les clients lourds, il faudra implémenter toute une logique pour aller chercher la donnée, remonter les informations vers le backend etc... Il y a différentes architectures comme la programmation Reactive.
Bref, il y a encore une fois une grande diversité derrière le métier de dev front. Et il faudra s'assurer de la complémentarité des personnes pour une bonne équipe !