• 10 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

course.header.alt.is_graduating

Got it!

Last updated on 3/27/19

Développez (proprement) votre programme

Log in or subscribe for free to enjoy all this course has to offer!

Eh bien voilà, le moment tant attendu est arrivé, enfin si bien sûr vous avez vraiment attendu et pas commencé à coder avant :-° Vous allez enfin pouvoir mettre les mains dans le cambouis, euh sur le clavier.

Reprenez votre fiche de conception

Vous vous en souvenez peut-être, je vous disais dans la partie précédente que votre fiche de conception allait être utile pour anticiper certains problèmes… Eh bien c’est maintenant qu’il faut la ressortir !

Votre fiche de conception comporte les grandes fonctionnalités de votre projet : certaines sont indispensables, d’autres importantes, et d’autres encore optionnelles. Vous devriez avoir classé les différentes tâches, liées à chacune des fonctionnalités, en terme de priorité.

Si vous travaillez en équipe, il n’est pas nécessaire de couper dès maintenant tout le projet en deux. Les estimations de temps que vous pouvez avoir faites vont sûrement changer, et le découpage que vous pourriez faire à ce stade sera fort probablement déséquilibré. Prenez donc chacun une tâche et lancez-vous.

Mais si j’ai plusieurs tâches prioritaires et sans prérequis, je fais laquelle ?

C’est à vous de voir, mais en général commencer sur quelque chose de pas trop long, pas trop difficile, et qui vous plaît est une bonne idée. Ça permet d’avoir une récompense assez rapidement, et quand on est face à un gros projet, c’est toujours ça de pris. Et peut-être même qu’en réalisant les tâches dites “faciles” vous allez apprendre des choses qui rendront les tâches suivantes un peu moins difficiles. Ce serait dommage de s’en priver, non ?

D’ailleurs, au fur et à mesure que vous réaliserez ces tâches, prenez-en note ! En effet, quand on se lance dans un projet un peu conséquent, il est important de s’organiser. En particulier de tenir à jour une liste (sur papier ou informatisée) de ce qui est fait et ce qui reste à faire. On peut également y noter le temps approximatif qu’a pris chacune des tâches, le comparer avec l’estimation qu’on en avait faite avant, pour nous aider à mieux estimer le temps la prochaine fois. C’est également indispensable pour les groupes et pour se répartir les tâches sans refaire deux fois le même travail. Et enfin ça permet, quand on est un peu coincé sur une tâche de la fin, plus difficile que les autres, de se redonner la pêche en voyant tout ce qu’on a déjà fait jusque là.

Oui bon bien sûr si on est déjà désespéré en faisant la première tâche, là, regarder ce qu’on a déjà fait n’aidera pas beaucoup, mais ça signifie peut-être simplement qu’il faut refaire une fiche de conception un peu moins ambitieuse ;) ou redécouper les tâches plus finement.

Rendez votre code lisible

Je vous le disais dans le chapitre précédent, il est TRÈS important d’avoir un code lisible. Voici à nouveau quelques éléments à garder en tête pendant que vous codez.

Choisissez des noms de variables explicites

C’est quoi cette histoire du nom des variables ? Je peux bien mettre ce que je veux comme nom, ça marchera quand même, non ?

Oui ça marchera très bien… pour l’ordinateur. Pour lui que votre variable s’appelle toto, ornithorynque ou supercalifratili … supercarli… enfin vous voyez quoi, ça n’a aucune importance. Il fonctionnera pareil dans tous les cas. Par contre pour la personne qui vous aide dans votre projet, ou celle qui voudra l’utiliser pour le modifier plus tard, ça change tout.
Il est possible que votre humour de sélection du nom des variables tombe à plat, et il est certain que ça ne va pas l’aider à comprendre.

Personnalisez donc au mieux ce que vous pouvez, pour rendre les choses plus claires.

Par exemple, l’instruction :

 est plus parlante que :

On peut personnaliser les noms de variables, de listes ou de messages à transmettre, en choisissant un nom qui, d’une part, nous dit ce dont on parle, et d’autre part, n’est pas trop long ou alambiqué. Vous pouvez donc oublier la variable nombre_de_sauts_du_petit_hippopotame :o)

