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