Mis à jour le 12/07/2017
  • 10 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Créez votre pokédex

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

 

Coder les informations, vous commencez à maîtriser on dirait… Mais que se passe-t-il quand les données se multiplient ? Quand tout le monde se met à en créer partout, tout le temps et à se les échanger ? Eh bien un des risques... C’est qu’on s’y perde tout simplement. Alors en informatique, ce qui est aussi très important c’est de bien ranger. Au moins pour être capable de retrouver facilement ensuite l’information que l’on cherche !

Dans ce chapitre, vous allez commencer à jouer dans le monde fascinant des bases de données… Eh oui : vous accumulez des données, mais à un moment, il faut bien s’en servir, non ?! Alors tout de suite, créez votre pokédex en relevant les 3 prochains défis Scratch :

  1. Constituez votre base de données

  2. Faites une recherche dans votre base de données

  3. Affichez le résultat de la recherche

Constituez votre base de données

Plutôt que de faire une base de données de pokémons, j’ai décidé de faire un “Class’Codex”, ou base de données des créatures qui bâtissent le monde merveilleux (oui bon…) de Class’Code.

La base de données que je vous propose n’est pas énorme – il n’y a que 15 créatures de base – mais cela devrait vous donner un bref aperçu de l’utilisation et de l’utilité des bases de données. Évidemment, je ne peux que vous encourager à créer votre propre base de données avec des informations qui vous intéressent vous, personnellement.

Le programme que nous allons réaliser devra nous permettre de trouver et de visualiser une information facilement parmi une masse d’informations.

Les informations dont nous disposons sont les suivantes : une liste de prénoms renvoyant à des vraies personnes, une liste des rôles que jouent chacune d’entre elles dans Class’Code, une liste des caractéristiques remarquables de chacune, une liste de leurs avatars, une liste des sons familiers qu’elles font et une liste de leur genre (si c’est une fille ou un garçon). En tableau, ça donne ça :

Avatar

Prénom

Rôle

Caractéristiques

Genre

Son

Tamer

Contributeur des Petits Débrouillards

Il a une allure espiègle et des idées déjantées poussent sous ses cheveux désordonnés.

M

 

 

Claude

Cheffe vénérée de Magic Makers & direction pédagogique de Class’Code

Elle est active et parle avec animation en prônant la créativité.

F

 

Guillaume

Chercheur en systèmes multi-agents à l’Université d’Evry

Il est érudit et fait des expériences sur les êtres humains.

M

 

 

David

Contributeur de la Main à la Pâte

Il jongle avec les déroulés pédagogiques et a l'habitude des profs.

M

 

 

Camille

Productrice exécutive pour OpenClassrooms

Elle veille sur Class’Code ; rien ne se passerait bien sans elle.

F

 

 

Sophie

Cheffe vénérée du projet Class’Code

C'est indéniablement la personne à qui il faut offrir les fleurs.

F

son

Erwan

Contributeur de Simplon

Il est proche des gens et des jeunes, prêt à dégainer son sabre pour défendre la veuve et l’orphelin.

M

 

 

Thierry

Chercheur en neurosciences computationnelles à l’Inria & Papa-poule de Class’Code

Reconnaissable aisément par son allure de nounours malicieux sous des faux airs de clown saltimbanque.

M

son

Florent

Chercheur en analyse de données à l’Inria & auteur dans Class’Code

Il est grand, ténébreux et devenu le Père Castor de l'informatique pour Class’Code.

M

son

Marie

Maître de conférences en informatique & auteure dans Class’Code

Elle sait coder, faire des gâteaux, coudre des kimonos et raconter l’informatique.

F

son

Laure

Responsable du maillage territorial Class’Code & Contributrice pour les Petits Débrouillards 

Elle est toujours joviale et souriante, et rayonne sur le territoire de Class’Code

F

 

 

Sylvie

Maître de conférences en informatique & Contributrice de la SIF

Quand elle parle, chacun devrait se taire et l’écouter.

F

 

Olivier

