Ingénierie et développement Web en Suisse romande

Développement web

Voilà une expression que l'on entend très régulièrement, quels que soient notre domaine d'expertise et notre secteur d'activité. Si les mots sont familiers, la multitude des professions, outils techniques et possibilités offertes par le secteur restent pourtant bien souvent flous.

Qu'est-ce que le développement web, activité importante d'une agence web ? Quels en sont les métiers, les outils, les technologies ? Comment se former et quels sont les perspectives du secteur dans un futur proche ? Ce guide complet répond à toutes ces questions et quelques autres, le tout sous une perspective globale s'intéressant finalement au cas particulier de la Suisse romande. Nous vous entraînons avec nous dans ce milieu qui nous passionne !

Qu'est-ce que le développement web ?

Le développement web regroupe tout ce qui touche de près ou de loin à la conception de sites Internet et d'applications Web et mobiles. Il s'agit donc d'un domaine vaste, requérant l'utilisation de langages de programmation ou de balisage variés (PHP, HTML, CSS, JavaScript et bien d'autres), une action à différents niveaux utilisation (serveur ou client notamment) et la création de contenus multimédias (texte, image, vidéo, son).

Chaque outil du développement web, chacun de ses domaines d'application, permet l'obtention de produits web variés, plus ou moins spécialisés et complémentaires. Son univers est par conséquent très riche et implique l'intervention de profils humains très différents. Pour autant, un projet web complet est rarement l’œuvre d'un seul et même acteur. Au contraire, la tendance est à la spécialisation et chacun se concentre aujourd'hui sur un aspect très spécifique de la conception pour le web.

Certains créent ainsi du code, d'autres du texte et d'autres enfin du visuel. Certains programment pour une cible spécifique d'utilisateurs, d'autres écrivent pour les robots de Google. Tous pourtant développent ensemble, dans une organisation tout ce qu'elle a de plus humaine. Cette progression numérique n'est possible que grâce à une coopération de l'humain, pour l'humain. Car quels que soient les motivations quantitatives (performance d'un site, taux de trafic ou chiffre d'affaires dégagé), au final tout n'est développé que pour satisfaire l'utilisateur, replaçant l'Homme au centre du processus.

Technologies et langages web

Nous vous invitons à dévouvrir notre page dédiée aux technologies web.

Frontend = côté navigateur

Nous l'avons évoqué, chaque niveau d'intervention, chaque couche d'un produit web s'accompagnent de l'utilisation d'outils spécifiques. Côté client, l'utilisateur voit avant tout du HTML. Le tout est mis en forme grâce aux feuilles de style (le CSS) et éventuellement animé grâce à JavaScript (JS).

Comme son nom l'indique, JS est un langage de script. Cela signifie que sa syntaxe est moins stricte que d'autres langages, et surtout qu'il est interprété au niveau du navigateur qui va ensuite afficher la page demandée (le résultat de l'interprétation). C'est ce mode de fonctionnement propre aux langages de script qui explique la possibilité qu'a un internaute de consulter le code source d'une page Internet. Le navigateur en a en effet besoin pour pouvoir afficher le résultat.

Backend = côté serveur

Côté client, il n'existe aucune trace visible des langages serveurs, qui sont pourtant à la base de l'affichage des pages HTML. En pratique, l'utilisateur demande une page, en entrant une URL dans sa barre de navigation ou tout simplement en cliquant sur un lien. Le serveur reçoit alors cette demande, la lit, interprète le code serveur, puis enfin encapsule le résultat dans une page HTML. Ce sont ces résultats que nous voyons en permanence en tant qu'internautes.

Les langages côté serveurs sont plus nombreux et incluent par exemple Python, Ruby ou PHP. Les requêtes à la base de données sont quant à elles généralement écrites en SQL et l'utilisation d'un système de gestion de bases de données (SGBD) facilite ce processus. Ces logiciels systèmes permettent en effet de créer (CREATE), sélectionner (SELECT), mettre à jour (UPDATE) ou encore supprimer (DELETE) des données facilement.

Ces technologies de l'ombre ont l'énorme avantage de permettre de gagner en sécurité.

Frameworks et autres bibliothèques

Chaque site Internet, chaque projet web est différent. Pour autant, un certain nombre de fonctionnalités reviennent très régulièrement et se retrouvent, à quelques détails près sur un grand nombre de plateformes. Afin de faciliter l'écriture du code, gagner en performances et sécurité, et ainsi accélérer les phases de développement, différents outils existent et continuent de voir le jour. Chaque langage de programmation s'accompagne ainsi d'un écosystème plus ou moins complet, incluant bibliothèques et frameworks.

