CoddyRun

CoddyRun

CoddyRun est un environnement logiciel éducatif conçu pour faciliter l'apprentissage de la programmation, de l'algorithmique et de la logique informatique.

100%
Pédagogique
FR
Langage natif
0
Prérequis
Télécharger CoddyRun
Télécharger la dernière version v3.4
Application CoddyRun ouverte dans le navigateur web

Version actuelle v3.4 Stable

CoddyRun - Environnement pédagogique

Fonctionne sans installation supplémentaire
Compatible Windows : 10, 11
Application : 100% API Localhost
Licence éducative : 100% gratuit
Application : Version portable 32/64 bits (Sans installation)
Nom du fichier : CoddyRun.zip
Taille du fichier zip : 6,33 Mo
📢 CoddyRun ne dépend d’aucun service en ligne - l’application est totalement autonome et utilisable sans Internet.
Téléchargements de CoddyRun
Programmes exécutés
Avant de démarrer, pensez à consulter le "Guide de démarrage" : il explique les prérequis et les étapes de lancement du serveur, puis comment accéder à votre l’interface.
CoddyRun
À propos CoddyRun
Présentation, philosophie, architecture et informations générales
Présentation générale
Ce qu'est CoddyRun et à qui il s'adresse
Vue d'ensemble

CoddyRun est un environnement logiciel éducatif conçu pour faciliter l'apprentissage de la programmation, de l'algorithmique et de la logique informatique. Il fonctionne directement dans le navigateur, sans aucune installation, et propose un langage de programmation entièrement en français.

Il a été pensé dès l'origine comme un outil pédagogique, accessible, clair et progressif, destiné aussi bien aux débutants complets qu'aux apprenants plus avancés souhaitant consolider leur compréhension des concepts fondamentaux, aux enseignants cherchant un support de cours, et aux formateurs en reconversion professionnelle.

Contrairement aux environnements de développement classiques (VS Code, PyCharm, etc.), CoddyRun n'expose pas de complexité technique inutile. Pas de configuration, pas de dépendances, pas d'environnement virtuel à gérer : on ouvre, on écrit, on exécute.

CoddyRun met l'accent sur la compréhension plutôt que sur la syntaxe brute, et sur le raisonnement logique plutôt que sur la performance ou la vitesse d'exécution. L'objectif n'est pas de produire un code le plus court possible, mais de comprendre ce que chaque instruction fait.
Philosophie du projet
Principe fondateur
"Apprendre à coder, c'est avant tout apprendre à penser."

Cette phrase résume toute la démarche CoddyRun. Quand on débute, les plus grandes difficultés ne sont pas de comprendre un algorithme — elles viennent des obstacles syntaxiques, des messages d'erreur cryptiques, des configurations à mettre en place. CoddyRun cherche à faire disparaître cette friction pour que l'apprenant puisse se concentrer sur l'essentiel : la logique.

Chaque choix de conception — la syntaxe en français, l'indentation automatique, les messages d'erreur clairs — vise à réduire la charge cognitive et à maintenir l'attention sur le raisonnement algorithmique plutôt que sur les détails d'implémentation.

Lisibilité
Le code CoddyRun se lit comme du texte naturel. si age >= 18 alors affiche 'Majeur' fin si — même quelqu'un qui n'a jamais programmé comprend ce que ça fait.
Compréhension avant performance
L'exécution pas à pas permet de voir exactement quelle ligne s'exécute, dans quel ordre, et avec quelles valeurs. C'est plus instructif qu'un simple résultat final.
Charge cognitive réduite
Pas de points-virgules obligatoires, pas d'accolades imbriquées, pas de types complexes à déclarer explicitement. La grammaire du langage est volontairement minimaliste pour réduire les sources d'erreur involontaires.
Progressivité
CoddyRun accompagne l'apprenant du programme "Bonjour monde" jusqu'aux algorithmes de tri, en passant par les fonctions récursives. Le même outil sert à chaque étape de l'apprentissage.
Un langage pédagogique dédié
Conçu en français, pour penser en français
Le langage CoddyRun est un pseudo-code exécutable. Il ressemble volontairement à ce qu'un professeur écrirait au tableau pour expliquer un algorithme — sauf qu'il peut être lancé directement dans l'éditeur. Cette proximité entre le raisonnement naturel et le code exécutable est au cœur de la démarche pédagogique.
Mots-clés du langage
si … alorssinonfin si tant que …pour … de … à … affichedemande fonctionprocédureretourne répète … foistableauajoute
Pourquoi des mots-clés en français ?

Les langages de programmation comme Python ou JavaScript utilisent des mots-clés anglais (if, while, for…). Pour un apprenant francophone qui ne maîtrise pas encore l'anglais, ce double effort — comprendre la logique et mémoriser des termes étrangers — peut décourager.

En CoddyRun, les mots-clés correspondent directement aux concepts : tant que signifie littéralement "tant que la condition est vraie, répète". Aucune traduction mentale n'est nécessaire : on pense, et on code.

Ce que le langage évite intentionnellement
Symboles cryptiques
Pas de {} pour délimiter les blocs, pas de ; obligatoires en fin de ligne, pas de == vs = pour la comparaison. En CoddyRun, = compare toujours, et vaut affecte.
Règles syntaxiques ambiguës
Chaque structure a un début et une fin explicites : si … alors … fin si, pour … fin pour. Il n'y a jamais de doute sur ce qui appartient à quel bloc.
Erreurs de typage cachées
Les types sont déclarés explicitement (x est un nombre), ce qui aide à comprendre ce que contient chaque variable et prévient les conversions implicites surprenantes.
Gestion de mémoire complexe
Pas de pointeurs, pas d'allocation manuelle, pas de garbage collector à comprendre. Les variables se créent naturellement et sont gérées automatiquement.
La référence complète du langage — mots-clés, variables, boucles, fonctions intégrées, erreurs courantes — est regroupée sur une page dédiée : consulter le langage CoddyRun.
Un éditeur pensé pour l'apprentissage
Interface intégrée : édition, exécution et console dans la même fenêtre
L'éditeur CoddyRun est une interface tout-en-un : on écrit son programme à gauche, on clique sur "Exécuter", et les résultats apparaissent immédiatement dans la console à droite. Pas besoin d'un terminal séparé ni d'une configuration quelconque. Cette boucle courte entre écriture et résultat est essentielle pour l'apprentissage par essai-erreur.
Fonctionnalités de l'éditeur
Coloration syntaxique adaptée
Les mots-clés, les chaînes de texte, les nombres, les commentaires et les fonctions sont colorés différemment. Cette mise en évidence visuelle aide à repérer rapidement la structure du programme et à détecter les fautes de frappe (un mot-clé mal orthographié ne sera pas coloré).
Numérotation des lignes en temps réel
Chaque ligne est numérotée, ce qui facilite la navigation dans les programmes plus longs et permet aux messages d'erreur de pointer précisément vers la ligne problématique.
Affichage de la position du curseur
La ligne et la colonne du curseur sont affichées en permanence. Un détail qui simplifie considérablement la localisation des erreurs signalées par l'interpréteur.
Indentation automatique intelligente
Quand on passe à la ligne après un si … alors ou un pour, l'indentation est ajoutée automatiquement. Cela renforce dès le départ les bonnes habitudes de présentation du code — un code bien indenté est un code qu'on peut relire facilement.
Console intégrée
Les sorties du programme (résultats des affiche), les messages système, les erreurs d'exécution et le message de fin sont tous affichés dans la console. Les erreurs incluent la ligne concernée pour faciliter le débogage.
Comptage de caractères
La taille du programme est suivie en temps réel — utile pour les enseignants qui veulent fixer des contraintes de longueur sur des exercices.
La console ne se contente pas d'afficher les résultats : elle signale explicitement le début et la fin de l'exécution, ce qui aide l'apprenant à distinguer ce qui vient de son programme de ce qui vient du système.
Architecture technique
Comment CoddyRun fonctionne sous le capot
CoddyRun repose sur une architecture en couches strictement séparées : le serveur local gère l'accès et les routes, le moteur d'interprétation analyse et exécute le code CoddyRun, et l'interface web présente tout cela de manière réactive. Cette séparation garantit que chaque couche peut évoluer indépendamment.
Stack applicative
01
Serveur local intégré (HTTP)
Point d'entrée de l'application. Gère les routes, l'authentification et le chargement conditionnel des ressources. Fonctionne en local sur votre machine — aucune donnée n'est envoyée vers un serveur distant.
02
Moteur d'exécution CoddyRun
Interpréteur du langage pédagogique. Il effectue un pré-scan du code pour enregistrer toutes les fonctions et procédures avant l'exécution, puis interprète les instructions ligne par ligne.
03
Interface web moderne & réactive
Éditeur de code avec coloration syntaxique, console d'affichage, gestion des entrées interactives et indicateurs visuels (position du curseur, compteur de caractères). Se met à jour en temps réel sans rechargement de page.
04
Séparation stricte des couches
Authentification par cookie HttpOnly, logique applicative et interface utilisateur sont totalement indépendantes. La logique n'est transmise au navigateur qu'après validation du cookie de session côté serveur — jamais côté client.
Guide de démarrage
Fenêtre de l'application CoddyRun sous Windows

