Pour des raisons de sécurité, je ne peux pas mentionner les sites ici, mais je me ferai un plaisir d’en parler directement en face à face.
J’ai réalisé le plus gros projet de ma carrière jusqu’à présent, consistant en un écosystème complet de sites web multi-sites utilisant le même back-end. L’architecture repose sur un back-end CQRS en NestJS avec une séparation write/read et une API REST, optimisée pour des lectures rapides. Le back read a été conçu pour pouvoir être externalisé ultérieurement en un projet autonome. Chaque site interagit dynamiquement avec ce back, et l’ensemble constitue un écosystème cohérent :
- Site principal : centralise une grande quantité de données sur un sujet spécifique, avec une section news, un forum ouvert, et de nombreuses autres pages.
- Sites satellites : plus petits, utilisant le même back pour récupérer les données dynamiquement.
- Site admin : développé en Vue 3, permet de gérer toute la data, les utilisateurs, le forum et les news depuis un point unique.
Le front-end est développé avec SvelteKit, et la base de données PostgreSQL centralise toutes les informations. L’infrastructure est déployée sur un serveur dédié, chaque site tournant dans un conteneur Docker, avec un proxy Nginx pour gérer le routage. J’ai appris à gérer le serveur, à l’utiliser efficacement et surtout à le sécuriser. Chaque site possède une pipeline CI/CD pour faciliter les mises en production via GitLab.
Des optimisations SEO et d’analyse ont été mises en place : Google Analytics, Search Console, Bing Webmaster Tools, Yandex Webmaster, JSON-LD, SpeedPageTest, backlinks et autres micro-optimisations. Les services publicitaires sont également intégrés.
Pour la sécurité et la fiabilité : systèmes de CAPTCHA, vérifications par email avec token pour l’inscription, rate-limiting pour le forum et système de rôles pour la modération.
Des fonctionnalités avancées ont été implémentées : traduction automatique des news via API, publication automatique sur X, et optimisation des performances pour supporter plus de 15 000 pages web après seulement deux mois et demi de lancement.
Ce projet colossal a nécessité une apprentissage accéléré de l’hébergement, de la sécurité, de la gestion multi-site et de l’architecture scalable, des notions normalement vues plus tard dans ma formation. Il m’a permis de gagner énormément de maturité technique et de développer des compétences bien au-delà du programme scolaire.
Je ne code pas pour coder, mais pour apporter une réelle plus-value à l’innovation, et ce projet représente un excellent exemple de la manière dont la détermination et la curiosité permettent de relever des défis complexes.