Open Source : notre boîte à outils pour un développement web sur mesure et ouvert
S’engager dans l’open source ne relève pas seulement d’une démarche purement théorique et philosophique, au contraire, ce sont des choix très concrets à opérer. Chez OpenStudio, cet engagement se traduit à la fois par l’édition d’une solution open source – Thelia – , la contribution de nos développeurs à des outils logiciels que nous utilisons en interne, et par le choix systématique de solutions open source pour les développements sur mesure de nos clients : site vitrine, e-commerce, applications ou encore plateforme métiers…Au fil des années, nous avons constitué une boîte à outils harmonisée qui évolue en ayant toujours l’open source comme ligne de conduite.
Le partage de connaissance et la transparence font partie des valeurs de l’open source et par extension de l’ADN d’OpenStudio. C’est pourquoi nous ne faisons pas mystère des outils que nous utilisons pour développer les projets de nos clients. Ce choix est tout à fait pragmatique étant donné que nous développons des projets sur mesure et que les solutions open source sont beaucoup plus modulables. Choisir l’open source, c’est également garantir à nos clients une liberté d’action avec des outils numériques évolutifs et scalables au rythme souhaité. Travailler « à façon » ne veut pas non plus dire multiplier les outils en fonction des projets, au fil des années, nos équipes de développeurs sont montées en compétence sur un corpus d’outils qui répondent à la majorité des projets que nous menons. Contrairement à certaines idées reçues, vous allez voir que les solutions open source sont très qualitatives et omniprésentes à la base du développement web.
Les Frameworks de développement, l’évidence de l’open source
Globalement, pour les frameworks[1], la question ne se pose même pas, l’open source gagne de fait, puisqu’ils sont pratiquement tous édités sous licence open source. Il existe des frameworks propriétaires, mais ils sont très spécifiques et souvent développés en interne par les entreprises.
Chez OpenStudio, nous utilisons des frameworks populaires qui ont des communautés très vastes qui les soutiennent, et bénéficient ainsi d’un excellent support, de nombreuses contributions et d’une documentation exhaustive :
- Symfony, le framework PHP français le plus adopté dans le monde ! Nous l’utilisons en développement back-end, couplé le plus souvent à la bibliothèque JavaScript React.js pour le front.
Symfony, la technologie PHP constitue le socle de nos développements back-end. Selon les besoins des projets, nous exploitons également son framework MVC complet, son moteur de templating Twig, ainsi que la puissance d’API Platform pour créer des API robustes et performantes. Ces solutions sont souvent couplées à la bibliothèque JavaScript React.js afin de proposer des interfaces front-end modernes et dynamiques. Symfony n’est pas seulement un framework, c’est aussi une bibliothèque de composants stand-alone.
Yann Leravallec, lead développeur back-end
- Laravel est un autre framework PHP moderne et puissant, reconnu pour être très intuitif, il est idéal pour répondre à des demandes clients très rapidement.
- Ionic, le framework dédié au développement d’applications mobiles hybrides.
- React Native, une bibliothèque permettant de créer des applications mobiles natives.
- FastAPI, un framework ultra-rapide pour la création d’API en Python.
- Hadoop, framework conçu pour le traitement de grandes quantités de données distribuées. Il est principalement utilisé dans le cadre de projets qui font appel aux data sciences.
- Apache Spark est aussi un framework de calcul distribué qui effectue des traitements de données à grande échelle. Il regroupe des composants logiciels et outils qui sont structurés en fonction de l’architecture définie.
Les CMS, le choix de trois outils piliers
Site vitrine, e-commerce, application mobile, pour développer ce type de plateformes web nous utilisons principalement trois CMS[2] open source qui s’adaptent à l’ensemble de nos projets : Thelia, WordPress, Strapi. Là aussi, le choix du libre vs propriétaire est assez évident, étant donné la qualité des CMS open source sur le marché.
Thelia, le cms e-commerce made in France
Depuis 2005, OpenStudio s’est spécialisée dans le développement de e-commerces à forte valeur ajoutée, autrement dit des plateformes de ventes sur mesure qui demandent des spécificités techniques poussées. C’est donc tout naturellement que nous éditons et maintenons Thelia, un CMS e-commerce ultra flexible, et 100 % français. Thelia est le meilleur choix pour aller sur des personnalisations avancées des designs et des fonctionnalités. Sa gestion performante des catalogues produits s’adapte aussi très bien aux e-commerces ayant des besoins particuliers, comme les sites marchands BtoB, par exemple. Autre avantage de taille : nous sommes éditeurs de ce CMS, cela signifie qu’OpenStudio maîtrise le rythme des évolutions, et peut développer une fonctionnalité particulière pour un client, et en faire bénéficier les autres si elle s’avère utile pour eux.
Site e-commerce de l’Atelier 15-15 développé sur Thelia.
WordPress, polyvalence et popularité
On ne présente plus WordPress, qui est l’un des CMS les plus célèbres du marché. Utilisé aussi bien pour les sites vitrines, les blogs que pour le e-commerce avec son extension WooCommerce, WordPress est à la fois très intuitif pour nos clients, et offre un large choix de thèmes et plugins qui nous donne la possibilité de personnaliser au maximum les plateformes que nous développons.
Strapi, le CMS headless pour les applications
Strapi est un CMS headless, idéal pour les applications métier et les applications mobiles. Construit avec Node.js qui dissocie le back-end du front-end dans son architecture, Strapi offre la liberté de choisir n’importe quelle technologie front-end. Strapi s’insère parfaitement dans notre approche « API first » et dans nos projets basés sur une architecture en microservices.
Langages de programmation : l’open source gagne la partie haut la main
Pas de doute, l’open source est la norme dans le monde des langages de programmation[3] qui sont pratiquement tous sous des licences open source ou libres. Chez OpenStudio, nos équipes utilisent forcément les langages de base des frameworks que nous avons listés plus haut dans cet article, JavaScript et PHP principalement, mais aussi Python pour les projets nécessitant de l’IA et des data sciences.
PIM (Product Information Management) : le choix entre solutions propriétaires ou open source se discute
En revanche du côté des PIM[4], il y a match entre solutions propriétaires et solutions open source qui n’apportent pas les mêmes avantages. Les solutions propriétaires sont sans doute plus rapides à mettre en place, puisque ce sont des outils « packagés », c’est-à-dire, clef en main, avec peu d’interventions techniques à prévoir. En revanche, il faut être prêt à subir la roadmap de l’éditeur qui ne sera peut-être pas en phase avec celle de son entreprise, et on se retrouve « locké » avec ce même éditeur qui a la main mise pour augmenter ses prix par exemple.
Pour nos clients, nous concevons des PIM sur mesure, il est donc naturel de se tourner vers les solutions open source qui se prêtent davantage à la personnalisation.
Parmi les solutions open source existantes, nous avons fait entrer Pimcore dans notre boîte à outils. Différentes raisons expliquent pourquoi Pimcore est la solution la plus pertinente pour les projets de nos clients : d’une part le socle technologique de Pimcore correspond aux compétences de nos développeurs (Symfony, PHP), d’autre part, Pimcore est réellement une solution ouverte avec un fort potentiel de personnalisation et de nombreuses fonctionnalités, idéale pour le sur mesure.
Moteur de recherche interne : même combat, solutions propriétaires et open source ont leurs arguments
Comme pour les PIM, il y a une vraie concurrence entre propriétaire et open source pour les solutions de moteurs de recherche interne[5]et les avantages/inconvénients sont du même ordre. Deux poids lourds s’affrontent sur le ring des moteurs de recherche interne : dans le coin bleu, c’est Algolia, la solution propriétaire clef en main ultra performante UX-centrée, et dans le coin rouge, Elasticsearch, la solution open source très performante aussi mais qui adresse plutôt les développeurs et non le client e-commerçant directement (comme Algolia le fait). Forcément dans le cadre de développement de moteur de recherche interne complexe, qui demande une forte personnalisation, Elasticsearch remporte la partie grâce à sa robustesse et sa flexibilité.
Plateforme d’analyse web : Matomo, la solution open source
Pour l’analyse des statistiques web, nous conseillons à nos clients l’alternative open source, Matomo. Pourquoi ? Tout d’abord pour sa conformité avec la réglementation européenne sur la protection des données, le RGPD. Avec Matomo, nos clients ont la pleine propriété de leurs données, il n’y a donc pas de commercialisation des données par un tiers, et ils sont libres de choisir l’hébergeur de leur choix. Par ailleurs Matomo fournit des analyses pertinentes et détaillées qui tiennent la dragée haute à celles de la solution Google Analytics.
L’Open source ou la maîtrise de ses choix technologiques
En matière de développement web, l’open source s’impose comme une évidence pour qui cherche la souplesse, la pérennité et la transparence. Loin d’être une simple posture idéologique, il s’agit d’un choix stratégique, fondé sur des outils puissants, éprouvés et soutenus par des communautés actives. Chez OpenStudio, nous avons fait de l’open source la pierre angulaire de notre approche sur mesure, en privilégiant des solutions évolutives, personnalisables, et garantes de l’indépendance de nos clients. Dans un monde numérique en constante évolution, miser sur l’ouverture, c’est s’assurer de rester maître de ses choix technologiques.
[1] Définition de framework : Un ensemble d’outils et de règles qui facilite le développement d’applications en fournissant une structure de base.
[2] Définition de CMS :Il s’agit d’un système de gestion de contenu, un logiciel webfacilitant la création du design et du contenu d’un site internet, sans avoir besoin de tout coder de A à Z.
[3] Définition de langage de programmation : Un langage utilisé par les développeurs pour écrire des instructions que l’ordinateur peut comprendre et exécuter (ex. : Python, JavaScript, PHP).
[4] Définition d’un PIM : Un PIM est un outil qui centralise et gère toutes les informations produits (titres, descriptions, images, fiches techniques, traductions, variantes, etc.) pour ensuite les diffuser vers différents canaux : site e-commerce, marketplaces, catalogues papier, ERP, etc.
[5] Définition d’un moteur de recherche interne : C’est une solution qui permet aux utilisateurs de faire des recherches dans les données internes d’un site ou d’une application : produits, articles, documents, etc.