Configuration

Configuration minimale : Pour initiation, projets simples, petites animations.

- CPU : Intel Core i3 / i5 (4–6 cœurs) ou AMD Ryzen 3 / 5

- RAM : 8 Go


Configuration recommandée : Pour un usage fluide, projets éducatifs intermédiaires, animations plus complexes.

- CPU : Intel Core i5 / i7 ou AMD Ryzen 5 / 7

- RAM : 16 Go


Prérequis

Un navigateur web moderne (Chrome, Firefox, Edge)

- Google Chrome

- Firefox

- Microsoft Edge

CoddyRun fonctionne entièrement en local sur 127.0.0.1 (localhost), CoddyRun ne dépend d’aucun service en ligne - l’application est totalement autonome et utilisable sans Internet.

Console affichant le port de lancement CoddyRun

Démarrage du serveur
01
Étape 1 — Lancer CoddyRun
Lancez l’application CoddyRun.exe.
02
Étape 2 — Démarrer le serveur
Cliquez sur le bouton « Démarrer le serveur ».
Le serveur démarre et affiche dans la console :
# Interface : http://localhost:xxxxx
# Session token généré
Un token de session cryptographique est généré automatiquement à chaque démarrage.
03
Étape 3 — Accéder à l'interface
Cliquez sur le bouton « Go ! CoddyRun » pour ouvrir l'interface dans votre navigateur.
Sécurité & Contrôle d'accès
Protéger l'environnement, même en contexte local
Même si CoddyRun fonctionne en local, un mécanisme d'authentification protège l'accès à l'éditeur.
Protection par session authentifiée
Accès à l'éditeur contrôlé
L'éditeur n'est accessible qu'après une authentification automatique par token. L'utilisateur clique sur « Go ! CoddyRun » — le navigateur reçoit un cookie de session sécurisé et est redirigé vers l'interface. Aucune saisie manuelle n'est requise.
Chargement conditionnel de la logique
Le moteur d'exécution et la logique applicative ne sont transmis au navigateur qu'après une authentification réussie. Cela évite l'exposition du code source à des utilisateurs non autorisés, même via les outils réseau du navigateur.
Cohérence côté serveur
La vérification des droits d'accès est effectuée côté serveur, pas seulement côté client. Cette approche est robuste même si le JavaScript de la page est manipulé par un utilisateur averti.

Sécurité intégrée

CoddyRun embarque plusieurs mécanismes de sécurité actifs en permanence :

Réseau local uniquementServeur lié à 127.0.0.1 — inaccessible depuis l'extérieur
Token de session cryptographique256 bits, généré via BCryptGenRandom à chaque démarrage
Cookie HttpOnly + SameSite=StrictToken jamais exposé au JavaScript, protégé contre le CSRF
Authentification automatiqueLe token transite une seule fois dans l'URL, puis est remplacé par le cookie
Comparaison temps constantProtection contre les attaques par timing sur la vérification du token
Taille des donnéesCorps des requêtes limité à 512 Ko

Console / Journal

La console affiche en temps réel les événements du serveur.

Les préfixes indiquent la nature du message :

# Événement système (démarrage, sécurité, inactivité…)

$ Activité HTTP (requête, réponse, ressource servie…)


Console d'exécution CoddyRun
Aide interactive
Découvrez l’Aide interactive
L’Aide interactive est un guide intégré qui fournit des explications claires et des exemples de code en un instant. Conçue pour accompagner l’apprentissage et le développement, elle permet à l’utilisateur de rechercher une commande ou un concept, d’afficher une fiche explicative.

Fenêtre d'aide : saisie utilisateur dans CoddyRun

Fenêtre d'aide de la console CoddyRun

Astuce : Double-cliquez sur un mot dans l’éditeur pour afficher la fiche correspondante.
Un outil adapté à l'enseignement
De la salle de classe à l'auto-apprentissage
CoddyRun a été conçu en gardant à l'esprit les contraintes réelles de l'enseignement : des élèves aux niveaux très différents, des séances de durée limitée, des machines pas toujours récentes, et des enseignants qui ne sont pas toujours des développeurs. Tout doit fonctionner immédiatement, sans friction technique.
Publics cibles
Enseignement scolaire
Collège, lycée — cours d'algorithmique, NSI (Numérique et Sciences Informatiques), SNT. CoddyRun permet d'illustrer concrètement les notions du programme officiel (variables, boucles, fonctions, tableaux) sans se perdre dans les subtilités d'un langage de production.
Formation professionnelle
Ateliers d'initiation, reconversion professionnelle, montée en compétences. CoddyRun offre un point d'entrée doux dans la programmation, sans que les stagiaires aient besoin de maîtriser un environnement de développement complexe dès la première session.
Auto-apprentissage
Parcours guidé, progressif, sans prérequis technique ni linguistique. Idéal pour les curieux qui veulent comprendre "comment ça marche" sans se lancer directement dans un langage comme Python ou JavaScript.
Formateurs et enseignants
Environnement stable et prévisible, prise en main rapide, focus total sur la pédagogie.
Le développeur
À propos de l'auteur

Je m'appelle Grégory.P, et j'ai créé CoddyRun.

J'étais convaincu que les outils existants posaient trop souvent plus de problèmes qu'ils n'en résolvaient : syntaxes intimidantes pour les débutants, interfaces surchargées de fonctionnalités inutiles pour l'apprentissage, messages d'erreur incompréhensibles, configurations à rallonge avant de pouvoir écrire la première ligne. Alors j'ai décidé de construire quelque chose de différent, depuis zéro, avec une seule obsession : la clarté au service de la compréhension.

CoddyRun est le fruit de cette conviction. Chaque fonctionnalité, chaque mot-clé, chaque message d'erreur a été pensé du point de vue de l'apprenant — pas du développeur expérimenté.

CoddyRun, c'est ma réponse à cette frustration. Un environnement où l'on pense avant de coder, où l'erreur est normale et formatrice, et où comprendre compte infiniment plus que performer.
Votre avis compte
Quelle note donneriez-vous à CoddyRun ?
4,8/ 5
5 avis de membres
5 4
4 1
3 0
2 0
1 0

Les avis sont réservés aux membres, afin de garantir des retours authentiques.

Ce qu'en disent les membres 5 commentaires
Thierry51

Alors là, elle est exceptionnelle cette application.
Franchement, je n'aurais jamais imaginé qu'il était possible de programmer avec du pseudocode exécutable. On écrit quelques lignes simples, presque comme si on expliquait à quelqu'un ce qu'on veut faire et CoddyRun les exécute comme un vrai langage, Bravo au développeur, c'est une idée brillante.

Chris54

J'ai découvert Linotte il y a plusieurs années, et ça m'a montré qu’on pouvait rendre la programmation plus accessible. C’était une initiative simple et pédagogique. Aujourd'hui, avec CoddyRun, on retrouve cette idée, apprendre en français sans perdre la logique. Une approche qui reste efficace et motivante.

NicoDev

J’ai testé CoddyRun par curiosité et c’est une très bonne surprise. Coder en français aide vraiment à comprendre la logique sans se perdre dans la syntaxe. L’application est autonome, fonctionne sans service en ligne ni installation, et l’exécution est instantanée. Je pensais que ce serait lourd ou lent, mais non : tout est rapide, simple et agréable à utiliser.

Eliora

Moi qui code en Python, le langage m'a vraiment surpris. Coder directement en français change tout : on comprend plus vite ce qu'on écrit et on se concentre sur la logique. Pour apprendre, tester des idées ou développer de petits projets, c'est vraiment pratique. Je mets 5 étoiles, merci aux développeurs pour cette gratuité. Hâte de découvrir les prochaines mises à jour.

Mathieu

Après avoir utilisé Algobox durant une longue période, j'ai finalement choisi CoddyRun, et le changement est impressionnant. Le logiciel est beaucoup plus robuste, sa structure linguistique est bien pensée, instructive, claire et cohérente.