Les bibliothèques, tout d'abord, regroupent un ensemble de fonctions pré-programmées qui peuvent être utilisées par les programmeurs sans avoir à écrire l'ensemble du code. Elles peuvent être utilisées telles quelles ou modifiées pour correspondre plus précisément aux besoins d'un projet donné. Elles permettent donc au programmeur de se concentrer sur la phase créative de son métier et mettre ses compétences au service des aspects les plus uniques et innovants d'un projet. À tort, les bibliothèques logicielles sont souvent appelées librairies, en référence directe à leur appellation anglophone de library.

De la même manière, les frameworks (ou infrastructures logicielles) rassemblent des composants logiciels qui permettent au développeur de disposer d'une base de travail structurant le projet et proposant toutes sortes de fonctionnalités. Chaque langage dispose de frameworks dédiés. Django est ainsi destiné à Python, Ruby on Rails à Ruby et zend framework à PHP. La plupart des frameworks web utilisent le motif d'architecture logicielle Modèle-vue-contrôleur, simplement abrégé en motif MVC. Grâce à son fonctionnement en trois modules distincts, il permet de séparer les responsabilités, augmenter la sécurité de chaque couche et faciliter la maintenance. Les sites construits sur le motif MVC s'accompagnent cependant d'une structure un peu plus complexe.

CMS

CMS signifie Content management system. On préfère pourtant souvent l'acronyme anglais au français SGC, pour Système de gestion de contenu. Quel que soit le nom qu'on lui donne, il qualifie toujours une famille de logiciels travaillant de concert à faciliter le travail du développeur qui crée un site Internet.

Le CMS a comme particularité de séparer la forme du contenu, et donc de créer une structure globale, une architecture de l'information qui soit totalement indépendante du contenu qui sera ensuite intégré aux pages. En plus d'économiser énormément de temps au développement, l'existence de rôles et la possibilité de travailler en équipe rend la petite maintenance bien plus aisée. Le développeur principal peut ainsi s'occuper des fonctionnalités et de la sécurité du site, lorsque les utilisateurs (du département marketing par exemple) peuvent disposer de droits restreints leur permettant de publier les actualités de leur entreprise sans risquer de provoquer d'incidents techniques.

Il existe de nombreux CMS, tous n'offrant pas les mêmes fonctionnalités ni la même facilité de prise en main. Le premier en nombre d'utilisateurs, mais aussi d'accessibilité est sans conteste WordPress. Initialement spécialisé dans la création de blogs, WordPress permet désormais, grâce à ses innombrables extensions, de créer n'importe quel type de site. Couplé à WooCommerce, il se transforme également en CMS e-commerce permettant de très facilement créer une boutique en ligne. Parmi ses principaux concurrents, on retrouve Drupal, réputé pour ses performances et sa sécurité, mais aussi Joomla et TYPO3.

Développement pur ou CMS : que choisir ?

Pour les entreprises, projeter de développer un site ou une application pose la question du budget à allouer. Pour un produit numérique de qualité, il est souvent conséquent, et toutes les structures ne peuvent pas l'aborder. Le CMS parait alors être une solution permettant d'arriver à ses fins à moindre coût et sans sacrifier la qualité en route. Pour autant, tous les besoins sont différents et la réponse n'est pas toujours aussi évidente qu'il ne parait.

Un développement pur laissera ainsi toujours plus de flexibilité. En codant de zéro, la marge de manœuvre est forcément plus grande. Chaque fonction, chaque template de page, chaque aspect de la sécurité est pensé spécifiquement pour les besoins de la société concernée. Le temps nécessaire à la création, intégration et validation du site est cependant en moyenne plus long, les besoins en ressources humaines sont plus conséquents et, en tout logique, le budget également. Les projets les plus complexes nécessitent cependant ce temps et d'être abordés individuellement. En limitant ce traitement particulier, un CMS ne ferait au contraire qu'ajouter des contraintes supplémentaires au bon déroulement des choses.

Pour les plus petites structures, comme les petits commerces ou les indépendants, le choix se situe souvent autre part. Même en utilisant un CMS, créer sa visibilité en ligne a un coût et demande l'intervention d'un professionnel. Il est alors tentant de se tourner vers des éditeurs en ligne, comme Wix ou Jimdo. Leur utilisation est certes pensée pour les néophytes. Leurs performances généralement moins bonnes vis-à-vis du référencement naturel (SEO), de la sécurité et du responsive (affichage mobile) en font pourtant des options à ne pas conseiller à vocation professionnelle. D'autant que leur système de paiement mutualisé est au final loin d'être économique.

Le mobile : marché incontournable

Depuis le début des années 2010, le smartphone est devenu le nouveau cheval de bataille des experts en marketing. Il faut dire que davantage de pages sont désormais consultés sur natel ou tablette que sur ordinateur. L'arrivée de l'iPhone en 2007 a en effet totalement bouleversé le marché en démocratisant l'utilisation d'applications mobiles, petits logiciels permettant d'ajouter toutes sortes de fonctionnalités à un téléphone désormais intelligent.

