Pour concevoir votre site web, plusieurs technologies de développement sont disponibles pour les agences web.
Quels sont les outils utilisées par vos prestataires web ? Comment les catégoriser ? Quels sont leurs avantages
et leurs inconvénients ? Dans cet article, nous allons comprendre ensemble les rouages de la création d’un site internet : Framework vs CMS (vs from scratch), par la métaphore de la pizza ? !
Prérequis
Avant toute chose, et avant de vous parler de pizza 4 fromages ?, vous devriez savoir de quoi un site Internet a besoin pour fonctionner, comme vous devriez avoir une idée de ce qu’est une pizza ? pour en préparer une.
Voici les deux grands ingrédients principaux pour qu’un site web fonctionne :
- Un serveur web : c’est un programme installé sur une machine qui comprend et interprète un
langage de programmation. Il existe de nombreux langages informatiques,
vous avez peut-être entendu parler des langages Php ou Java ? Ces deux
exemples sont des langages côté serveur.
Une fois le langage interprété par le serveur, celui-ci génère et
envoie des fichiers compréhensibles par votre navigateur web (Chrome, Safari ou Mozilla par exemple). - Un navigateur : c’est un programme installé sur votre ordinateur ou smartphone qui est capable
de demander, recevoir et lire des documents dans un format particulier (langages
html, css et javascript) et grâce à divers protocoles réseaux dont je vous passerai les
détails pour simplifier la vie. Ces formats sont définis et standardisés grâce au W3C, un contorsium du web, ce qui veut dire que tous les navigateurs fonctionnent à peu près de la même façon pour que nous puissions consulter les documents de nos sites.
En résumé, pour consulter un site web, il vous faut : Un serveur qui interprète un langage
serveur et le traduit en langage client + Un navigateur qui ne parle qu’une
seule langue.
(…et tout un tas de protocoles réseaux pour envoyer et recevoir des documents…)
« VA BENE ! »
Voici 3 façons de préparer une pizza (ou faire un site web c’est presque pareil).
Première façon : A partir de zéro.
Préparer une pizza à partir de zéro, c’est TOUT faire soit-même :
- Vous allez chercher le blé. Vous le transformez vous-même en farine que vous affinez.
- Vous allez cueillir des tomates. ? Vous faites vous-même votre coulis pour la sauce de votre pizza.
- Vous voulez une pizza au jambon ? Je vous épargne les détails : ??.
- Vous vous rendez à la ferme ? pour récupérer le lait. Vous faites vous-même le fromage.
Et puis, trois semaines plus tard (si vous avez de la chance) votre pizza est prête. En voici un aperçu :
Mais quel dur labeur, n’est-ce pas ?
Concevoir un site à partir de zéro, c’est un peu comme faire cette pizza à partir de zéro.
En voici les avantages :
- La maîtrise du code informatique. Pour créer le site, le développeur n’a utilisé aucun outil tiers.
- Le site web est sur-mesure, il ne ressemble à aucun autre site web ni dans sa structure, ni dans son fonctionnement.
En terme de sécurité, un hackeur aura plus de mal à exploiter le site s’il est bien conçu. - Le site est évolutif, à souhait.
Mais les inconvénients sont importants :
- C’est très long de développer un site « from scratch ». Cela rend le coût du site particulièrement élevé.
- Le développeur refait des choses qui sont déjà faites (dans le jargon, on parle de « réinventer la roue »).
- Le développeur doit être expérimenté pour anticiper tous les cas et gérer la sécurité du site web.
Si vous rencontrez un prestaire qui conçoit des sites « from scratch », méfiez-vous, il y a surement anguille sous roche (on est à Marseille ou bien ☀ ?). Au XXIème siècle, aucun pizzailo sur terre ne crée sa propre farine (ni sa sauce tomate ? ?).
De la même façon, vous aurez du mal à rencontrer une agence qui fabrique ses sites sans outils qui lui facilitent la vie. Et c’est bien normal dans une optique de rentabilité, tant que ça ne se fait pas au détriment du besoin client !
Deuxième façon : En utilisant un Framework : un cadre de développement.
Reprenons la préparation de notre pizza. Cette fois-ci, au lieu d’utiliser seulement de la matière première non transformée, nous allons nous autoriser à utiliser des produits pour sous-traiter une partie du travail. Par exemple :
- Pour la pâte, nous allons la faire nous-même mais nous allons utiliser de la farine déjà prête.
- Pour la sauce tomate, nous allons acheter un bocal (ouuh la honte ! ?)
- Pour le fromage nous irons directement chez le fromager !
Vous comprenez bien le principe. Avec un peu d’huile de coude, 4h plus tard, votre pizza est prête !
Concevoir un site avec un framework (un cadre), c’est un peu comme faire cette pizza à base de macro-ingrédients. Le développeur conçoit un site en sous-traitant certaines tâches et en se concentrant sur d’autres à plus forte valeur ajoutée. Ainsi, le site conçu est sur-mesure avec un développement bien plus rapide (et moins coûteux que du « from scratch »).
Les avantages :
- La maîtrise du code informatique. Pour créer le site, le développeur a utilisé des outils mais a fait l’essentiel lui-même.
Il a géré la sécurité tout en aillant un cadre pour l’aider, il a conçu le code sur-mesure mais n’a réinventé la roue. - Le site est évolutif.
- Le développeur est allé plus vite pour concevoir le site comparé à un site de zéro.
Les inconvénients :
- Le développeur doit être expérimenté, il doit maîtriser les langages et le cadre donné par le framework
- Certains frameworks sont lourds, il faut une véritable expertise pour sélectionner les bonnes technologies et les utiliser correctement.
Parmi les frameworks de développement connus, on peut compter :
- Symfony (langage php)
- ASP.NET (langage C#)
- Ruby on Rails (langage Ruby)
- JEE (langage Java)
- NodeJs (langage Javascript)
- …
Troisième façon : En utilisant un CMS : système de gestion de contenu.
La troisième façon, dans notre épopée pizzaiolesque est la suivante :
- Vous achetez une pizza surgelée pré-cuite.
… Vous la mettez au four et 15 minutes plus tard : c’est prêt.
Bien sûr, vous pouvez ajouter ou enlever certains ingrédients. Retirer les olives, rajouter du gruyère, qui ne la jamais fait ? En revanche, vous ne pourrez pas changer les ingrédients principaux qui la composent : la pâte, la farine, les conservateurs. Vous êtes contraints de les utiliser.
Remarquez également que dans ce cas, la logique est inversée par rapport aux deux premières façons de procéder. En effet, vous possédez une base existante qui ressemble à une pizza et vous enlevez ou ajoutez des ingrédients pour la rendre plus à votre goût.
Créer un site web à partir d’un outil CMS c’est un peu comme cette pizza surgelée que vous personnalisez.
Les avantages :
- Quand on sait pas cuisiner, c’est pratique. En effet sur certains CMS comme WordPress, pas besoin d’être très compétent techniquement pour réaliser un site, pas besoin non plus de maîtriser les rouages des langages de programmation. On se concentre uniquement sur le contenu.
- On gagne énormément de temps. Pour faire une pizza on aura toujours besoin d’une pâte à pizza. Ainsi, on peut « industrialiser » le processus et couvrir des besoins communs à tous les sites : créer, modifier, supprimer, afficher des pages, se connecter et se déconnecter, administrer son site,…
Les inconvénients :
- Le manque de compétences techniques des personnes qui conçoivent ces sites. Si vous confiez la
conception de votre site web à une agence ne disposant pas des compétences techniques nécessaires (certaines agences de communication ou personnes issues du monde du marketing), votre site web contiendra probablement des limites, ne sera pas étudié pour être évolutif, aura des problèmes de performances et de sécurité. - Les limites : un site web fait avec un CMS est généralement moins évolutif et moins performant qu’avec un framework
- La sécurité : puisque chaque CMS est connu dans son mode de fonctionnement il est plus simple pour pirate informatique de trouver des failles de sécurité connues.
Si vous souhaitez plus d’explications sur le fonctionnement d’un site, n’hésitez pas à nous contacter et si vous avez aimé cet article, partagez-le sur les réseaux sociaux!
« Buon appetito ! »