Contact & Suggestions
Une question, un bug, une idée d'amélioration ? Écrivez-moi depuis votre espace membre

CoddyRun est un projet solo et indépendant. Il n'y a pas d'équipe support, juste un développeur attentif aux retours de la communauté. Si tu as trouvé un bug, une suggestion d'amélioration ou simplement envie d'échanger sur le projet, écris-moi depuis ton espace membre : chaque échange y reste consultable, et tu es prévenu par e-mail dès qu'une réponse arrive.

L'envoi d'un message est réservé aux membres. La création d'un compte prend une minute. Elle vous donne un espace support où chaque échange reste consultable : vous retrouvez vos questions et mes réponses au même endroit, et vous êtes prévenu par e-mail dès qu'une réponse arrive.

CoddyRun est un projet gratuit par conviction. Si tu l'utilises en classe ou en formation, un simple retour, ce qui fonctionne, ce qui manque, est la meilleure façon de contribuer à son amélioration. Merci.
Mises à jour & Versions
Version actuelle
3.4
Version stable
Version actuelle
Cette mise à jour introduit de nouveaux mots-clés, enrichit les capacités graphiques et améliore l’interface.

Historique des versions
v1.0 Obsolète
Lancement initial — éditeur avec coloration syntaxique, console intégrée, moteur d'exécution complet, log pédagogique pas à pas, mode interactif (saisie utilisateur), toutes les structures de contrôle (si, pour, tant que, répète), fonctions, procédures, tableaux, et bibliothèque de fonctions intégrées.
v1.1 Obsolète
Cette mise à jour consolide les fonctionnalités existantes, améliore la stabilité du système et prépare le terrain pour les prochaines évolutions majeures du projet.

Nouvelles fonctionnalités
- Partager votre programme en image : exportez votre travail au format image pour le partager facilement.
- Partager le résultat en image : exportez également le résultat de votre programme sous forme d’image.
- Importer du code : chargez rapidement un fichier de code existant dans l’éditeur (ex. : Bibliothèque CoddyRun).

Nouvelles options
- Auto-complétion : activez ou désactivez l’aide à la saisie selon vos préférences.
- Mode sombre : une interface plus confortable pour les longues sessions, notamment en environnement peu lumineux.

Améliorations & optimisations
- Optimisation des ressources de l’interface CoddyRun
- Mise à jour de l’interface graphique web
- Corrections de bugs mineurs pour plus de stabilité
- Optimisation des explications pas à pas : les logs sont désormais ignorés au-delà de 1000 lignes

Serveur CoddyRun
- Affichage du temps de traitement pour chaque programme interprété
- Blocage des exécutions multi-instances du serveur CoddyRun (prévention des lancements simultanés)
v1.2 Obsolète
Cette mise à jour apporte de nouvelles fonctionnalités, des améliorations d’interface et plusieurs optimisations afin d’offrir une expérience plus fluide et plus agréable.

Améliorations & optimisations
- Amélioration et optimisation des performances de l’interface CoddyRun
- Amélioration significative des performances de l’interpréteur CoddyRun.
- Amélioration et correction du système de recherche des mises à jour de l’application.

Sécurité & serveur
- Renforcement de la sécurité : l’interface est désormais accessible uniquement en Localhost (100 %).
- Suppression du mot de passe au profit d’une authentification automatique par session sécurisée.
- Possibilité de personnaliser le port du serveur via un paramètre de lancement (exemple : CoddyRun.exe --port=9090)

Langage & exécution
- Ajout d’une nouvelle action : « Arrêter l’exécution »
- Ajout d’une nouvelle condition au langage : sinon si ... alors

Interface & aide
- Intégration d’un nouveau module dans l’interface : « Bibliothèque CoddyRun »
- Amélioration de l’aide avec l’intégration de nouveaux contenus et modules.
v1.3 Obsolète
Cette mise à jour apporte de nouvelles fonctionnalités pédagogiques, des améliorations de l’interpréteur et plusieurs évolutions techniques visant à rendre CoddyRun plus expressif, plus lisible et plus agréable à utiliser.

Nouvelles fonctionnalités
Lecture du code
- CoddyRun intègre désormais une fonctionnalité de lecture explicative du code.
- Cette fonction analyse le programme ligne par ligne et le reformule en langage naturel, afin d’en faciliter la compréhension.
Compteur de session en temps réel
- Ajout d'un compteur de session en temps réel dans la barre d'état.

Sécurité & serveur
Personnalisation de la durée de session
- Il est désormais possible de définir la durée de session (en minutes) via un paramètre de lancement. (exemple : CoddyRun.exe --session=60)
Démarrage automatique
- Ajout de la commande --start : démarre automatiquement le serveur et ouvre le navigateur au lancement de l'application.

Langage & exécution
Tableaux multi-dimensionnels
- CoddyRun prend désormais en charge l’accès et l’affectation multi-dimensionnels dans les tableaux.
Ce qui est nouveau :
// Lecture d’un élément 2D affiche t[0][1] // Affectation d’un élément 2D t[0][1] vaut 99
Cette évolution permet :
- l’enseignement des matrices
- les boucles imbriquées
- les algorithmes 2D (tableaux, grilles, cartes, etc.)

Codes ASCII dans les expressions
- Ajout du support des codes ASCII dans les expressions.
- Un code de la forme #nombre est interprété comme un caractère texte.
affiche 'jusqu' + #39 + 'au plus profond des astres'

Nouvelle fonction : taille
- Cette fonction permet de définir ou modifier la taille d’un tableau.
- Il agit directement sur le tableau passé en paramètre et ajuste dynamiquement le nombre d’éléments.
taille(tableau, n)
Comportement :
Si "n" est supérieur à la taille actuelle :
- le tableau est agrandi
- de nouvelles cases sont créées avec une valeur par défaut
Si "n" est inférieur :
- les éléments excédentaires en fin de tableau sont supprimés
- si le tableau est vide, il est automatiquement initialisé

Valeurs hexadécimales
- Ajout du support des valeurs hexadécimales pour l’écriture des nombres.
- Un nombre précédé du symbole $ est interprété en base 16 et automatiquement converti en décimal lors de l’exécution.
x vaut $FF affiche x - $FF // 0
v1.4 Obsolète
Cette mise à jour apporte de nouvelles fonctionnalités pédagogiques, des améliorations de l’interpréteur et plusieurs évolutions techniques visant à rendre CoddyRun plus expressif, plus lisible et plus agréable à utiliser.

Fiabilité renforcée
- Sauvegarde automatique à l’expiration de session : le code est désormais exporté en .CoddyRun, évitant toute perte de travail.
Personnalisation du timeout d'exécution
- Arrêt automatique des interprétations longues : toute exécution dépassant x minutes est stoppée pour prévenir des calculs excessifs.
- Il est désormais possible de définir la durée maximale d'exécution d'un programme interprété (en minutes) via un paramètre de lancement. (exemple : CoddyRun.exe --stopping=5)

Langage plus clair et plus cohérent
- Correction d’un bug où # et autres caractères spéciaux étaient mal interprétés dans les chaînes de caractères.
- Correction de l’indentation des instructions sinon si, désormais alignées correctement avec le si initial.
- Amélioration du formatage du code : Correction des espaces avant les commentaires //, Réduction automatique des lignes vides consécutives.

Nouveautés pédagogiques
Instruction SELON / CAS multi-valeurs
- Possibilité de regrouper plusieurs valeurs dans un même cas à l’aide de virgules.
selon x cas 1, 2, 3, 4 : affiche 'ok' fin selon

Instruction SELON / CAS avec plages de valeurs
- Possibilité d’utiliser des plages de valeurs dans un cas grâce au mot‑clé a (ou à).
selon x cas 1 a 4 : affiche 'x est compris entre 1 et 4' cas 6, 8 a 10 : affiche 'autre plage' sinon selon : affiche 'hors plage' fin selon

Nouvelles fonctions intégrées
- Mathématiques : décimal, sinus, cosinus, tangente, logarithme, pi
- Texte : majuscule_initiale
- Tableaux : joindre
- Logique : pair, impair

Ajout d'un menu contextuel (clic droit) dans l'éditeur de code
- Couper
- Copier
- Coller
- Tout sélectionner
- Formater le code
v1.5 Obsolète
Cette mise à jour a été pensée pour améliorer l’expérience au quotidien, tout en ouvrant la voie à des outils plus professionnels comme les points d’arrêt, l’analyseur syntaxique et l’optimiseur de code.

