Création de site ou application web !? Quelle technologie utiliser ? CMS vs Framework vs Custom
Par: Xavier De Lisle
29 avril 2024
Voici le lien vers la vidéo qui parle du contenu de l'article sur YouTube :
Création de site ou application web !? Quelle technologie utiliser: CMS vs framework vs Custom
Dans cet article, nous parlerons de l'importance de choisir la bonne technologie pour votre site web ou votre application web. Nous verrons ce qu'il faut choisir entre les CMS, les frameworks et la programmation entièrement personnalisée en comparant ces technologies à la construction d'une maison. Choisissez celle qui convient le mieux à vos besoins et à votre budget.
La programmation web est très similaire au monde de l'architecture de construction.
Pour vous expliquer tout cela, nous allons donc prendre l'exemple de la construction d'une maison.
Pour commencer, le plus utilisé : le CMS (système de gestion de contenu en français)
Nous pourrions le voir comme une maison déjà construite que vous pourriez personnaliser, comme la peinture, changer les robinets ou les portes, et une fois terminée, vous y mettez vos meubles. Nous pouvons toujours casser un mur pour aménager un peu, mais cela doit rester une exception. S'il y a trop de choses à personnaliser, il est toujours préférable de construire selon vos souhaits dès le départ avec un framework ou une programmation entièrement personnalisée
plutôt que de lutter contre l'architecture déjà en place.
Pour illustrer cela, je vais vous prendre un site vitrine avec lequel vous utiliserez le CMS WordPress qui est le plus connu pour l'exemple.
L'architecture est déjà faite, la maison est vide et tout ce que vous avez à faire est de la personnaliser.
Ou si vous achetez ce que nous appelons un thème, ce sera une maison avec la cuisine, les toilettes et la peinture déjà faits. Tout ce que vous avez à faire, c'est d'y mettre vos propres meubles, qui seront le texte et les images pour un site Web, par exemple. Et si vous souhaitez personnaliser l'aspect visuel, c'est très facile.
Vous pouvez même ajouter un peu plus de personnalisation comme un outil de calcul ou des outils d'abonnement. Mais le CMS WordPress a été conçu à la base avec une architecture conçue pour les sites Web avec un blog et même si nous pouvons ajouter beaucoup de choses comme une boutique en ligne ou même créer éventuellement une plateforme. La personnalisation aura ses limites si nous nous éloignons trop de cette fonction principale.
Par exemple, si vous souhaitez créer une application de rencontres ou un outil de gestion comptable, vous risquez de vous heurter à des limites. C'est un peu comme si quelqu'un voulait construire une écurie ou une laverie dans une maison résidentielle.
En conclusion, tout comme pour l'achat d'une maison ou d'un magasin, si vos besoins en matière de site web ou d'application sont assez standards, le CMS sera une bonne option.
Le principal avantage est que la majorité du code est déjà réalisé et solide.
Tout ce qui restera souvent à faire, ce sont les retouches finales.
Nous verrons dans une prochaine vidéo les différents types de CMS et pour quelles utilisations ils sont conçus. Pour des besoins plus avancés, nous passerons maintenant à notre deuxième solution : les frameworks.
Pour les frameworks, c'est pareil, nous pouvons revenir à notre exemple de la maison.
Disons que nous voulons construire la maison de nos rêves avec des pièces personnalisées à nos activités, comme un chimiste qui voudrait avoir un laboratoire avec des liquides dangereux. Ou un chanteur qui a des besoins spéciaux en matière de stockage et d'insonorisation.
Pour le web, c'est la même chose, prenons par exemple une application pour la gestion des matériaux de construction avec de nombreux cas spécifiques à mettre en place. Il existe souvent des applications existantes, mais elles peuvent être trop compliquées ou manquer de certaines fonctionnalités spécifiques à votre activité.
Dans ce cas, le framework sera une boîte à outils extraordinaire. À l'intérieur, si nous prenons l'exemple de la construction d'un bulldozer, nous trouverons les tournevis, le ciment, les tuyaux pour la plomberie, les portes, les fils électriques ou même le mur déjà construit. Et tout cela avec un plan sur la façon de les assembler, et bien sûr, ils seront tous conçus pour être parfaitement compatibles entre eux.
Il faudra déterminer avec votre architecte quels sont les besoins initiaux afin qu'il puisse établir les plans et savoir quels outils utiliser. Il est même possible d'ajouter des outils supplémentaires à ceux qui existent déjà et qui seront compatibles avec le framework si nécessaire. Ils sont appelés bibliothèques.
Une fois le plan réalisé, il ne reste plus qu'à assembler le tout avec les développeurs pour s'adapter à chaque tâche en fonction de la taille de votre projet.
Parce que, comme pour la construction, si vous construisez un abri de jardin, vous pouvez recruter un seul artisan qui peut tout faire, alors que si vous construisez un grand bâtiment, il sera toujours préférable d'embaucher un peintre, par exemple, pour éviter que le plombier ou l'architecte ne se retrouve à faire la peinture.
Mais cela fera l'objet d'une future vidéo où nous pourrons entrer dans les détails de la construction.
Ce mode de construction présente l'avantage d'être beaucoup plus personnalisable et flexible qu'un CMS. Il est souvent plus sûr, plus fiable et plus stable, s'il a été codé correctement bien sûr. Les possibilités sont presque infinies. En revanche, cela prendra un peu plus de temps pour la programmation, et donc un peu plus de budget.
Maintenant que nous avons passé en revue les deux options les plus courantes pour la plupart des projets, il existe certains cas très spécifiques où le Framework est trop volumineux pour notre projet et donc pas nécessairement nécessaire. Dans ce cas, nous pouvons également créer du sur-mesure à 100 %.
Créer votre projet personnalisé, c'est comme construire cette maison avec juste une truelle, du béton et des briques.
Pour une maison, cela serait aussi de découper les portes ou même d'en acheter certaines mais de devoir les adapter à votre construction.
Construire la plomberie nous-mêmes ou quelque chose du même genre, aller acheter tout et devoir prendre le temps de vérifier si tout est compatible avec le reste.
Ce mode de construction est très flexible et très personnalisable, et sera adapté, comme nous l'avons dit, pour les petits projets, les applications très spécialisées qui ont une architecture très spécifique.
Par exemple, une petite application pour effectuer un calcul en chimie ou extraire des données dans un environnement technique inhabituel.
Vous avez compris que cette solution n'est pas conçue pour construire un site ou une application conventionnelle.
Vous pouvez également utiliser ce mode de programmation pour ajouter juste un peu de personnalisation à un site ou une application existante.
Les seules choses à choisir ici seront le langage de programmation :
Pour vous donner quelques exemples, pour un petit outil de calcul des impôts ou une animation, nous utiliserons JavaScript. Pour effectuer des calculs de physique ou un algorithme d'intelligence artificielle, je prendrais Python. Ou pour une grande infrastructure qui aura besoin d'un logiciel très sécurisé avec une architecture spécifique, nous utiliserons un langage de bas niveau tel que Java, par exemple.
La programmation entièrement personnalisée à 100 % est, comme vous pouvez l'imaginer, la plus longue et donc généralement la plus coûteuse.
Elle comporte un risque d'erreur beaucoup plus élevé car vous devez tout envisager et ne rien oublier, comme la sécurité ou la cohérence du code dans toute l'application.
Cela peut également créer une dette technique, car chaque développeur code de cette manière et qu'il n'y a pas de framework.
Si vous avez besoin d'ajouter quelque chose à votre application avec un nouveau développeur, il doit d'abord comprendre ce que son prédécesseur voulait faire.
Cela dit, avec tous les outils dont nous disposons actuellement, il est de plus en plus rare de trouver des cas qui nécessitent une personnalisation totale.
Pour la construction d'une maison, plus nous voulons quelque chose de personnalisé, plus nous nous orienterons vers le framework ou, dans certains cas, vers une solution entièrement personnalisée. En revanche, comme pour l'achat d'une maison, si nos besoins sont standards, nous pouvons choisir une solution déjà créée avec un CMS et l'adapter pour qu'elle nous ressemble sans forcément tout refaire. Ce qui sera donc plus rapide et moins coûteux.
S'il devait y avoir une chose à retenir pour la construction de votre site ou de votre application web, ce serait : Plus il est personnalisé, plus il prendra de temps et donc plus vous devrez prévoir de budget.
Xavier De Lisle
Président | CEO
Nous pouvons discuter plus en détail de vos projets et déterminer ensemble vos besoins.