Accueil / Services / Developpement Web

Developpement Web


Lorsque l'on travaille dans le numérique, avoir des bases en développement informatique est un minimum pour comprendre le fonctionnement des produits numériques que nous administrons et trouver des solutions aux problématiques les plus courantes.

J'ai commencé à m'intéresser au developpement informatique en 2011 en créant quelques pages simples et des sites sous Wordpress de A à Z. Depuis je me tiens informé des dernières nouveautés et continue à pratiquer dans ce qui m'intéresse le plus, à savoir le développement web.

Aujourd'hui je suis capable de travailler et faire des intégrations sur tous les CMS principaux (Wordpress, Dupral, Prestashop...). Je suis ouvert aux opportunités me permettant de monter en compétences en développement web sur des technologies modernes comme Vue ou React JS.

Sommaire



Mes technos de prédilection


Cette partie est dédiée aux technologies, langages de programmation et frameworks que j'utilise dans mes projets de développement web. J'y détaille mon niveau de connaissances et mes points de vue.

La diversité étant un atout dans le métier, je préfère travailler sur des solutions multiples. Cela me rend d'autant plus réactif et adaptable en fonction des situations et problématiques à résoudre.

Retour au sommaire



Le triptyque HTML / CSS / JS


Pour faire mes premières pages web, j'ai évidemment commencé à apprendre l'HTML et le CSS. C'est la base que tout chef de projet numérique doit savoir maîtriser pour comprendre son environnement et pouvoir faire un minimum d'intégrations.

Le javascript m'est venu après au fur et à mesure de mes nouveaux besoins, bien que ce soit un incontournable pour exercer le métier de développeur web. Le javascript est la technologie principale des frameworks modernes Vue, React et Angular.

Il me reste encore pas mal de choses à apprendre en javascript mais je peux déjà l'appliquer dans mes propres développements web et reprendre du code déjà existant.

Retour au sommaire



Vue, React, Angular : les frameworks JS nouvelle génération


Bien que bon nombre d'agences et développeurs web travaillent encore sur des projets à base de PHP et jQuerry, les standards ont évolués aussi bien du côté des navigateurs que des applications.

jQuerry a certes révolutionné le développement web et reste incontournable sur pas mal d'anciens projets, mais il ne répond plus aux exigences actuelles. Je peux néanmoins toujours intervenir sur des projets nécessitant d'avoir recours à du jQuerry.

Avec les nouveaux standards d'écriture ECMAScript mis à jour tous les ans (ES6, ES7, ES8, etc.), riches en nouvelles fonctionnalités et en simplifications, le javascript est plus que jamais un langage évolutif en phase avec son temps.

Aujourd'hui les frameworks (socles logiciels) les plus populaires du marché du développement web sont Vue, React et Angular. Le CMS Wordpress qui est le plus utilisé dans le monde a lui-même troqué la majeure partie de sa base en PHP pour du javascript avec React JS.

Je préfère travailler sur des projets en Vue JS mais je peux également intervenir sur des projets avec React même si j'ai besoin de pratiquer davantage. Je souhaite approfondir Angular 2 à l'avenir mais ce n'est pas pour tout de suite.

Retour au sommaire



Node JS : javascript côté serveur


Node JS est une plateforme qui permet d'utiliser javascript côté serveur au lieu d'un langage spécialisé comme PHP, Java, Python ou Ruby.

Cela permet de bénéficier de tous les avantages inhérents à javascript au niveau du serveur : rapidité, flexibilité, gestion de nombreux événements en simultané, capacité de résistance en cas de fortes charges (nombre de requêtes élevé), etc.

