Quelles technologies choisir pour votre projet internet?

03.02.2020 Technologie Web

Frameworks, CMS, back-end, front-end, site découplé, progressive web app? brain2code vous explique tout.

Quelles technologies choisir pour votre projet internet?

L'évolution du web a été considérable au cours des dernières années. La multiplication des technologies liées à la montée en puissance du mobile notamment, ont rendu plus complexe le choix des solutions les plus adaptées à votre projet web. Cet article fait un tour d'horizon (non exhaustif) des technologies web disponibles.

Sommaire

Comment un site internet est-il construit?

Un site internet est un ensemble de fichiers écrits dans différents langages informatiques. Ces fichiers sont réunis dans un dossier dédié à votre site, sur le serveur de votre hébergement web.

Il existe deux grandes familles de langages pour le développement web, ceux travaillant du côté serveur (ils gérent l'application web) et ceux travaillant du côté client (ce que voit l'internaute sur son écran). On parle également de back-end (côté serveur) et front-end (côté client).

Les langages les plus fréquemment utilisés pour le back-end sont notamment:

  • PHP
  • Python
  • Javascript
  • Ruby

Pour le front-end les langages sont:

  • HTML
  • CSS
  • Javascript

Toutes les données contenues par le site sont enregistrées dans une base de données gérée par le langage côté serveur, afin d'être traitées et envoyées côté client pour être affichées. Le langage côté client gère la mise en page et le design de la page affichée.

Les données sont entrées par les utilisateurs via une série de formulaires, soit dans l'interface d'administration du site (la partie privée, protégée par un mot de passe), soit sur une page du site.

A titre d'exemple, notre site vous permet de remplir un formulaire de contact sur la page du site "Nous contacter" et les informations sont enregistrées. L'article que vous lisez actuellement, est quant à lui rédigé dans l'administration du site, à laquelle seuls les administrateurs du site ont accès.

Qu'est-ce qu'un framework?

Le framework (cadriciel en français) est un ensemble de composants logiciels qui servent de socle à un logiciel ou à une application.

Il en existe pour de nombreux langages parmis lesquels on peut principalement citer:

  • Symfony et Laravel pour PHP
  • Django pour Python
  • Node.js, Vue.js, React et Svelte pour Javascript
  • Ruby on Rails pour Ruby

Les avantages des frameworks:

  • Ils fournissent un ensemble de services répondant à des besoins communs à toutes les applications, comme l'authentification des utilisateurs, la gestion des droits, le stockage des fichiers dans la base de donnée, les services mail et beaucoup d'autres encore.
  • Ils suppriment le développement des tâches répétitives et sans valeur ajoutée, ce qui permet de se concentrer sur la création des fonctionnalités les plus importantes et les plus rentables d'une application.
  • Ils imposent un cadre de développement strict, ce qui permet à tout développeur connaissant le framework concerné de reprendre un projet très rapidement.

En résumé, les frameworks permettent de réduire les coûts de développement et assurent une forte pérennité à votre site.

Les CMS

Les CMS (Content Management System ou Système de Gestion de Contenu) sont des logiciels qui permettent de réaliser un site dynamique (enregistrement, gestion et affichage des données) via une interface d'administration intégrée.

Il permettent différents types d'utilisation comme:

  • Rédiger des articles et les publier dans un blog
  • Présenter l'activité d'une entreprise avec un site institutionnel
  • Réaliser un site e-commerce et vendre ses produits en ligne
  • Créer un site communautaire

Ils sont simples d'utilisation, multi-utilisateurs, personnalisables et efficaces en terme de référencement naturel dans les moteurs de recherche.

Il en existe des centaines comme Wordpress, Joomla, Drupal, Typo3, eZ Platform et SPIP pour les plus connus. Certains CMS, comme Prestashop et Magento, sont spécialisées en E-commerce.

Les sites découplés