Corrections
- Lors du chargement d’un fichier, la barre de défilement de l’éditeur se repositionne désormais correctement en haut.
- En mode retour à la ligne, les mots ne sont plus coupés au milieu d’une ligne.

Nouveautés
Menu contextuel :
- Rechercher : lance une recherche à partir du mot sélectionné dans l’éditeur.
- Basculer en commentaire : commente/décommente la ligne où se trouve le curseur.
- Emojis : ouvre un sélecteur d’emojis.

Coloration syntaxique : prise en charge des littéraux numériques, y compris les valeurs hexadécimales.
Mode plein écran : permet d’étendre l’éditeur en plein écran en masquant la console.
Structure du programme : affiche la liste de toutes les fonctions et procédures déclarées dans le programme.

Options
- Suppression du système de LOG pédagogique (explication pas à pas).

Nouvelles fonctionnalités
- Points d’arrêt
- Analyseur syntaxique
- Optimiseur de code
v1.6 Obsolète
Cette mise à jour consolide les fonctionnalités existantes, améliore la stabilité du système et prépare le terrain pour les prochaines évolutions majeures du projet.

Corrections
- Correction de la fonction intégrée décimal(x, 2) - plus de valeur incohérente du type 16288,9500000000007
- Correction de la procédure tri_insertion de la bibliothèque CoddyRun.

Nouveautés
Menu contextuel :
- Enregistrer la sélection : enregistrer uniquement la portion de code sélectionnée dans un fichier *.CoddyRun.

Interpréteur
- Amélioration de la vitesse de traitement.
- Optimisation générale des performances.

Interface
- Ajout d’un message de confirmation avant la suppression de l’éditeur.
- Ajout d’un message de confirmation avant l’ouverture d’un programme si l’éditeur n’est pas vide.
- Mise à jour et optimisation des fonctions et procédures de la bibliothèque CoddyRun.
- Mise à jour des emojis : actualisation et enrichissement de la liste des emojis.

Nouvelles fonctions intégrées
Tableaux
- trier : tri d’un tableau en ordre croissant ou décroissant.
- unique : suppression des doublons
Texte
- chiffres : récupére uniquement les caractères numériques présents dans un texte.
- lettres : récupérer uniquement les caractères alphabétiques présents dans un texte.
- normaliser : supprime les accents et caractères spéciaux d'un texte en les remplaçant par leur équivalent ASCII.
- importer : lecture du contenu d’un fichier txt ou csv.

Syntaxe
- Prise en charge des apostrophes doublées dans les chaînes de caractères : il suffit désormais de doubler l’apostrophe pour l’afficher.
affiche 'C''est l''été !'
v1.7 Obsolète
Cette mise à jour affine l'expérience utilisateur, renforce la robustesse de l'interpréteur et pose les bases solides des fonctionnalités à venir.

