Présentation

KetchUp est une application de modélisation 3D gratuite et open source, destinée aux menuisiers, aux concepteurs de mobilier et aux bricoleurs. Elle fonctionne sur Windows, macOS, Linux et directement dans un navigateur de bureau, sans création de compte ni stockage cloud. Le logiciel propose des outils classiques – lignes, rectangles, cercles, push/pull – et permet d’enregistrer les projets sous forme de fichiers .ketchup locaux.

Architecture technique

Le cœur de KetchUp est écrit en Rust, un langage réputé pour sa sûreté mémoire et son efficacité d’exécution. Le code Rust est compilé en WebAssembly, ce qui autorise son exécution dans le moteur JavaScript du navigateur. Pour le rendu, l’application exploite WebGPU lorsqu’il est disponible, sinon elle bascule sur WebGL2. Cette double prise en charge garantit une accélération matérielle sur les GPU modernes, tout en conservant la compatibilité avec les navigateurs plus anciens. La même base Rust alimente également les versions natives Windows, macOS et Linux, offrant ainsi une expérience cohérente entre le web et le bureau.

Fonctionnalités et flux de travail

Les utilisateurs peuvent créer des formes de base, appliquer le push/pull pour donner de l’épaisseur, puis déplacer, copier ou mettre à l’échelle les éléments. Le système de snap aux géométries et aux axes, ainsi que la saisie de longueurs exactes, permet de travailler avec des mesures précises, essentielles pour la menuiserie. Les groupes, composants et tags facilitent l’organisation de projets complexes. KetchUp sauvegarde automatiquement le modèle dans le navigateur ; l’option File → Save exporte le projet au format .ketchup, tandis que File → Import/Export accepte les fichiers SketchUp (.skp) et génère des fichiers OBJ (.obj) contenant uniquement la géométrie.

Limites et perspectives

Les imports SketchUp ne conservent pas les textures, les scènes ni certaines propriétés avancées du format original, ce qui peut obliger l’utilisateur à retravailler les matériaux dans un autre logiciel. L’export OBJ exclut les matériaux, limitant l’interopérabilité avec les pipelines de rendu qui s’appuient sur les informations de texture. De plus, la dépendance à WebGPU implique que les performances varient selon le support matériel du navigateur ; les utilisateurs sur des GPU anciens ou sans pilotes compatibles recourent à WebGL2, avec un rendu potentiellement moins fluide. Enfin, l’absence de stockage cloud élimine les risques liés à la confidentialité, mais impose une gestion manuelle des sauvegardes pour éviter la perte de données lors du nettoyage du cache du navigateur.