Les frameworks et les CMS gèrent les données, ainsi que l'affichage des pages de votre site, au travers de ce qu'on appelle couramment un thème ou template intégré. Ces thèmes, doivent bien sûr être responsive, afin d'être parfaitement adaptés à tous les écrans, du mobile au desktop. Cette approche est parfaitement adaptée à la majorité des besoins, mais peut s'avérer trop monolithique dans certains cas.

Si vous avez besoin que votre site puisse échanger de l'information avec des systèmes tiers et différents terminaux (application mobile, cloud, objet connecté web), l'architecture de site découplé à privilégier, car elle permet la manipulation des données en omnicanal.

Un site découplé fait appel à 3 éléments:

  • Le back-end (framework ou CMS), l'interface d'administration restant identique.
  • Une API (Application Programming Interface ou interface de programmation d'application ), laquelle récupère les données dans différents formats.
  • Un framework Javascript, lequel traite les données envoyées par l'API et gère le front-end, ainsi que différents périphériques.

schema de site découplé.jpg

Les API les plus couramment utilisées pour un site découplés sont:

  • REST (directement intégrée dans Wordpress)
  • JSON:API
  • GraphQL

Les frameworks front-end les plus fréquemment utilisés:

  • React
  • Vue.js
  • Angular
  • Svelte

Quels avantages offre l'architecture de site découplé?

  • Elle facilite l'omnicanalité en permettant la gestion de contenu sur différents supports, à partir d'une seule interface d'administration.
  • Elle permet de multiplier les points de contact pour vos prospects et vos clients (Web, sytèmes tiers, applications mobiles, Progressive Web App, objects connectés...).
  • Elle utilise des frameworks Javascript front-end performants, rapides et sécurisés.
  • Elle est modulaire et évolutive, car elle peut être implémentée progressivement en fonction des besoins, pour chaque canal.

Le Progressive Web App

L'utilisation d'un frameworks Javascript front-end, permet est de proposer aux à vos visiteurs sur mobile un site web qui a l'apparence et le comportement d'une application mobile native. C'est le Progressive Web App.

Sur mobile votre site peut donc:

  • S’afficher en plein écran
  • Se charger très rapidement
  • Envoyer des notifications push
  • Fonctionner hors connexion
  • Proposer au visiteur d'installer l'icône de vote site sur l'écran d'accueil de son mobile

Contrairement à une application mobile native, une Progressive Web App:

  • Ne nécessite pas d’installation et n’occupe pas de mémoire sur le téléphone
  • N’a pas besoin d’être publiée sur les app stores
  • Facilite le référencement naturel
  • Est totalement responsive et s'affiche parfaitement sur tous les supports (smartphone, tablette, ordinateur…)

Le Progressive Web App est donc une très bonne alternative aux applications mobiles natives, car il offre un impact positif en termes de performances et de conversions, ainsi qu'une solution pratique et économique.

Les choix de brain2code

Notre offre

Nous considérons qu'il n'y a pas de langage de programmation, de framework, ou de CMS supérieur à un autre.

Nos sommes spécialisés dans le développement de sites et d'applications avec PHP et Javascript. Nous utilisons donc des frameworks et des CMS basés sur ces langages.

Nous veillons particulièrement à ce que ces technologies soient éprouvées et largement utilisées du fait de leurs qualités. Cela, afin de vous garantir les performances, la sécurité et la pérennité que vous attendez.

Nous avons donc porté notre choix sur:

  • Laravel
  • October CMS
  • Wordpress
  • React
  • VueJS
  • Svelte

Notre philosophie

Le panel des technologies disponibles (framework ou CMS, site découplé, Progressive Web App) est assez vaste. Cependant, au-delà du strict nécessaire pour réaliser un site internet parfaitement fonctionnel et rentable (ex: Wordpress), le développement de technnologies supplémentaires n'est utile que si vous en avez réellement besoin. Les coûts de développement augmentent avec le nombre de technologies utilisées (les temps de développement sont plus longs) et ne se justifient que s'ils vous offrent un retour sur investissement.

La base de notre métier consiste à vous écouter et à bien comprendre vos objectifs. En fonction de ces éléments, nous vous conseillons les solutions techniques les plus appropriées en termes de coût et de qualité.