La base de Node JS peut être améliorée avec des modules et packages (l'équivalent des bibliothèques javascript). Des milliers de modules sont disponibles et chaque jour des millions de développeurs contribuent à leur développement.

Il existe toutes sortes de modules répondant à des besoins divers : librairies et frameworks javascripts complets, ensembles de scripts, designs et interfaces, outils de tests unitaires et débogage, etc. On trouve vraiment de tout.

L'installation et la gestion des modules et dépendances (autres modules indispensables au fonctionnement des premiers) peut se faire facilement par le biais du Node Package Manager (NPM) en passant par le terminal (Invite de commandes sur Windows).

L'utilisation de Node JS est devenu un incontournable pour les développeurs javascript et particulièrement ceux ayant recours aux frameworks mordernes Vue, React et Angular. Node JS offre un gain de temps non négligeable dans un environnement de production.

Retour au sommaire



Les API REST et GraphQL


REST et GraphQL sont deux formats de requêtes utilisés pour les API (Interface de Programmation d'Application).

Les API permettent à des applications conçues de différentes manières de s'échanger des informations par le biais d'une interface commune. Une application peut faire appel à des données d'une autre et vice-versa. Les données sont restituées en JSON, un format allégé dérivé du javascript.

REST et GraphQL sont complémentaires et présentent chacun des avantages et des inconvénients. Les deux peuvent d'ailleurs être utilisées simultanément dans un même environnement selon comment les données doivent être appelées.

REST importe toutes les données d'une ressource d'un coup — par exemple toutes les informations d'un article comme son titre, sa date, son auteur, les commentaires, etc. — tandis que GraphQL nous permet de récupérer des données au cas par cas uniquement quand cela est nécessaire (au chargement d'un module ou composant après avoir cliqué sur un bouton par exemple).

Le revers de la médaille est que GraphQL gère moins bien la mise en cache des données que son homologue REST, pour une réutilisation ultérieure de documents ou ressources précédemment chargés.

J'apprends à me servir des API au fur et à mesure de mes expérimentations avec Vue JS et React mais je comprend leur fonctionnement et connais le JSON.

Retour au sommaire



Les solutions de base


Il existe bon nombre de solutions de base, principalement open source, utilisées par la très grande majorité des sites internet et applications web dans le monde. J'ai eu l'occasion de travailler sur des :
  • CMS de sites web et blogs comme Wordpress, Joomla et Drupal ;
  • CMS de sites e-commerce comme Prestashop et Moodle et dans une moindre mesure le plugin WooCommerce de Wordpress ;
  • CMS d'apprentissage en ligne comme Open EdX et Moodle ;
  • solutions de veille, de partage des connaissances et travail collaboratif comme OwnCloud et Tiny Tiny RSS ;

Quand je n'avais pas accès à toutes les fonctionnalités d'une solution en entreprise, je l'installais moi-même en local et l'hébergeait en ligne pour découvrir son fonctionnement, avec tous les droits d'administrateur. En faisant cela j'ai beaucoup appris sur le fonctionnement des CMS et le design d'interfaces.

C'était aussi l'occasion pour moi d'être autonome et de ne pas totalement dépendre des solutions propriétaires des grands acteurs traditionnels dans les cas de modifications de conditions d'utilisation abusives ou l'arrêt de services (coucou Google Reader).

Dans cette partie je présente les solutions de base que j'utilise le plus, bien que ma flexibilité et mes connaissances techniques me permettent d'intervenir sur la très grande majorité des solutions existantes.

Retour au sommaire



Wordpress


Wordpress est le CMS le plus utilisé au monde (environ 35 % des sites internet). C'est un projet open source auquel tout le monde peut contribuer et à partir duquel chacun peut créer son propre site web gratuitement.

Le projet Wordpress possède une immense communauté de développeurs et d'intégrateurs s'aidant les uns les autres. On peut littéralement tout faire avec Wordpress. Bien évidemment, cela demande un minimum de connaissances en développement web, en design et en optimisation technique (poids des images, etc).

Certains développeurs vous diront crûment que "Wordpress, c'est de la merde", que les "vrais développeurs" n'utilisent pas ce CMS, qu'il est daté, lent, peu sécurisé. En réalité, tout dépend de l'utilisation que l'on en fait.

La lenteur de Wordpress est surtout due à un ensemble de mauvaises pratiques comme le fait d'avoir recours à des thèmes surchargés en fonctionnalités inutiles, de multiplier les plugins ou insérer des images extrêmement lourdes partout où ce n'est pas nécessaire. En dehors de ça, Wordpress est aussi rapide que le reste. Quant à la sécurité, il suffit de faire les mises à jour.

Le nouvel éditeur de Wordpress, Gutenberg, utilise la technologie récente React et l'API REST. Il est possible de créer des sites avec des technologies modernes en front-end et d'y associer Wordpress en backend pour la gestion du contenu grâce aux API REST.

Je pense que connaître javascript et React va s'avérer indispensable pour tirer le meilleur parti de Wordpress dans les prochains mois. C'est ce qui fera la différence entre les agences web à la pointe et celles à la traîne.

Retour au sommaire



Joomla et Drupal


Joomla et Drupal sont les deux CMS les plus populaires derrière Wordpress, même s'ils se classent loin derrière en termes d'adoption. Ils sont un peu plus complexes à utiliser que Wordpress mais possèdent chacun des fonctionnalités natives que le leader du marché n'a pas, obligeant pour ce dernier l'utilisation de plugins externes lourds.

Joomla est tout équipé pour la création de sites multilingues tandis que Drupal permet de tout faire même si sa courbe d'apprentissage est la plus difficile des trois.

Bien que Joomla et Drupal n'aient pas (encore ?) fait le choix comme Wordpress de migrer vers un framework javascript, il reste possible de lier Joomla et Drupral en backend avec Vue, React et Angular en frontend grâce aux API.

Le fait de ne pas faire de design avec un CMS (frontend) revient à lui « couper la tête » mais le corps (architecture backend) fonctionne toujours, d'où le terme « headless » couramment employé dans le milieu du développement web.

Je n'ai pas encore eu l'occasion d'effectuer ce genre de couplage CMS en headless et framework javascript. Il serait donc mal avisé de ma part de vous accompagner sur la conception d'un tel produit.

Je peux toujours intervenir sur des projets déjà existants sur Joomla et Drupal : qu'ils soient ou non liés à Vue ou React. Je n'ai en revanche pas assez de pratique sur Angular.

Retour au sommaire



Prestashop


Prestashop est la solution open source française de e-commerce la plus utilisée en France. Le CMS représente 6 % des sites e-commerce dans le monde.

Il embarque toutes les fonctionnalités utiles pour administrer une boutique en ligne : fiches produits, gestion des stocks, moyens de paiement, recherche interne, relation client, promotions/fidélisation et reporting.

Malheureusement, Prestashop accuse un train de retard concernant l'adoption des nouveaux standards de réactivité démocratisés par les frameworks javascript modernes.

Il est déjà possible de lier Prestashop à n'importe quel framework JS mais peu de gens s'y frottent, la faute une architecture obsolète et un simulacre d'API bien trop ouverte. Fort heureusement, les équipes du CMS planchent déjà sur la suite.

Tout comme Wordpress a clairement fait son choix avec React, les équipes de PrestaShop sont en train de bâtir la future architecture de leur CMS e-commerce autour de Vue JS. Maîtriser ce framework va donc devenir incontournable pour les créateurs de sites e-commerce sous Prestashop.

Je peux intervenir sur des sites Prestashop déjà existants pour en optimiser le contenu et le référencement mais je ne m'engage pas dans des projets de conception de sites e-commerce dont l'architecture sera obsolète quelques mois plus tard.

Retour au sommaire



Magento


Magento est le CMS e-commerce open source le plus complet du marché. Au-delà de pouvoir gérer un catalogue de plusieurs milliers de références, il est doté de solides fonctionnalités intégrées et offre notamment la possibilité de gérer plusieurs boutiques dans différentes langues à partir d'un seul backoffice.

Cela fait de Magento le CMS e-commerce le plus complexe à prendre en main, ce qui se traduit généralement par des coûts plus élevés en développement et en maintenance. Cependant son adoption rapide des technologies modernes devrait le faire gagner en flexibilité.

Depuis quelques mois, Magento a lancé son programme PWA Studio. L'objectif est d'offrir la possibilité aux développeurs de créer des applications web progressives se reposant sur les technologies mordernes afin de décupler les performances des sites e-commerce.

Tout comme Prestashop a fait le choix de se tourner vers Vue JS, le projet Magento semble privilégier React pour ses futurs développements et le fait savoir dans sa documentation notamment en mettant à disposition sa propre bibliothèque logicielle (library) Peregrine qui se base sur Hooks, une fonctionnalité du framework javascript.

Le futur de Magento s'écrit avec React et les développeurs de sites e-commerce ayant recours au CMS vont devoir s'adapter pour ne pas devenir obsolètes.

Je n'ai pas encore suffisamment de bouteille avec React pour diriger un projet de conception d'application web e-commerce Magento de A à Z mais mes connaissances en la matière me permettent d'intervenir sur des projets existants, notamment en référencement et gestion de contenus.

Retour au sommaire



Les incontournables du développement web


Le secteur du développement web comprend son lot de bonnes pratiques incontournables, qu'elles soient récentes ou bien ancrées dans les habitudes professionnelles depuis plusieurs années déjà.

Au travers de ces différents points, je donne ma propre vision du développement web, notamment sur la partie technique, ainsi que celle des générations futures en ce qui concerne le développement durable.

Retour au sommaire



Le référencement


Lorsque l'on développe un site internet ou une application web, on souhaite bien évidemment que son contenu soit visible sur les moteurs de recherche. C'est là qu'entre en jeu le référencement. Qu'il soit naturel ou payant, le référencement est un incontournable de la visibilité.

Tout développeur un minimum sérieux se doit d'avoir des notions en référencement et doit pouvoir s'assurer que la navigation des robots des moteurs de recherche ne sera pas compromise.

Tout un tas de paramètres entrent en compte pour bien référencer son site internet ou application :
  • des paramètres techniques concernant la vitesse du site, le chargement des éléments d'une page, l'indexation par les robots des moteurs de recherche, etc. ;
  • des paramètres liés au contenu comme le titre des pages, leurs descriptions, la hiérarchie des balises (h1, h2, etc.), les métadonnées des images, les données structurées, etc. ;

Je peux vous accompagner sur le référencement naturel de vos sites internet et applications web.

Retour au sommaire



Le Green Code


Le green code consiste à réduire au minimum l'empreinte carbonne d'un produit numérique, site internet ou application. Lorsqu'un utilisateur charge une page web, cela fait travailler sa propre machine et des serveurs pour la plupart basés dans des datacenters à l'étranger, consomme de l'énergie et pollue.

Au-delà des enjeux écologiques, faire du développement informatique responsable apporte aussi pas mal d'avantages en termes de visibilité et de rétention des utilisateurs. Google favorise les sites rapides et responsives optimisés pour la navigation sur mobile car ils sont plébiscités par les utilisateurs de son moteur de recherche.

Les internautes sont plus enclins à rester sur un site internet rapide. Les concepteurs de sites et d'applications doivent tout faire pour limiter les frustrations liées à la navigation et à l'expérience utilisateur sous peine de faire fuir leurs utilisateurs rapidement et augmenter leur taux de rebond qui lui aussi est pris en compte par Google.

En dehors de l'optimisation technique, la qualité des contenus est aussi essentielle. Votre site internet répond-t-il à un objectif précis ? Son contenu est-il pertinent pour les internautes ? Apporte-t-il quelque chose d'essentiel, un moyen de progresser, de nouvelles idées, un éclairage nouveau ?

Un site internet qui ne répond à aucune de ces questions n'a aucune vocation à exister et ne mérite pas que l'on gaspille nos ressources en énergie et autres pour assurer son existence. Nous pouvons travailler ensemble sur votre stratégie de contenus.

Retour au sommaire



Le Clean Code


Le clean code est un ensemble bonnes pratiques d'écriture utilisées pour rendre son code propre et lisible, le but étant de faciliter la tâche aux développeurs étant amenés à collaborer sur un projet déjà existant.

Faire du clean code c'est :
  • faciliter la lecture au premier coup d'œil et bien indenter son code ;
  • définir une nomenclature simple et s'en tenir ;
  • user des commentaires avec parcimonie (uniquement pour apporter des informations pertinentes ou expliciter vos choix) et mettre à jour la documentation si nécessaire ;
  • faire en sorte que son code soit flexible pour être facilement amélioré par d'autres développeurs ;
  • s'en tenir au minimum fonctionnel en évitant de multiplier les copier-collers et les fonctions superflus ;
  • tester son code pour s'assurer qu'il fonctionne avant de le mettre à disposition et créer des complications pour tout le monde.

Au-delà d'être une marque de respect pour ses collaborateurs, le clean code permet de faire la différence entre un bon développeur synthétique et un mauvais développeur bordélique.

Quand je code j'essaie au maximum d'être clair dans ma synthaxe et de respecter les points ci-dessus même si je n'ai pas fait d'école d'informatique. Aussi, je suis capable de travailler avec des développeurs et me perfectionner sur ces sujets liés au green code dont j'ai conscience de leur importance.

Retour au sommaire



L'Open Source


Aujourd'hui la très grande majorité des sites internet et applications se basent sur des solutions open source. L'open source est l'action de mettre à disposition de tous son code, notamment via des plateformes collaboratives telles que GitHub, afin de permettre sa réutilisation, son optimisation et d'en faire profiter toute la communauté des développeurs.

Certaines agences web vont vous proposer leur CMS propriétaire sous prétexte qu'il sera plus adapté pour votre activité spécifique. Ne vous faites pas avoir. Il est possible de faire beaucoup mieux avec un CMS open source et la communauté de développeurs susceptibles de vous venir en aide est d'autant plus grande.

Une agence n'a pas le temps de mettre à jour son CMS propriétaire ni sa documentation ce qui rend d'autant plus difficile le travail de nouveaux développeurs dans le cas où vous décidiez de changer de prestataire. Et c'est sans compter sur le fait que le CMS ne vous appartienne pas et que vous deviez vous acquitter d'une licence d'utilisation sous peine de devoir tout recommencer à zéro, ce qui est préférable dans tous les cas pour limiter les frais.

Avoir recours à des technologies open source contribue à rendre votre développement beaucoup plus flexible et agile. La majorité des développeurs web travaillent à partir de solutions open source, progressent et échangent avec leurs pairs.

Faire appel à des développeurs travaillant sur ces technologies populaires vous donne accès une force de travail considérable. Je peux vous accompagner dans vos choix de solutions open source et recherches de développeurs compétents.

Retour au sommaire



Les mouvements low-code et no-code


Les plateformes de low-code et no-code ont de plus en plus la côte ces dernières années. Elles se multiplient sur le marché avec la promesse de permettre à n'importe qui de développer des sites internet et applications web et mobile avec un minimum de connaissances voire aucune en développement informatique.

Le métier de développeur est-il pour autant en voie de disparition ? Certainement pas. Bien que de nombreuses tâches puissent être automatisées, on fait généralement appel à un développeur pour ses connaissances algorithmiques et sa capacité à résoudre des problèmes complexes.

Les plateformes low/no-code sont très pratiques pour créer des prototypes et MVP (minimum viable product/produit minimum viable) mais dans un contexte professionnel leur absorbtion du trafic ne sont pas toujours suffisantes et leur prix gonfle rapidement.

On a beau mettre entre les mains d'un néophyte un outil permettant de créer sa propre page web d'un simple cliquer-déposer (drag and drop), ce n'est pas pour autant que les taux de conversion seront excellents.

Un individu n'ayant aucune connaissance en interfaces (UI), expérience utilisateur (UX), mise en page, composition, référencement et production de contenus ne fera pas de miracles, même en chargeant des modèles pré-définis pensés par d'autres. Chaque cas est unique.

Que vous décidiez de passer par une plateforme de low-code pour générer une interface ou automatiser certaines tâches, il y a souvent un travail d'intégration à faire et pour cela un développeur ou intégrateur spécialisé reste incontournable. Votre API (interface de programmation) ne va pas se charger toute seule.

Pour ma part, je ne me ferme pas totalement aux solutions low-code et no-code. Bien au contraire. Je dois être en capacité de profiter de leurs bienfaits et d'accompagner mes clients sur le sujet. Cependant, je pense que se reposer uniquement là-dessus serait une erreur et c'est pour cela que je ne cesse d'expérimenter moi-même.

Retour au sommaire



La curiosité et l'autonomie


C'est une évidence, on ne peut pas exercer convenablement le métier de développeur web sans un minimum de curiosité et d'autonomie. Ces deux qualités font la paire lorsque l'on développe un nouveau produit numérique. La curiosité alimente l'autonomie et vice-versa.

S'inspirer du travail des autres n'est pas une honte. Au contraire reprendre du code déjà existant et le perfectionner est même encouragé dans la profession, à condition bien-sûr qu'il soit libre de droit et de citer son auteur.

Les développeurs du monde entier travaillent sur des projets innovants et partagent leur code sur des plateformes collaboratives telles que GitHub, GitLab ou BitBucket. Ils s'entraident et échangent des conseils sur StackOverflow et parlent de leurs projets techniques sur Medium ou leurs propres blogs professionnels.

Google est le meilleur ami des développeurs pour trouver des réponses à leurs questions, car il y autant de problématiques à résoudre que de projets différents se reposant sur telles ou telles infrastructures et technologies.

Un développeur qui n'a ni la curiosité, ni l'autonomie devrait changer de métier. Le travail en équipe est une autre dimension importante du métier de développeur web mais les deux qualités citées précédemment sont vraiment les plus essentielles.

Retour au sommaire