Amélioration & Nouvelles fonctions intégrées
- importer : Prise en charge des URLs (https://) — extraction du contenu d'une page web directement depuis le code.
- expression : Recherche d'un motif (expression régulière) au sein d'un texte.

Interface
Contrôle de l'exécution via les numéros de ligne :
- Clic simple → Ligne ignorée : la ligne est sautée lors de l'exécution.
- Double-clic → Point d'arrêt : l'exécution se met en pause juste avant cette ligne.

Bouton « Agrandir la console » : redimensionnez la console en un clic.
Fermeture automatique des symboles : les paires [] et () se complètent automatiquement à la saisie.
Lecture du code : fonctionnalité améliorée.
Menu contextuel : intégration d'une palette de couleurs.

Interpréteur
- Nouveau mot-clé couleur() : permet de modifier la couleur du texte affiché dans la console.
- Commentaires multilignes : prise en charge des blocs de commentaires délimités par { }.
v1.8 Obsolète
Cette mise à jour renforce la stabilité de l’interpréteur, clarifie l’expérience de débogage et enrichit CoddyRun d’un large ensemble de nouvelles fonctions prêtes à l’emploi.

Corrections
- Conversion ASCII réparée : #39 et autres codes renvoient à nouveau le bon caractère.
- Correction de l'alignement du curseur avec l'option retour à la ligne activée.
- Divers ajustements et améliorations de l’interface.

Nouveau mot-clé
- déboguer : Un mot-clé dédié pour afficher des messages de diagnostic sans polluer le résultat principal.
- choisir : Affiche une liste d'options cliquables dans la console.

Nouvelle option : Card de débogage
- Active ou désactive l’affichage d’une card regroupant tous les messages envoyés via déboguer.

Nouvelles fonctions intégrées
Fichier
- sauvegarder : écrit un texte dans un fichier .txt ou .csv.
- fichier_existe : vérifie l’existence d’un fichier.
- ajouter_ligne : ajoute une ligne à la fin d’un fichier sans l’effacer.
- télécharger : télécharge un fichier depuis une URL HTTPS et le sauvegarde localement.
Texte
- retirer : supprime toutes les occurrences d’un motif.
- uid : génère un identifiant unique aléatoire.
- compter_mots : compte le nombre de mots dans un texte.
Mathématiques
- pourcentage : Retourne le % que représente valeur sur total.
- arrondi_supérieur : Retourne le plus petit entier supérieur ou égal à x (plafond).
- arrondi_inférieur : Retourne le plus grand entier inférieur ou égal à x (plancher).
- signe : Retourne 1 si le nombre est positif, -1 s'il est négatif, 0 s'il est nul.
- factorielle : Retourne la factorielle d'un entier positif (n! = 1 × 2 × … × n).
- pgcd : Retourne le plus grand commun diviseur (PGCD) de deux entiers.
Tableaux
- somme : Retourne la somme de tous les éléments d'un tableau de nombres.
- moyenne : Retourne la moyenne de tous les éléments d'un tableau de nombres.
- fusionner : Retourne un nouveau tableau contenant tous les éléments de deux tableaux mis bout à bout.
- médiane : Retourne la médiane d'un tableau de nombres (valeur centrale).
- index_de : Cherche une valeur dans un tableau et retourne sa position (0 si absente).
- intervalle : Génère un tableau d'entiers consécutifs de début à fin inclus.
Utilitaires
- est_vide : Retourne vrai si le texte, le tableau ou l'enregistrement est vide.
- défaut : Retourne la valeur par défaut correspondant au type de la variable.
Date & Heure
- jour_semaine : Retourne le numéro du jour dans la semaine (norme ISO).
- année_de : Retourne l'année d'une date sous forme de nombre.
- mois_de : Retourne le numéro du mois d'une date (1 à 12).
- jour_de : Retourne le numéro du jour dans le mois d'une date (1 à 31).
- heure_de : Retourne la partie heures d'une variable heure (0 à 23).
- minute_de : Retourne la partie minutes d'une variable heure (0 à 59).
- ajouter_jours : Ajoute (ou soustrait si négatif) un nombre de jours à une date.
- format_date : Affiche une date selon un motif personnalisé (jj, mm, aaaa, hh, nn, ss).
- semaine_de : Retourne le numéro de la semaine dans l'année (norme ISO 8601).
- est_bissextile : Retourne vrai si l'année est bissextile.
- ajouter_mois : Ajoute (ou soustrait si négatif) un nombre de mois à une date.
- ajouter_annees : Ajoute (ou soustrait si négatif) un nombre d'années à une date.

Amélioration interface
- La zone de saisie a été entièrement repensée. Les interactions utilisateur se font désormais directement dans la console, offrant une expérience plus naturelle et conforme au fonctionnement d’un terminal réel.
v1.9 Obsolète
Cette version consolide la fiabilité de l’interpréteur, améliore la lisibilité du débogage et enrichit CoddyRun avec un ensemble étendu de nouvelles fonctionnalités.

Nouvelles fonctions intégrées
Utilitaires
- vers_date : Convertit un texte au format jj/mm/aaaa en une valeur de type date.
- vers_heure : Convertit un texte au format hh:mm:ss en une valeur de type heure.
- vers_type : Convertit une valeur vers le type demandé.
Texte
- similaire : Compare deux textes et renvoie vrai si leur similarité atteint au moins x%.
affiche similaire ('chat' , 'chien', 0.7) // faux

Évolution de couleur()
La fonction couleur() accepte désormais plusieurs couleurs sur une même ligne. En plus du mode classique (coloration des lignes suivantes), on peut maintenant colorer directement un texte
affiche couleur(#DC2626, 'Bonjour ! ') + couleur(#2563EB, 'le monde')

Améliorations du serveur local
Nouvelle API serveur
- Les options de l'interface sont désormais enregistrées côté serveur.
Amélioration des performances
- Les fichiers de l'interface sont désormais optimisés et compressés avant l'envoi.
- Les programmes interactifs (demande/choisir) n'affichent plus que le dernier écran à chaque tour, supprimant le ralentissement qui s'accumulait au fil du programme.

Interpréteur
- Messages d'erreur de syntaxe plus clairs : les codes internes (ex. « Token attendu 64, obtenu "EOL" ») sont remplacés par des descriptions en français (ex. « Élément attendu : ")", mais trouvé : une fin de ligne »).
- Protection contre la récursivité infinie : L’interpréteur détecte et bloque les appels récursifs sans fin.
- Littéraux Unicode U+XXXX : CoddyRun reconnaît désormais la notation Unicode hexadécimale directement dans le code source.

Nouveau mot-clé
- html() : Affiche du HTML basique (h1 .. h6, a, img, ul, li, strong, em) directement dans la console.

Interface
Nouveau sous-menu Édition : Copier, Coller, Couper, Tout sélectionner.
Nouveau sous-menu Outils :
- Sélecteur d’emojis par catégorie
- Palette de couleurs (insertion de couleur(#RRGGBB))
- Table ASCII (32–126)
- Symboles mathématiques (opérateurs, relations, logique, grec, flèches)

Optimisation du code
- L’outil d’optimisation affiche désormais le détail complet : variables supprimées, regroupements, et emplacement exact des modifications.
v2.0 Obsolète
CoddyRun franchit un nouveau cap avec cette version 2.0. L’interpréteur gagne en expressivité, en sécurité et en confort d’utilisation, tandis que de nouvelles fonctions enrichissent les possibilités offertes aux utilisateurs.

Nouvelles fonctions intégrées
Tableaux
- assembler : Regroupe plusieurs tableaux élément par élément.
Mathématiques
- évaluer : Interpréter une expression mathématique écrite en texte et en fournir le résultat numérique.
affiche évaluer ('25,8 * (8 + 2,2)') // 263,16

Interpréteur
- Support de la virgule comme séparateur décimal : Les nombres décimaux peuvent désormais s'écrire indifféremment avec un point ou une virgule : 3.14 ou 3,14 sont tous deux acceptés et interprétés comme la même valeur.
- Guillemets pour les textes : Les textes peuvent désormais s'écrire indifféremment avec des apostrophes ou des guillemets : 'CoddyRun' ou "CoddyRun" sont tous deux acceptés et interprétés comme la même valeur.
- Dépassement numérique : Ajout d'un garde-fou, tout nombre dépassant 2^53 lève maintenant une erreur au lieu de produire un résultat silencieusement faux.
- Tableaux littéraux : Il est désormais possible d'affecter directement une liste de valeurs à un tableau.
notes est un tableau notes vaut [12, 15, 8, 19, 14]

Nouveau mot-clé
classe : Définit un modèle nommé regroupant plusieurs champs typés.
classe joueur: nom est un texte score est un nombre vie est un nombre fin classe joueur.nom vaut 'Alice' joueur.score vaut 100 joueur.score ajoute 50 affiche joueur.nom + ' : ' + joueur.score
v2.1 Obsolète
Cette nouvelle version apporte de nombreuses améliorations pour rendre votre expérience plus fluide, plus fiable et plus puissante.

Gestion centralisée des projets
- Tous vos projets CoddyRun sont maintenant regroupés dans un seul fichier, organisés en deux catégories :
- Mes programmes : vos projets complets
- Ma bibliothèque : vos extraits réutilisables

Interface
- Correction d’un problème où l’optimiseur supprimait parfois une variable encore utilisée.
- Ajout de la détection des déclarations de variables dans la fenêtre « Structure du programme ».
- Mise à jour de la liste des emojis.
- Mise à jour de l'aide hors ligne.

Interpréteur
- Validation renforcée des noms de variables et constantes pour éviter les conflits avec les mots réservés, fonctions natives ou fonctions utilisateur.
- Vérification des noms de paramètres avec messages d’erreur clairs en cas de doublon ou de nom interdit.
- Prise en charge des comparaisons textuelles (« plus grand que », « égal à », « différent de »…).
si age plus grand ou égal à 18 alors affiche 'Majeur' fin si
v2.2 Obsolète
Cette version marque une évolution majeure de CoddyRun, offrant une expérience plus intuitive, plus performante et encore mieux adaptée aux besoins des utilisateurs.

Interpréteur
Validation renforcée des noms de variables et paramètres
- Les identifiants ne peuvent plus utiliser un nom de type réservé : nombre, texte, booléen, tableau, enregistrement, date, heure
- Cela évite les ambiguïtés et renforce la sécurité du code.

Indexation des textes
- La notation t[n] retourne désormais le caractère à la position n dans une chaîne.
t est un texte t vaut 'CoddyRun' Affiche t[1]

Nouvelle fonction intégrée
- supprimer : Supprime le caractère situé à une position donnée dans un texte.

demande : expressions et concaténation
Le message de demande accepte maintenant les expressions et la concaténation avec "+".
demande "Combien vaut √" + carreQuestion + " ? " dans reponse

Interface
Bot d’assistance CoddyRun
- Un assistant intégré répond directement à vos questions sur le langage CoddyRun (syntaxe, mots-clés, fonctions, exemples)

Animation améliorée de la console
- Mise en place progressive d'une présentation visuelle, ligne par ligne, lettre par lettre.

Nouvelle option : Élargir à l’exécution
- Cette option agrandit automatiquement la console lors de l’exécution du programme pour une meilleure lisibilité.
v2.3 Obsolète
Cette version marque une avancée majeure de CoddyRun, enrichissant le langage avec le nouveau type toile et une large gamme de fonctions graphiques dédiées au dessin vectoriel.

Interpréteur & Langage
Nouveau type : toile
- Le type toile représente désormais une surface de dessin vectoriel, permettant la création d’images programmées directement dans CoddyRun.
- Il devient la base de toutes les nouvelles fonctions graphiques.

Nouvelles fonctions intégrées
Gestion de la toile :
- dimension : Définit la largeur et la hauteur de la toile
- remplir : Remplit toute la toile avec une couleur.
- rectangle : Dessine un rectangle plein.
- rectangle_arrondi : Rectangle aux coins arrondis.
- cercle : Dessine un cercle plein.
- ellipse : Dessine une ellipse pleine.
- polygone : Dessine un polygone en reliant une suite de points.
- arc : Dessine un secteur de disque (type “part de camembert”).
- ligne : Trace une ligne entre deux points.
- pixel : Colore un pixel unique.
- courbe : Trace une courbe en reliant une suite de points par segments.
- grille : Trace un quadrillage sur toute la toile.
- label : Écrit du texte sur la toile.

Fonctions utilitaires :
- vers_hexadécimal : Convertit un entier en sa représentation base 16.
- vers_décimal : Convertit un texte binaire, octal ou hexadécimal en décimal.

Interface
- Corrections de quelques bugs mineurs.
- Mise à jour de l'aide hors ligne.
- Mise à jour du Bot d’assistance (Base de connaissances).

Nouvelle option : Adapter les toiles à l'écran
- Cette option ajuste automatiquement l’image lorsqu’elle dépasse la taille de la console.
v2.4 Obsolète
Cette version de CoddyRun introduit l’opérateur ^, une fonction label plus flexible, les histogrammes, de nouveaux outils graphiques et des sessions désormais permanentes.

Sécurité & serveur
À partir de cette version 2.4, votre session CoddyRun ne se ferme plus automatiquement.
Auparavant, une session pouvait expirer après une période d'inactivité, ce qui vous déconnectait et interrompait votre travail.
Ce délai a été supprimé : une fois connecté via « Go ! CoddyRun », vous restez authentifié tant que le serveur tourne, sans compte à rebours ni déconnexion surprise.

Ce qui change concrètement :
- Plus de minuteur de session à l'écran.
- Plus de déconnexion automatique après quelques minutes sans activité.
- L'authentification reste identique : cliquez sur « Go ! CoddyRun » pour ouvrir votre session.

Nouvelles fonctions intégrées
Gestion de la toile :
- histogramme : Dessine un histogramme (diagramme en barres) sur la toile.
- dégradé : Remplit toute la toile avec un dégradé horizontal (de gauche à droite) entre plusieurs couleurs.
- label_largeur : Renvoie la largeur estimée en pixels d'un texte affiché avec label.
- label_hauteur : Renvoie la hauteur estimée en pixels d'une ligne de texte affichée avec label.

Amélioration de la fonction label : la taille du texte
La fonction label accepte désormais un paramètre optionnel pour choisir la taille du texte écrit sur une toile.
label(MaToile, 20, 30, 'Petit texte', #FFFFFF) // taille par défaut label(MaToile, 20, 90, 'Grand !', #FFD60A, 40) // taille personnalisée

Interpréteur
Prise en charge de l'opérateur exposant ^
- L’interpréteur reconnaît désormais le symbole ^ pour effectuer une opération de puissance, sans qu’il soit nécessaire d’utiliser la fonction puissance().
affiche 2 * 3 ^ 2 // 18

Interface
- Mise à jour de l'aide hors ligne.
v2.5 Obsolète
Cette version ajoute de nouvelles fonctions pour manipuler les heures, corrige le formatage des nombres décimaux et rend les programmes interactifs nettement plus rapides et plus fluides.

Nouvelles fonctions intégrées
- seconde_de : Retourne la partie secondes d'une variable heure (0 à 59).
- ajouter_minutes : Ajoute (ou soustrait si négatif) un nombre de minutes à une heure.
- ajouter_heures : Ajoute (ou soustrait si négatif) un nombre d'heures à une heure.

Interpréteur
Optimisation majeure de l'interpréteur.
Les programmes interactifs, surtout les jeux ou ceux qui posent plusieurs questions, sont désormais beaucoup plus rapides : ils ne redémarrent plus à chaque réponse et reprennent immédiatement là où ils s’étaient arrêtés.
- Rapidité accrue — Fin des redémarrages inutiles.
- Exécution fluide — Pause, réponse, reprise instantanée.

Interface
Correction du formatage des nombres décimaux.
La fonction d'indentation automatique traitait toute virgule comme un séparateur d'arguments et ajoutait un espace après.
Les nombres décimaux écrits à la française (1,3) étaient donc altérés au reformatage.

Nouvelle fonctionnalité
Rechercher/Remplacer : trouvez une occurrence depuis la position du curseur et remplacez dans tout le code en un clic, directement depuis le menu contextuel de l'éditeur.
v2.6 Obsolète
Cette mise à jour apporte l’effacement et l’animation des toiles, modernise l’interface et renforce la fluidité.

Nouvelles fonctions intégrées
- effacer : Efface tout le contenu dessiné sur une toile.
- animation : Anime une suite d'images de toile stockées dans un tableau.
MaToile est une toile tab est un tableau x, i est un nombre dimension(MaToile, 200, 120) x vaut 20 pour i de 1 à 5 rectangle(MaToile, x, 50, 20, 20, #E63946) tab ajoute MaToile effacer(MaToile) x vaut incrément(x, 30) fin pour animation(tab, 100, 0) // 100 ms, sans boucle

Interface
Structure du programme : tri des entrées par type
- Les fonctions, procédures et variables sont désormais regroupées par type dans le panneau « Structure du programme »

Menu de "choix" plus clair et agréable
- Chaque option se sélectionne d'un simple clic, se navigue au clavier avec les flèches, et l'option active est mieux mise en évidence.

Zone de saisie "demande"
- La zone de saisie est maintenant encadrée avec un halo bleu au focus.
- Ajout d'un bouton « Entrée » cliquable.

Bouton Stop dans la console étendue
- En mode console étendu, un bouton Stop apparaît maintenant dans la barre d'outils.

Retrait de l'optimisation automatique
- À l'usage, le regroupement des déclarations de variables ajoutait de la complexité au programme sans réel gain en contrepartie : le code optimisé devenait parfois moins clair à lire, et la logique de transformation alourdissait l'ensemble.
v2.7 Obsolète
Cette version boostée de CoddyRun, avec de nouvelles fonctions graphiques, un vrai type image, un contrôle clavier instantané et un interpréteur nettement plus rapide.

Nouvelles fonctions intégrées
- icône : Dessine une icône Glyph (Icônes Segoe MDL2 Assets) sur une toile à partir d'un code hexadécimal Unicode.
- rgb : Construit une couleur hexadécimale #RRGGBB à partir de trois composantes numériques : rouge, vert et bleu.
- svg : Importe le contenu d'un fichier SVG du disque et le dessine dans la toile.
- contour : Active un contour (une bordure) appliqué à toutes les formes pleines dessinées sur la toile.

Evolution des fonctions intégrées
- importer : La fonction sait désormais charger les fichiers .svg et renvoie directement une variable de type image, prête à être dessinée avec svg.
- label : La fonction accepte désormais un 7ᵉ argument optionnel angle (de -180 à 180°) permettant de faire pivoter le texte autour de son point d'ancrage (x, y). Les appels existants restent inchangés : sans angle précisé, le texte s'affiche à l'horizontale comme avant.

Interpréteur
Nouveau type : image
CoddyRun dispose désormais d'un véritable type image, au même titre que nombre, texte, toile, etc. Il permet de stocker un dessin vectoriel SVG dans une variable et de le réutiliser autant de fois que nécessaire.
vect est une image vect vaut importer('C:\images\logo.svg') // Dessiner l'image (position 20,20 puis taille 200x200) svg(toile1, 20, 20, vect, 200, 200)

Nouveau mot-clé : appuyer
- Capte les touches du clavier en direct pour créer des déplacements et des contrôles interactifs.
action est un nombre appuyer ['z', 's', 'd', 'q'] dans action si action = 1 alors affiche 'Avancer' sinon si action = 2 alors affiche 'Reculer' sinon si action = 3 alors affiche 'Droite' sinon si action = 4 alors affiche 'Gauche' fin si

Classe
- Les classes acceptent désormais des champs de type toile et image, au même titre que nombre, texte, booléen, tableau, enregistrement, date et heure.

Optimisation de l'interpréteur
- Le moteur d'exécution a été optimisé en profondeur. Les programmes comportant des boucles, des appels de fonctions ou des animations s'exécutent désormais plus rapidement et plus fluidement.

Interface
Suppression du bot d'assistance
- Le bot d'assistance a été retiré afin d'optimiser l'application. Il est remplacé par une FAQ utilisateur désormais disponible en ligne : https://coddyrun.fr/faq/

Nouvelle fonctionnalité : Icônes
- Extension du menu contextuel avec un outil dédié à l’insertion des icônes Segoe MDL2 Assets.
v2.8 Obsolète
Cette mise à jour introduit le type dictionnaire, de nouvelles fonctions intégrées et plusieurs améliorations de l’interface.

Interpréteur
Nouveau type : dictionnaire
CoddyRun prend désormais en charge le type dictionnaire, qui associe des clés (texte) à des valeurs.
Dico est un dictionnaire Dico vaut ['nom': 'Jean', 'age': 25] // Lire une valeur par clé affiche Dico['nom'] // Jean affiche Dico['age'] // 25 // Ajouter / modifier une clé Dico['ville'] ajoute 'Paris' Dico['age'] vaut 26 // Supprimer une clé Dico supprime 'nom' // Nombre de clés affiche longueur(Dico) // 2 // Tester l'existence d'une clé affiche contient(Dico, 'ville' ) // vrai // Parcourir les clés Liste est un tableau Liste vaut clés(Dico) pour i de 0 à longueur(Liste) - 1 affiche Liste[i] + ' = ' + Dico[Liste[i]] fin pour

Nouvelles fonctions intégrées
- clés : Retourne un tableau contenant toutes les clés d'un dictionnaire, dans leur ordre d'ajout.

Interface
- Ajout d'une nouvelle fonctionnalité "Rejouer l’animation"
- Ajout d'une pastille d'aperçu de couleur au survol d'un code hexadécimal dans l'éditeur.
- Ajout d'un écran d'alerte en cas de déconnexion du serveur.
- Recherche d'aide améliorée : insensible aux accents et aux fautes de frappe, résultats classés par pertinence et étendus aux définitions et exemples.
- Coloration automatique des noms de fonctions et procédures déclarées.
v2.9 Obsolète
Cette mise à jour ajoute de nouvelles fonctions, un système de sections dans l’éditeur, des améliorations d’interface et un interpréteur plus rapide.

Interpréteur
Le moteur d'exécution a été optimisé en profondeur, les programmes réagissent plus rapidement et l’expérience utilisateur gagne en fluidité.

Nouvelles fonctions intégrées
Dessin
- enregistrer : Enregistre une toile dans un fichier .svg sur le disque.
Fichier
- ouvrir : Ouvre un fichier, un dossier ou une URL avec l'application par défaut du système.
Math
- arcsinus : Retourne l'arc sinus de x : l'angle (en radians) dont le sinus vaut x.
- arccosinus : Retourne l'arc cosinus de x : l'angle (en radians) dont le cosinus vaut x.
- radians : Convertit un angle exprimé en degrés en radians.
- hypoténuse : Retourne la longueur de l'hypoténuse d'un triangle rectangle de côtés a et b
Dictionnaire
- fusionner : Fusionne deux dictionnaires en un nouveau.
Utilitaire
- chrono : Retourne le temps courant en millisecondes (haute résolution).

Interface
- Demande : nouvelle case « Mode multiligne » pour passer d'un champ simple à une zone de texte (Ctrl+Entrée pour valider).

Nouvelle fonctionnalité dans l'éditeur de code
- Ajouter des sections : préfixez une ligne par @ suivi d'un titre pour marquer une section de votre code (ex. @ Déclaration des variables).
- Nouveau bouton Sections dans la barre de l'éditeur, à côté de la structure du programme : il ouvre un panneau listant toutes vos sections avec leur numéro de ligne.
- Navigation rapide : un clic sur une section déplace le curseur à la ligne concernée.
- Coloration dédiée des lignes de section dans l'éditeur pour les repérer d'un coup d'œil.
v3.0 Obsolète
Cette mise à jour apporte une compatibilité 32/64 bits, introduit de nouvelles fonctions, améliore le langage et ajoute l’export des toiles animées en GIF.

Interpréteur
- Déclaration et initialisation en une seule ligne : Il est désormais possible de déclarer une variable et de lui donner sa valeur directement.
x est un nombre vaut 1.0
- L’interpréteur affiche désormais dans la console le nombre de calculs exécutés lors de l’interprétation d’un programme.
- Prise en charge du canal alpha pour le dessin sur toile.

Nouvelles fonctions intégrées
Utilitaire
- tls : Construit une couleur hexadécimale #RRGGBB à partir de la teinte, de la saturation et de la luminosité.
- rgba : Construit une couleur hexadécimale #RRGGBBAA à partir de trois composantes de couleur (rouge, vert, bleu, chacune entre 0 et 255) et d'un canal alpha de transparence.

Améliorations des fonctions existantes
- expression : Retourne désormais les groupes capturés ([1], [2], …) plutôt que les correspondances suivantes.

Nouvelle fonctionnalité
- Export GIF animé : Exportation des toiles animées au format GIF animé.
– Nouveau bouton Quitter : Permet de fermer l’application directement depuis l’interface.
v3.1 Obsolète
Une exécution 40× plus rapide, des fonctions plus puissantes, un éditeur boosté et des images ultra-fluides : cette mise à jour fait franchir un cap majeur à l’environnement.

Interpréteur
- Optimisation de l'interpréteur : une vitesse d’exécution 40 fois plus rapide.

Améliorations des fonctions existantes
- svg : Accepte désormais les toiles. En plus d'un fichier .svg ou d'une image importée, on peut lui passer directement une toile.
// On dessine un badge une seule fois... badge est une toile dimension(badge, 100, 100) cercle(badge, 50, 50, 45, #FEF08A) cercle(badge, 50, 50, 25, #B45309) // ...puis on le réutilise à plusieurs tailles planche est une toile dimension(planche, 300, 120) remplir(planche, #1E2430) svg(planche, 20, 35, badge, 50, 50) svg(planche, 90, 25, badge, 70, 70) svg(planche, 180, 10, badge, 100, 100) affiche planche

Interface
Amélioration de l'éditeur :
- Ajout du repliage de code des fonctions et des procédures.
- Ajout d'une recherche rapide directement dans l'éditeur.

- Affichage des images plus fluide, les programmes interactifs gagnent en fluidité et en rapidité.
v3.2 Obsolète
Cette mise à jour apporte des améliorations majeures au moteur et à l’environnement de développement.

Interpréteur
- Optimisation de l'interpréteur : jusqu’à 30 % de gain de performance sur les tâches intensives (animations, 3D, simulations, boucles lourdes).

Nouveau mot-clé
- cliquer : Attend que l'utilisateur clique sur la toile affichée.
tant que choix = 0 affiche maToile cliquer maToile dans x, y si clique(x, y, 40, 80, 100, 45) alors choix vaut 1 fin si si clique(x, y, 210, 102, 28) alors choix vaut 2 fin si fin tant que

Affectation directe dans les propriétés d’objet
classe joueur: nom est un texte score est un nombre fin classe
Jusqu’à présent, la saisie utilisateur devait transiter par une variable temporaire avant d’être assignée à une propriété :
temp est un texte demande "Ton nom ? " dans temp joueur.nom vaut temp
Le moteur accepte désormais l’affectation directe dans un champ d’objet, supprimant la variable intermédiaire :
demande "Ton nom ? " dans joueur.nom

Nouvelles fonctions intégrées
- liste_fichiers : Liste les fichiers d'un dossier et remplit un tableau avec leurs chemins complets.
MesFichier est un tableau liste_fichier('C:\', '.csv', MesFichier)

- clique : Vérifie si un point (x, y), obtenu après un clic (cliquer), se situe dans une zone de la toile.
maToile est une toile x, y est un nombre rectangle(maToile, 40, 80, 100, 45, #1976d2) cliquer maToile dans x, y si clique(x, y, 40, 80, 100, 45) alors

Interface
- Correction du positionnement du menu d’auto-complétion.
- Amélioration du panneau "Structure du programme" : vue hiérarchique, filtre et mise à jour en direct.

Nouvelle fonctionnalité
- Ajoutez vos programmes à vos favoris, retrouvez instantanément vos projets en cours, et gérez vos favoris en ajoutant ou en retirant des programmes pour les garder en tête de liste.
v3.3 Obsolète
Cette mise à jour étend l’interpréteur, ajoute de nouvelles fonctions graphiques et améliore l’interface.

Interpréteur
- Analyseur syntaxique : Ajout de la prise en charge des mots-clés cliquer et interagir.

Nouveau mot-clé
- interagir : Attend soit un clic sur la toile, soit une touche du clavier.
maToile est une toile action, x, y est un nombre interagir maToile, ['z', 's', 'd', 'q'] dans action, x, y si action = 0 alors affiche "Clic en " + x + " ; " + y sinon affiche "Touche numéro " + action fin si

Nouvelles fonctions intégrées
- Flèche : Trace une flèche : une ligne terminée par une pointe au dernier point.
MaToile est une toile dimension(MaToile, 260, 200) remplir(MaToile, #1E2430) // Flèche droite : flèche(MaToile, 20, 30, 200, 30, #FFFFFF) // Flèche coudée (un angle droit) : flèche(MaToile, 20, 60, 120, 60, 120, 140, #E63946, 3) // Zigzag (plusieurs angles) : flèche(MaToile, 150, 180, 180, 100, 210, 180, 240, 100, #FFD60A, 2) affiche MaToile
- Triangle : Dessine un triangle à partir de ses 3 sommets.
MaToile est une toile dimension(MaToile, 200, 200) remplir(MaToile, #1E2430) // Un triangle pointe en haut : triangle(MaToile, 100, 20, 180, 180, 20, 180, #E63946) // Un petit triangle rectangle : triangle(MaToile, 20, 20, 80, 20, 20, 80, #FFD60A) affiche MaToile

Interface
- Centrage automatique de la toile en mode console élargie.
- Amélioration du moteur de recherche des programmes.
- Mise en valeur du surlignage de la ligne d’erreur pour une meilleure lisibilité.
- Correction des liens dans l’interface : coddyrun.fr/faq & exemples
v3.4 Actuelle
Cette mise à jour introduit de nouveaux mots-clés, enrichit les capacités graphiques et améliore l’interface.

Interpréteur
- Prise en charge des couleurs hexadécimales (#) avec transparence (Alpha) 8 chiffres.

Tableaux - opérateurs composés.
- t[1] ajoute 1 & t[1] soustrait 1 sont désormais valides.
- Il n'est plus nécessaire d'écrire t[1] vaut t[1] - 1.
t est un tableau t[1] vaut 10 t[1] soustrait 1 // 9 affiche t[1] t[1] ajoute 1 affiche t[1] // 10

Nouveau mots-clés
- processus : Définit un bloc qui s'exécute en parallèle du programme principal.
- pause : Suspend l'exécution pendant un nombre de millisecondes (1000 = une seconde).
- suspendre : Met un processus en pause.
- reprendre : Relance un processus mis en pause par suspendre.

Nouvelles fonctions intégrées
- paramètre : Enregistre et relit des paramètres conservés.

Interface
- Amélioration de la palette de couleurs.
- Suppression du mini-menu d'Edge, qui apparait au double clique sur la toile.

Les mises à jour sont vérifiées automatiquement au lancement de CoddyRun.
Si une nouvelle mise à jour est disponible, la console t’indiquera qu’une nouvelle version est proposée.
Cette mise à jour n’est pas obligatoire, mais elle est recommandée, car elle peut inclure des corrections de bugs, des améliorations de performances et de nouvelles fonctionnalités.

Conclusion
CoddyRun est bien plus qu'un simple éditeur de code :
c'est un outil d'apprentissage, un support pédagogique,
et un compagnon de découverte de la programmation.

Il place l'utilisateur au cœur du processus d'apprentissage, en rendant le code compréhensible, l'exécution visible et la logique accessible à tous. CoddyRun incarne une vision humanisée et pédagogique de la programmation, où comprendre est plus important que coder vite, et où apprendre est une expérience progressive, claire et motivante. Bonne exploration !

Démarrage rapide
Ton premier programme en 3 étapes
Ton premier programme en 3 étapes
01
Ouvre l'éditeur
La zone de texte à gauche est ton éditeur de code. Tu peux y taper directement ton programme CoddyRun.
02
Écris ton code
Par exemple, tape affiche 'Bonjour !' pour afficher un message dans la console.
03
Exécute le programme
Clique sur le bouton Exécuter. Le résultat s'affiche dans la console à droite.
Interface
Présentation de l’interface
Présentation de l’interface - CoddyRun

L’interface de CoddyRun a été conçue pour offrir un environnement de programmation simple, clair et intuitif, adapté aussi bien aux débutants qu’aux utilisateurs plus avancés.

Elle se compose principalement de deux zones distinctes : un éditeur de code à gauche et une console d’exécution à droite, permettant de coder et de visualiser immédiatement les résultats.

L’éditeur propose des fonctionnalités essentielles telles que la numérotation des lignes, le formatage automatique, l’ouverture et l’enregistrement de fichiers, ainsi qu’un bouton d’exécution rapide. Une barre d’informations affiche en temps réel la position du curseur et le nombre de caractères, facilitant l’écriture du code.

La console permet d’afficher les résultats du programme, de vider l’affichage et d’interagir avec l’utilisateur grâce à la saisie de données. Un système d’options personnalisables permet d’ajuster l’affichage (taille de police, retour à la ligne, animations) afin d’améliorer le confort d’utilisation.

Dans son ensemble, CoddyRun propose une interface moderne, ergonomique et pensée pour apprendre le code en toute simplicité.


Interface principale de l'éditeur CoddyRun

Éditeur
Zone de saisieTape ton code ici. La coloration syntaxique met en valeur mots-clés, chaînes, nombres et commentaires.
Numéros de ligneActivables dans les options. Facilitent le repérage des erreurs.
AutocomplétionUne liste de suggestions s'affiche pendant la frappe.
Formater le codeLe bouton Formater réindente automatiquement ton programme pour le rendre plus lisible.
Console
Résultats d'exécutionTout ce qu'affiche ton programme avec affiche apparaît ici.
Messages d'erreurLes erreurs s'affichent en rouge avec le numéro de ligne concernée pour t'aider à les corriger.
Barre d'outils
ExécuterLance le programme
Arrêter l'exécutionStoppe le programme
Analyser la syntaxeContrôle la syntaxe
Formater le codeRéindente le code
Mes programmesCharge un projet
EnregistrerEnregistre le projet
EffacerVide l'éditeur
Points d'arrêt
Contrôlez l'exécution directement depuis les numéros de ligne
Points d'arrêt posés dans l'éditeur CoddyRun

Utilisation
Clic simple → Ligne ignorée
La ligne est sautée à l'exécution — utile pour désactiver temporairement une instruction sans la supprimer.
Double-clic → Point d'arrêt
L'exécution s'arrête juste avant cette ligne — utile pour inspecter l'état du programme à un moment précis.
Cliquez à nouveau sur le numéro de ligne pour retirer le marqueur et rétablir l'exécution normale.
Déboguer
Déboguer un programme
Mode débogage pas à pas CoddyRun

Déboguer

Déboguer sert à afficher des messages de diagnostic pendant l'exécution.

La particularité par rapport à affiche : les messages ne se mélangent pas à la sortie normale du programme.

Ils sont collectés et regroupés dans une card distincte affichée à la fin, ce qui garde le résultat principal lisible.

À quoi ça sert. Suivre l’évolution d’une variable à différents moments, vérifier qu’une boucle s’exécute bien le nombre de fois prévu, ou repérer l’endroit précis où un calcul commence à dévier, tout cela sans encombrer la sortie finale du programme.

C’est un excellent réflexe pédagogique : comme il s’agit d’une instrumentation provisoire, on supprime ou on désactive ces éléments de débogage une fois le problème résolu, contrairement aux affichages destinés à faire partie du résultat final.


Options du mode débogage CoddyRun

Card de débogage

Card de débogage - Active ou désactive l'affichage de la card regroupant les messages déboguer.

Quand l'option est activée, tous les messages produits par l'instruction déboguer sont collectés pendant l'exécution puis affichés dans une card distincte à la fin du programme, sans se mélanger au résultat principal.

Quand elle est désactivée, les instructions déboguer sont ignorées et aucune card n'apparaît, pratique pour exécuter le programme « proprement » sans avoir à retirer les déboguer du code.

Structure du programme
Visualiser d'un coup d'œil l'ossature de votre code
Structure générale d'un programme CoddyRun

Visualiser d'un coup d'œil l'ossature de votre code

Au fur et à mesure qu'un programme grandit, il devient difficile de retrouver rapidement où une fonction est définie, quelles procédures existent, ou quelles variables ont été déclarées.

La fonctionnalité Structure du programme analyse votre code et en dresse le plan : elle liste toutes les fonctions, les procédures et les déclarations de variables & constantes présentes dans l'éditeur. C'est une vue d'ensemble qui aide à naviguer, à vérifier l'organisation de son travail et à repérer les oublis.

Licence
Conditions d'usage
CoddyRun est un projet indépendant, développé et maintenu par une seule personne, mis à disposition gratuitement de la communauté éducative. Les conditions ci-dessous définissent ce que vous pouvez faire avec CoddyRun, et ce qui est interdit sans accord préalable.
Statut juridique

CoddyRun est un logiciel propriétaire à usage éducatif gratuit. Il n'est pas open source : le code source n'est pas distribué et ne peut pas être copié, modifié ou redistribué sous quelque forme que ce soit sans autorisation écrite de l'auteur.

Le fait qu'CoddyRun soit gratuit ne signifie pas qu'il est libre de droits. Gratuité et liberté d'exploitation sont deux choses distinctes.


✓ Ce qui est autorisé
Usage pédagogique
Utiliser CoddyRun en classe, en formation, en atelier ou en auto-apprentissage, sans limitation de durée ni de nombre d'apprenants.
Déploiement en réseau scolaire
Installer et faire tourner CoddyRun sur un réseau d'établissement ou d'organisme de formation, pour les élèves et les enseignants.
Partage du lien ou du fichier
Partager CoddyRun à des collègues, élèves ou formateurs dans un cadre éducatif non commercial, à condition de ne pas modifier le logiciel.
Création de supports pédagogiques
Rédiger des cours, exercices, tutoriels ou évaluations qui s'appuient sur CoddyRun et son langage, pour un usage non commercial.
Mention dans des publications
Citer CoddyRun dans un mémoire, un article académique ou une présentation, en mentionnant l'auteur et la source.
✕ Ce qui est interdit
Vente ou revente
Vendre CoddyRun, le faire payer à des élèves ou à des institutions, ou facturer son accès sous quelque forme que ce soit.
Intégration commerciale
Intégrer CoddyRun dans un produit ou service payant, une plateforme e-learning commerciale, ou toute offre générant des revenus directs ou indirects.
Modification et redistribution
Modifier, décompiler, désassembler ou créer des œuvres dérivées à partir CoddyRun, puis redistribuer le résultat, avec ou sans modification.
Suppression des mentions d'auteur
Retirer, masquer ou modifier les mentions de l'auteur, les crédits ou toute référence à l'origine du logiciel dans l'interface ou la documentation.
Usage à des fins malveillantes
Exécuter du code nuisible, ou dans tout contexte contraire aux lois en vigueur.

CoddyRun est gratuit par conviction. Cette licence protège cet engagement : personne ne devrait pouvoir monétiser un outil conçu pour rendre l'éducation accessible à tous.