Blockly

Présentation de Blockly

Blockly appartient à la catégorie des VPL (Visual Programming Language), c’est-à-dire des langages de programmation visuels. Le principe d’un VPL est extrêmement simple : au lieu d’écrire au clavier des instructions, comme dans les exemples de programmes en JavaScript, en Python et en VBA que vous avez lus dans le premier chapitre, on programme en disposant à l’écran des blocs représentant des instructions. Dans un premier temps, on pourrait penser que ce type de programmation n’a pour seul intérêt que d’économiser la frappe de caractères au clavier, mais ce n’est pas le principal avantage. En fait, un VPL va considérablement faciliter l’apprentissage d’un langage de programmation car il empêche les erreurs de syntaxe et les fautes de frappe, qui sont des erreurs extrêmement courantes et frustrantes quand on apprend à programmer. En effet, nous avons vu que le simple fait d’oublier une virgule, ou bien d’employer un point-virgule à la place d’un point empêche un programme de fonctionner. Dans un VPL, cela ne peut pas arriver car la syntaxe d’une instruction est intégrée au bloc de code et on ne peut pas la modifier. De la même manière, s’il est extrêmement facile de se tromper quand on saisit, par exemple, l’instruction toLocaleDateString (il faut en plus respecter la différence entre les majuscules et les minuscules), on n’aura aucun problème de graphie en déplaçant un bloc. Enfin, comme nous l’avons vu, quand on apprend un langage de programmation, il est nécessaire d’apprendre son vocabulaire, ce qui peut poser problème quand on n’a pas une très bonne mémoire et que l’on est fâché avec l’anglais. Avec un VPL, toute la liste du vocabulaire est présente à l’écran, et de plus, elle a été traduite.

Tous ces avantages font que les VPL sont de plus en plus privilégiés pour l’apprentissage d’un premier langage de programmation. C’est d’ailleurs ce qui se passe en France où, depuis la généralisation de l’apprentissage du codage au collège, c’est le logiciel Scratch qui a été choisi comme langage de référence par l’Éducation nationale.

D’où vient Blockly ?

Blockly est un produit développé par un ingénieur de chez Google. En 2011, Google travaillait sur un projet qui était censé permettre d’écrire facilement des applications pour les mobiles Android. Ce produit, App Inventor, avait cependant un inconvénient majeur : son interface utilisateur écrite en Java (un langage de programmation très populaire chez les informaticiens, qu’il ne faut pas confondre avec JavaScript) était difficile à installer pour les utilisateurs novices. Neil Fraser, ingénieur chez Google, a été chargé de réécrire l’interface utilisateur d’App Inventor et il a choisi de réaliser cette tâche avec le langage de programmation JavaScript. JavaScript étant le langage de programmation du navigateur Internet, les utilisateurs n’avaient plus rien à installer et l’application pouvait s’exécuter facilement dans un navigateur. Quelques mois plus tard, le projet App Inventor fut abandonné et le code du projet fut transféré au MIT, la célèbre université américaine (nous reparlerons d’App Inventor dans le dernier chapitre de cet ouvrage). Neil Fraser n’a pas souhaité abandonner le travail qu’il avait réalisé et il a publié Blockly sous la forme d’un projet open source[1] en 2012. D’autres contributeurs sont venus par la suite enrichir ce projet.

Description de Blockly

Blockly n’est pas à proprement parler un langage de programmation, mais il s’agit d’une boîte à outils qu’un programmeur peut insérer dans une page Web afin d’offrir une interface utilisateur permettant de programmer dans un langage qui aura été défini par le programmeur, en fonction des besoins des utilisateurs. C’est la raison pour laquelle des centaines de projets utilisent Blockly pour offrir aux utilisateurs d’un navigateur Internet la possibilité de programmer simplement. Comme son nom l’indique, Blockly utilise des blocs que l’on assemble pour écrire un programme, de la même manière que l’on assemble des briques de Lego pour réaliser une construction. Comme nous le verrons en détail par la suite, un programmeur doit faire face à des problèmes de logique et à des problèmes de syntaxe. L’utilisation de Blockly permet de s’affranchir des problèmes de syntaxe et l’apprenti programmeur peut ainsi se concentrer sur les problèmes de logique.

Les applications créées à partir de Blockly

Blockly étant vraiment un produit extraordinaire et de par sa conception étonnamment polyvalent, il sert de base à de très nombreuses applications qui offrent ainsi un outil simple et visuel pour apprendre à programmer ou bien pour piloter facilement un objet numérique. Nous ne nous pouvons bien entendu pas nous permettre ici de citer toutes ces applications et nous nous contenterons donc d’évoquer quelques exemples emblématiques :

En apprenant à vous servir de Blockly, vous allez non seulement apprendre les bases de la programmation, mais vous serez aussi capable de piloter des microcontrôleurs ou des robots, et de développer des applications mobiles.

Exécuter Blockly

Pour exécuter Blockly, il suffit d’un navigateur et d’une connexion Internet. Blockly est accessible à l’adresse suivante :

https://blockly-demo.appspot.com/static/demos/code/index.html

Pour ceux qui sont pressés, nous avons créé une URL courte de l’adresse ci-dessus :

https://tinyurl.com/prog-blocs

L’interface de Blockly est par défaut en anglais, mais elle a été traduite en une quarantaine de langues et vous pouvez sélectionner la langue française.

Une fois que vous avez sélectionné le français, vous pouvez écrire facilement des programmes, des plus simples aux plus sophistiqués.

Exemple de programme Blockly vérifiant les règles de création d’un mot de passe (au moins 8 caractères, une majuscule et un chiffre)

[1] Un logiciel open source est un programme dont l’auteur publie le code (source) et que chaque programmeur peut modifier à sa guise.