Responsable du maillage territorial Class’Code & Contributeur de Canopé

Il orchestre les formations Class’Code avec rythme et harmonie.

M

 

Colin

Président de Class’Code

Il connaît tout le monde. Oui, même vous.

M

 

Quinze personnes, ce n’est pas beaucoup, mais ça fait déjà beaucoup de données ! Sans compter qu’on aurait pu ajouter leurs poids, leurs tailles, leurs préférences culinaires, les cadeaux à leur offrir en cas d’anniversaires, etc.

Vous allez donc créer un programme qui permettra de retrouver les informations d’une personne et surtout de les visualiser facilement. Voici l’exemple fini de ce que vous allez réaliser. Testez-le en recherchant un prénom dans la barre de recherche ! Une fois que vous avez compris ce que le programme fait, vous être prêt·e pour le premier défi. :)

Votre première étape ? Constituer votre base de données ! Vous pouvez soit prendre la mienne, soit en créer une nouvelle : par exemple une base de données de vos élèves avec leurs caractéristiques ?… ou bien une base de données des oiseaux de votre région, avec leur fréquence d’apparition, leur chant, leur époque de migration, etc. Ou encore une base de données des plantes médicinales avec leurs vertus, leurs préférences de qualité de sol, d’exposition à la lumière, de taux d’humidité, … Bref, à vous de voir ce que vous préférez !

Commencez par créer un fichier texte pour chaque colonne (c’est-à-dire chaque propriété de nos créatures) du tableau : vous pouvez alors les importer dans des listes que vous devez créer dans un nouveau projet Scratch. Dans mon cas, j’ai donc une liste avec les prénoms de chacune des personnes, une liste avec leurs rôles, une liste avec leurs caractéristiques et une liste avec leur genre. En plus, je crée un lutin "Image", qui me permet de stocker toutes les images d'avatars représentant les personnes, et un lutin "Son" qui me permet de stocker tous leurs sons.

Voici ce que ça donne en vidéo :

Vos listes sont prêtes ? Attaquons maintenant l’algorithme de recherche.

Faites une recherche dans votre base de données

Place au deuxième défi !

Une fois que votre base est constituée, il va falloir créer le coeur du programme : celui qui va permettre à l’utilisateur de faire une recherche dans la base de données, et à mon programme de retrouver la personne recherchée et TOUTES les informations associées. Nous traiterons l’affichage du résultat dans la dernière étape !

Créez un lutin qui permettra à l’utilisateur de faire sa recherche. Vous pouvez par exemple le dessiner (c’est ce que j’ai décidé de faire en dessinant une barre de recherche standard). Codez-le de manière à ce que, lorsque l’on clique dessus, le programme demande à l’utilisateur d’entrer sa recherche (dans mon cas, le prénom de la créature dont il souhaite obtenir les informations).

Une fois entrée la donnée à rechercher, il faudra bien sûr que votre programme aille sélectionner la bonne information. Pour cela vous pouvez sans doute vous aider d’une variable qui compte les éléments de la liste…

Quelques indices supplémentaires ?

Deux cas se présenteront : soit le prénom entré par l’utilisateur est présent dans la liste, soit il n’y est pas. 

À l’aide du bloc  "liste" contient "réponse", vous devriez être en mesure de déterminer facilement dans quel cas vous vous trouvez. N’hésitez donc pas à tester l’utilisation de ce bloc !

liste contient réponse
Bloc "Prénoms" contient "réponse"

Si la liste “Prénom” contient le prénom entré par l’utilisateur, alors il faudra aller chercher les informations associées. Sinon, il faudra afficher un message d’erreur à l’utilisateur, comme par exemple “Ce prénom est inconnu dans la base de données”.

Dans le premier cas, la variable qui compte va vous être utile pour aller chercher les informations associées au prénom : en effet, elle devrait vous permettre de parcourir toute la liste des prénoms, pour s’arrêter à la position du prénom dans la liste.