Pour les entreprises, passer à côté de ce marché devient de plus en plus compliqué, tant cela implique de se fermer tout un pan de leur cible potentielle. Sauter le pas signifie pourtant s'engager dans un ou plusieurs développements parallèles, selon le type de plateforme visé. En effet, s'ils ont été les premiers à conquérir le marché, les iPhone d'Apple ont vu la concurrence des mobiles Android (le système d'exploitation, ou OS, de Google) les devancer de très loin en nombre.

Effectivement, une application mobile est créée pour une plateforme et donc un OS spécifique. Là encore, ce sont les besoins qui guident les décisions des entreprises. Apple encourage l'utilisation du Swift et d'Objective-C. Bien que minoritaires, les utilisateurs de la marque à la pomme tendent pourtant à dépenser plus sur l'app store. Les marques souhaitant s'adresser au grand public ont davantage intérêt à privilégier la conception d'une app Android, requérant l'intervention d'un programmeur familier de Kotlin ou Java.

Dans tous les cas, les applications mobiles offrent de nouvelles opportunités de satisfaire les utilisateurs grâce à une valeur ajoutée apportée par rapport à l'expérience desktop. En attirant de nouvelles cibles et fidélisant les clients existants, les marques peuvent alors espérer gagner en visibilité et convertir davantage, dans le but d'impacter positivement leur chiffre d'affaires.

Les métiers du développement web

Du premier emploi de stagiaire à l'accession au poste convoité de CTO (pour Chief Technical Officer), le développement web regroupe un grand nombre de métiers liés au digital. Plus ou moins spécialisés, ils s'inscrivent cependant globalement dans trois catégories principales, qui se distinguent par leur couche d'intervention.

Développeur front-end

Le développeur front-end est, de façon simple, le professionnel du développement web responsable de la partie visible à l'écran, c'est-à-dire en interaction directe avec l'utilisateur. Il est donc potentiellement en charge à la fois du développement et du design. C'est pour cela qu'on dit qu'il s'occupe du développement côté client.

Les profils de développeurs front-end sont variés. Certains sont avant tout des professionnels du design : d'anciens graphistes ou web designers par exemple. Ils viennent alors plutôt de formations en arts appliqués et on une grande maîtrise des logiciels de conception graphique de type Photoshop, Illustrator ou InDesign pour ne citer que les outils les plus connus de la suite Adobe Creative. Les règles de composition, la colorimétrie et la typographie constituent les fondations de leur savoir. Ils se sont en suite spécialisés dans le web en apprenant à coder.

Il n'est pas rare au contraire de voir des développeurs front-end arriver sur le marché avec une formation initiale purement technique. Ces maîtres de CSS, HTML et du JavaScript connaissent sur le bout des doigts différents langages et leurs bibliothèques ou frameworks dédiés, comme jQuery, React ou encore AngularJS.

Au quotidien, le dev front-end crée l'ergonomie des sites que vous visitez en tant qu'internaute. Le suivi de cahiers des charges, la réalisation des maquettes, le respect des normes du W3C (pour World wide web consortium), le test et la validation de fonctionnalités font partie de son quotidien.

Développeur back-end

Le développeur back-end est à l'ombre ce que le développeur front-end est à la lumière. En dehors de ces considérations poétiques, il est surtout le dev en charge de la partie cachée d'une application web, celle qui agit au niveau du serveur et non du client. Il gère pour cela trois parties complémentaires et intrinsèquement liées constituées du site lui-même, du serveur et de la base de données.

Pour cela, le développeur back-end travaille essentiellement avec des langages dits dynamiques, certains dédiés au web ou au back-end et d'autres plus polyvalents. Selon ses connaissances, préférences, et bien sûr selon les besoins, il utilise ainsi notamment PHP, Python, Ruby ainsi que SQL, un langage de requête dédié à la manipulation des bases de données. Pour accélérer les phases de développement et faciliter l'implémentation de fonctionnalités avancées, de nombreux frameworks et autres bibliothèques viennent s'ajouter à la boîte à outils du dev back-end. On retrouve CakePHP, CodeIgniter et Ruby on Rails parmi les plus courants, mais des dizaines d'autres coexistent au sein des différents écosystèmes.

Au contraire du dev front-end, le développeur back-end ne s'intéresse pas à l'ergonomie du site. Il est en effet le spécialiste des aspects techniques. Son rôle se focalise ainsi avant tout sur la mise-en-place de l'ensemble des fonctionnalités nécessaires au remplissage du cahier des charges. La méthode agile, le développement et la maintenance de fonctionnalités, le suivi technique, la rédaction de la documentation d'un produit web font partie de ses tâches quotidiennes.