Commentez votre code

Et les commentaires, c’est comme sur les réseaux sociaux ?

Pas vraiment non. Les commentaires, que vous pouvez ajouter dans votre code permettent de décrire un bout de votre code : à quoi sert une variable dans le premier bloc qui l’initialise, ou ce que fait une boucle, ou une instruction un peu compliquée. Essayez de penser à ce qui pourrait être un peu obscur pour un lecteur et comment l’aider à comprendre. Inutile en revanche d’ajouter des commentaires sans plus value (par exemple pour une variable “compteur de point” qui est déjà explicite, inutile de redire que c’est un compteur de points). Ajouter en revanche des informations sur la valeur d’une variable (qu’elle doit être toujours positive, ou à choisir dans une liste donnée, …) ou mettre une référence (par exemple un article de wikipédia) qui a inspiré la portion de code, ou simplement expliquer ce que fait cette partie du code en une ligne est très utile.

Dans Scratch, vous pouvez mettre des commentaires en cliquant droit sur un bloc :

En HTML, il suffit de mettre le commentaire entre <!-- et --> comme ceci :

<body>
<h1>Bienvenue sur ma page</h1>
<p>Ceci apparaît comme un paragraphe dans mon navigateur.</p>
<!-- Ceci est un commentaire et n’apparaîtra pas dans mon navigateur. -->
</body>

Si vous faites votre projet avec Arduino, le principe est le même, sauf qu’il faut encadrer ses commentaires par /* et */

Découpez votre code en petites unités

Je peux vraiment ajouter de nouveaux blocs dans Scratch ?

Oui vous pouvez, et même, ça peut être très utile. Voyez comment faire en vidéo.

Vous savez découper votre code en petites unités dans Scratch… Mais c’est quoi l’intérêt ?

Il y a plein de bonnes raisons à utiliser les blocs, en voici quelques-unes :

  • Eh bien tout d’abord le code qui dessine un carré (la définition du bloc), on ne va l’écrire qu’une seule fois, et puis pour chaque carré qu’on veut dans notre programme, on va juste utiliser le bloc carré et l’ajouter dans notre script. Du coup notre code est plus propre et plus court.

  • Il y a un autre avantage : écrire un bloc séparé nous permet de le tester séparément (en l’exécutant dans différentes situations, pour différentes valeurs d’entrées) et puis une fois qu’on est sûr que le bloc fonctionne bien, on peut le réutiliser en confiance, sans risque d’introduire des bugs en recopiant.

  • On peut modifier le code par un autre plus rapide, ou plus facile à comprendre ou plus élégant… il nous suffit de refaire juste ce bloc et c’est réglé !

  • On peut commenter un bloc pour expliquer ce qu’il fait et si une autre personne veut modifier le programme, alors elle n’a pas besoin de comprendre en détail le code de ce bloc. Elle peut le refaire à sa manière, à partir du moment où les explications de ce qui est attendu de ce bloc sont claires.

Si vous faites une page web, le raisonnement est le même : on sépare le fond de la forme, en utilisant du HTML pour le fond, et du CSS pour la forme. À l’intérieur de ces fichiers HTML et CSS, on va même pouvoir re-découper en petites unités pour que ce soit plus compréhensible.

Et de manière générale, pour n’importe quel programme informatique et quel que soit le langage, découper son code en petites unités qui ont du sens est toujours une bonne pratique.

Quelques bugs courants dans Scratch

Quand on fait une activité plusieurs fois avec des enfants, on finit par identifier les points de blocage, et à passer pour un super héros parce qu’on donne l’impression d’avoir trouvé le problème comme ça en un claquement de doigts. Oui sauf que, la première fois qu’on croise ce bug, on a beau claquer des doigts, ce n’est pas si évident. Histoire de vous donner quelques pincées de super pouvoirs, partez à la chasse aux bugs dans Scratch :

Malgré tous ces conseils, vous restez bloqué ? Ou bien vous n’avez pas utilisé Scratch pour mener votre projet et vous ne savez pas comment débugger ? On vous rassure dans le chapitre suivant !

Example of certificate of achievement
Example of certificate of achievement