Par exemple, si l’utilisateur a entré “Sylvie”, vous vous trouvez dans le premier cas : le prénom est présent dans la liste. Il faudra alors parcourir toute la liste jusqu’à arriver au prénom Sylvie (ici c’est le treizième prénom dans la liste). En faisant parcourir à votre variable toute la liste jusqu’à l’élément 13 (c’est-à-dire jusqu’à ce que la réponse entrée par l’utilisateur soit égale à l’un des éléments de la liste), vous l’arrêtez à cet élément : autrement dit, votre variable gardera en mémoire la valeur “13”.

Pourquoi insister sur ce point ? Eh bien tout simplement parce que maintenant que vous avez enregistré, dans votre variable, le rang (qui correspond au numéro de la ligne dans votre tableau initial, ou encore au numéro de l’élément trouvé dans la liste), vous êtes en mesure de retrouver l’élément du même rang (toujours 13 ici) de toutes les autres listes…

Si besoin, le pas à pas en vidéo :

‌Maintenant que votre programme trouve bien l’information que l’utilisateur lui demande, il ne reste plus qu’à l’afficher !

Affichez le résultat de la recherche

C’est le dernier défi : il ne vous reste plus qu’à définir comment votre programme va afficher toutes les informations qu’il a trouvées. C’est aussi là que vous pouvez laisser libre court à votre imagination, pour réaliser quelque chose d’un peu plus créatif et visuel qu’une ligne de tableau. ;)

Si vous avez besoin d’aide, voici quelques indications sur comment j’ai moi-même procédé :

Dans mon cas, l’affichage se fait grâce aux différents lutins “Image”, “Son”, “Genre”, “Prénom” et Bobby et le bretzel. Ces deux derniers lutins permettent d’afficher une phrase facilement dans Scratch, en passant par le bloc  Dire “hello” . Mais ce n’est bien sûr pas la seule manière de faire.

En somme, une fois que le programme a trouvé l’information demandée, il suffit juste d’afficher cette information, soit en sélectionnant le bon costume (pour le lutin « Image » par exemple), soit en faisant parler un lutin avec le bloc  Dire .

Et le “bon” costume ou la “bonne” information, ce n’est rien d’autre que l’élément de la liste associée, à la ligne où s’est arrêté le compteur ! Par exemple, si le compteur s’est arrêté à “13”, le lutin “Image” devra basculer sur le costume de l’élément 13 de la liste “Prénom” ; le lutin “Son” devra jouer l’élément 13 de la liste “Prénom” ; le lutin Bobby devra dire l’élément 13 de la liste “Caractéristiques”, etc.

Si vous êtes bloqués, voici le pas à pas en vidéo :

Voilà, vous devriez pouvoir afficher les données contenues dans toutes vos listes. Je ne vous ai montré ici qu’une solution pour afficher ces éléments, mais il y en a bien sûr des quantités d’autres ! Faites preuve de créativité, et partagez donc vos bases de données dans le nouveau studio associé (vous pouvez déjà y retrouver mon propre programme si besoin).

Et si vraiment vous n’en avez pas eu assez, vous pouvez toujours réfléchir à de nouvelles fonctionnalités que vous pourriez ajouter à votre programme, et comment les coder… Car oui, une fois qu’on a commencé à y réfléchir, on peut vouloir faire beaucoup de choses avec des bases de données ! La preuve dans le prochain chapitre.

En résumé

  • Dans Scratch, la catégorie “Données” permet d’utiliser des listes dans lesquelles on peut stocker des données associables ligne par ligne comme dans un tableau.

  • Ces données peuvent prendre différentes formes dans Scratch : textes, images, sons.

  • Pour visualiser plus facilement ces données, on peut créer un moteur de recherche simple qui dispose d’un algorithme de recherche et d’un algorithme d’affichage.

  • L’algorithme de recherche permet ici de retrouver la ligne du tableau correspondant aux informations demandées, et l’algorithme d’affichage permet de visualiser les informations associées.

Exemple de certificat de réussite
Exemple de certificat de réussite