FraiSCAD est un petit environnement de modélisation paramétrique 2D et 3D entièrement en français, pensé pour les élèves de collège, voir de lycée, les ateliers code et tous ceux qui veulent apprendre la programmation en voyant immédiatement ce que fait leur code — et surtout comment il s’exécute.
On tape quelques lignes, on clique sur ▶ Exécuter, une forme apparaît. On bouge un curseur, la forme évolue en temps réel. On ouvre le panneau diagramme, l’algorithme se dessine à côté du code — boucles, conditions, appels de fonction — et on peut rejouer pas à pas ou remonter dans le temps à n’importe quelle étape pour comprendre ce qui s’est passé.
Pourquoi FraiSCAD ?
FraiSCAD est né d’une pratique de terrain. Nous utilisons OpenSCAD depuis une dizaine d’années pour les stages de 3ème — un très bon logiciel de modélisation paramétrique par programmation que nous employons aussi pour créer des objets mathématiques pour l’impression 3D — mais l’expérience a montré ses limites pour un usage de découverte pour des élèves qui n’ont fait que du Scratch à quelques exceptions : interface et syntaxe en anglais, installation nécessaire sur chaque poste, pas de mode tortue pour les plus jeunes, et une courbe d’apprentissage trop raide pour des élèves qui découvrent la programmation.
FraiSCAD reprend l’esprit d’OpenSCAD — décrire des formes par l’algorithmique — mais dans un environnement pensé dès le départ pour l’éducation : des mots-clés en français, une syntaxe simplifiée, un mode tortue Logo, une vision sous forme de diagramme qui rappelle scratch, une navigation dans le déroulé de l’algorithme, et un accès immédiat depuis n’importe quel navigateur.
Quatre héritages
FraiSCAD réunit quatre approches venues d’horizons très différents qui n’avaient jamais été mises côte à côte dans un même outil — une tradition pédagogique (Logo et la tortue), un paradigme de CAD (OpenSCAD), une norme d’ingénierie (DRAKON) et une culture de l’expérimentation numérique interactive temps-réel développé au LJAD :
Logo et la tortue — tradition pédagogique (Seymour Papert, MIT, 1967)
Logo est l’une des rares vraies traditions pédagogiques du code avec Scratch. Papert l’a conçu explicitement comme un environnement d’apprentissage des mathématiques par la programmation, théorisé dans Mindstorms (1980). Une tortue qui avance, tourne, lève ou baisse son crayon, et laisse un trait derrière elle. Par l’intuition géométrique, l’élève apprend à raisonner avec son corps, à découper un problème en étapes simples.
En français : avancer(100), droite(120), stylo_couleur("or"). La tortue fonctionne aussi en 3D (monter, descendre, rouler_droite) pour les spirales et les fractales dans l’espace.
OpenSCAD — paradigme de CAD paramétrique (2009)
OpenSCAD n’est pas un outil scolaire — il a été créé pour les makers et les ingénieurs — mais le paradigme qu’il défend est extraordinairement clair à enseigner : la modélisation 3D décrite par du code, primitive après primitive (cube, sphere, cylindre, tore), combinées par des transformations (translation, homothétie), et des opérations booléennes (union, difference, intersection). Les pièces sont réelles — exportables en STL, prêtes pour l’impression 3D ou la CNC.
En français : difference() { cube(40); cylindre(8, 50) } crée une plaque percée.
DRAKON — notation visuelle d’algorithmes (programme spatial Bourane, années 1980)
Même si on peut lui trouver une ressemblance avec Scratch, DRAKON est une norme de schémas-blocs développée pour le programme spatial soviétique Bourane, conçue pour que des algorithmes complexes restent lisibles par des équipes pluridisciplinaires (logiciel + mécanique + opérations). Chaque construction (test, boucle, sous-programme) a une forme standardisée. Mais sa lisibilité en fait un excellent support pour voir un algorithme sans l’écrire.
Dans FraiSCAD, le diagramme DRAKON du programme s’affiche à côté du code et se met à jour en temps réel pendant la frappe. Chaque icône est colorée par catégorie (affectation, forme, CSG, condition…), les fonctions deviennent des silhouettes parallèles, les boucles ont leur variable d’itération affichée en pastille, qui peut même être modifié par un Time-Machine local (voir plus bas)
Le programme interactif — culture de l’interactivité temps-réel
Quatrième influence, qui est le cœur de FraiSCAD : celle des environnements où le programme n’est pas un script qu’on lance puis qui meurt ; il réagit, en direct, à l’utilisateur. Lignée Smalltalk-Dynabook d’Alan Kay (Xerox PARC, années 1970), prolongée par Interface Builder sur NeXT (Jean-Marie Hullot, 1988) qui ouvre la conception d’interfaces réactives à des non-développeurs, théorisée par Bret Victor (2012) autour de la latence cognitive — l’idée que tout retard dans la boucle entre intention et observation tue des univers d’idées entiers.
Et — plus directement encore — une pratique de plus de trente ans d’expérimentation numérique interactive au LJAD (Laboratoire J.A. Dieudonné, Nice) et auparavant à l’INLN (Institut Non Linéaire de Nice) : simulations en ligne de systèmes dynamiques, d’équations aux dérivées partielles, de probabilités, lignée amorcée avec xdim au début des années 1990, dans la continuité directe du paradigme d’Interface Builder. C’est le terreau direct sur lequel FraiSCAD a été créé.
Voir l’algorithme à plusieurs niveaux
Pas-à-pas animé
Coche ☑ Tortue et clique sur ⏭ Avant : chaque instruction s’exécute une à une, avec :
la ligne courante surlignée dans l’éditeur ;
l’icône courante allumée dans DRAKON, avec un cross-fade entre les étapes ;
un point lumineux qui voyage le long de la flèche entre deux blocs ;
en 2D, la tortue qui glisse le long du segment ; en 3D, les formes qui apparaissent au fur et à mesure des instructions ;
les variables qui flashent en jaune dans les cartes des scopes au moment où elles changent.
C’est l’algorithme lui même qui s’anime en plus de ce qu’il produit.
Time Machine globale
Sous la barre d’outils, un slider étape N / total · ligne L. Glisser = sauter à n’importe quelle étape.
Cliquer sur une icône DRAKON = sauter à sa prochaine occurrence dans l’exécution.
Cliquer sur un numéro de ligne = idem par ligne d’éditeur.
Particulièrement puissant pour comprendre la récursivité : les appels de fonction s’empilent dans des cartes superposées avec leurs paramètres, un badge ↻ × N indique la profondeur de récursion.
Avec la Time Machine, la récursion arrête d’être un mystère. On voit la pile se construire, puis se défaire.
Time Machine locale à chaque boucle
Nouveauté qu’on ne trouve dans aucun debugger classique : chaque boucle pour reçoit un mini-slider vertical à droite de sa pastille i = …. Glisser ce slider = sauter directement à l’itération où la variable a cette valeur. Le corps entier de la boucle est ré-exécuté avec cette valeur — les icônes du corps s’illuminent en vert lime, un flash en vague parcourt le corps top-to-bottom.
C’est l’équivalent d’un « step-into-a-specific-iteration » qu’aucun environnement classique ne propose.
Aperçu 3D des sous-objets CSG
Quand on écrit difference() { cube(60); percer(...) }, FraiSCAD capture le mesh contribué par chaque ligne du corps CSG. Un petit badge (ⓘ) apparaît sur ces lignes dans DRAKON ; cliquer dessus ouvre un panneau 3D interactif (rotation, zoom, pan à la souris) qui montre cet objet seul, isolé de l’opération.
Idéal pour comprendre une éponge de Menger : on visualise séparément le cube qu’on perce et les barres qu’on retire, avant de voir le résultat de la soustraction. Une approche « ingrédients vs. plat fini » que la modélisation paramétrique classique ne propose pas.
IMAGE
Ce qu’on peut faire concrètement
2D : cercles, carrés, polygones, étoiles, fractales, rosaces, dessins libres à la souris ; couleurs nommées en français (rouge, or, argent, marron…).
Sauvegarde locale : fichiers .fsc enregistrables et rechargeables, détection automatique des modifications non sauvegardées.
Pour qui ?
Enseignants de mathématiques, technologie, informatique (SNT, NSI) cherchant un outil qui parle français et qui rend l’algorithme visible à l’élève.
Élèves de collège et lycée qui veulent dessiner, construire, imprimer en 3D sans passer par l’anglais et par dix concepts d’un coup.
Ateliers code, clubs robotiques, FabLab scolaires : passerelle naturelle entre Scratch et les langages texte.
Autodidactes curieux de voir ce qui se passe vraiment quand un programme s’exécute.
FraiSCAD tourne entièrement dans le navigateur — pas d’installation, pas de compte, pas de serveur — sur ordinateur comme sur tablette (mode paysage ou portrait), en thème clair ou sombre.
Une approche pédagogique cohérente
Sous le code en français se cachent tous les concepts fondamentaux que les élèves rencontreront plus tard :
Concept
En FraiSCAD
Transférable vers
Variables, types, expressions
variable rayon = 50
Python, JavaScript, C
Boucle for/while
pour (i de 1 a 10) { … }
n’importe quel langage
Conditions
si / sinonsi / sinon
n’importe quel langage
Fonctions, récursion
fonction f(n) { … }
partout
Opérations booléennes 3D
difference()
OpenSCAD, Fusion 360, FreeCAD
Indentation par accolades
style Allman ({ aligné)
C, Java, C#, JavaScript
Le code est insensible à la casse (AVANCER, Avancer et avancer sont équivalents), pour éviter aux débutants les erreurs d’étourderie qui les bloquent en début d’apprentissage.
Essayer FraiSCAD
FraiSCAD fonctionne sur ordinateur, tablette et tableau interactif. Aucune installation, aucun compte : il suffit d’ouvrir la page dans un navigateur. Veuillez noter que freescad est en cours de développement et peut évoluer à tout moment.