This website requires JavaScript to run properly.
William DA SILVA
William DA SILVA
Développeur Full-Stack

to.it

Builder drag-and-drop pour créer des sites web professionnels sans écrire de code.

Vue 3NuxtNode.jsPostgreSQLKubernetes
to.it — capture 1to.it — capture 2to.it — capture 3to.it — capture 4to.it — capture 5

Rôle

Conception technique et développement full-stack de l'éditeur visuel, du back-end et de l'infrastructure.

Architecture

Vue 3, Nuxt, Node.js, PostgreSQL, Kubernetes — architecture modulaire avec éditeur canvas, API REST et déploiement containerisé.

Résultats

Application en production avec des utilisateurs actifs. Éditeur visuel capable de gérer des layouts complexes avec des performances optimisées.

Contexte

to.it est une plateforme qui permet de créer des sites web professionnels par glisser-déposer, sans écrire de code. Le produit s'adresse à des utilisateurs non techniques qui ont besoin de sites vitrines ou de landing pages rapidement.

Le défi principal était de construire un éditeur visuel performant capable de gérer des layouts complexes tout en restant accessible à des utilisateurs sans compétences techniques.

Objectifs et contraintes

  • Construire un éditeur drag-and-drop capable de gérer des grilles, des colonnes et des composants imbriqués
  • Maintenir des performances fluides même avec des pages complexes
  • Fournir un aperçu en temps réel des modifications
  • Permettre l'export et la publication en un clic
  • Assurer la responsive design automatique

Solution et architecture

L'éditeur visuel repose sur une architecture canvas Vue 3 avec un système de composants modulaires. Chaque élément de la page est un composant Vue réactif, rendu dans un conteneur canvas qui gère le glisser-déposer.

Le back-end Node.js assure la persistence des projets, la gestion des assets et la publication. PostgreSQL stocke les structures de page et les configurations utilisateur.

L'ensemble est déployé sur Kubernetes avec un scaling automatique selon la charge.

Décisions techniques

  • Canvas Vue 3 plutôt que GrapesJS : pour un contrôle total sur le rendu et une intégration native avec l'écosystème Vue
  • Architecture événementielle : communication entre l'éditeur et le panneau de configuration via un bus d'événements
  • Rendu progressif : les composants sont chargés à la demande pour maintenir les performances
  • State management Pinia : pour la gestion de l'état de l'éditeur et des Undo/Redo