Développeur full-stack

Le développeur full-stack est littéralement un professionnel capable de travailler sur toutes les couches (stack en anglais) d'un développement : back-end, front-end, architecture, intégration, expérience utilisateur (UX) et interface utilisateur (UI). Il est donc un développeur tout un un, capable de créer, gérer et maintenir un produit web en son entier.

À l'heure de la spécialisation quasi extrême de certains métiers et des formations qui leurs sont liées, il est en effet de plus en plus difficile pour les petites entreprises de suivre la tendance. Ceci explique en grande partie la popularité des développeurs full-stack et la richesse des offres d'emploi les concernant sur un marché pourtant déjà très dynamique.

Pour les petites structures, il est en effet impensable, tant au niveau des RH que du budget, de penser engager un professionnel de chaque spécialisation pour la création d'un site Internet simple, qu'il s'agisse par ailleurs d'un site vitrine ou d'une boutique en ligne. Le développeur full-stack s'impose alors souvent comme l'option la plus intéressante, permettant à l'entreprise de bénéficier des services d'un professionnel à un prix qui reste abordable puisque limitant les effectifs.

Elle peut alors l'engager pour profiter de ses compétences à court terme, sous forme de contrat à durée déterminée ou en tant que freelance. Pour les projets à plus long terme, il représente l'opportunité de disposer de connaissances professionnelles transversales et complètes, sans pour autant impliquer le recrutement d'une équipe complète.

Les métiers du web sont si variés qu'il existe des cursus dédiés à tous les niveaux et à tous les types de profils. Selon la durée des études et le diplôme obtenu, le poste visé, tout comme le salaire de départ, varient logiquement. Le web reste pourtant l'un de ces secteurs où tout le monde, sous réserve d'ambition et de résultats peut trouver sa place. Sortir d'une formation prestigieuse en informatique continue certes d'augmenter les chances d'une première candidature. Pourtant, les programmeurs autodidactes aux parcours à succès sont loin d'être rares. Les cours en ligne sont en effet nombreux, pour beaucoup de très bonne qualité, et permettent un apprentissage parallèle à d'autres activités

Apprendre à développer peut dans un premier temps s'appréhender en lisant des livres et écoutant des professeurs. Savoir programmer correctement n'est cependant possible que par la pratique. Quelle que soit la formation choisie, il est donc incontournable de connaître ses fondamentaux puis de passer de longues heures derrière un écran. En autodidacte comme à l'université, privilégier les formations mettant l'accent sur la pratique est donc une valeur sure. La possibilité de faire un stage ou de travailler en alternance est également la bienvenue.

Selon les pays, les diplômes varient.

En Suisse, il est possible d'obtenir un diplôme en informatique directement après l'examen de fin d'apprentissage, c'est le Certificat fédéral de capacité (ou CFC), durant 3 ans. Il est également possible d'opter pour des cours à l'Université (Bachelor et au-delà) ou d'intégrer une école d'ingénieur privée.

En France, intégrer une formation post bac délivrée par une grande école destinée à former les ingénieurs en informatique de demain fait souvent rêver. On retrouve ainsi EPITA, Epitech ou Supinfo parmi les noms revenant le plus souvent. On leur reproche pourtant parfois de créer des machines à coder parfois déconnectées de l'aspect humain de la profession.

Développement web à Genève et en Suisse romande

En Suisse romande comme dans le reste de la Suisse, le secteur du digital se porte extrêmement bien. Le marché de l'emploi est en effet en effervescence constante depuis de nombreuses années et les seules difficultés semblent se trouver au niveau des entreprises qui ont bien souvent plus de besoins que de candidats disponibles à l'embauche. Genève est une place numérique importante, mais elle n'est pas la seule. L'augmentation du nombre de technopôles dans le canton de Vaud et en Valais font de tout l'arc lémanique une région attractive pour les experts du digital.

Pour ceux qui souhaiteraient apprendre un métier lié de près ou de loin à la création pour le net, il s'agit donc d'une excellente nouvelle. Il est vrai que la plupart des services proposés par les entreprises commerciales autant que les institutions ont désormais leur pendant digital.

Cela se traduit concrètement par des salaires intéressants qui continuent d'augmenter au fil des ans. Les profils seniors n'ont également que peu de souci à se faire puisque les différents services informatiques font leur possible pour conserver leurs employés aussi longtemps que possible, de même qu'ils ne rechignent pas à engager des professionnels expérimentés.

Le développement web a donc de très beaux jours devant lui !

99,1 % des porteurs de projets qui nous ont contacté se demandent aujourd'hui ce qu'ils feraient sans nous.

Cette statistique fictive 😋 afin de démontrer que parfois un message décalé fonctionne très bien.

Contactez-nous