Tous les articles par icnisnboissy
Projet: Voir comme un daltonien
Fonctionnalités attendues :
- Le projet sera réalisé en javascript avec la bibliothèque p5.js.
- L’application devra fonctionner aussi bien sur PC ou smartphone et s’adapter à la taille de l’écran.
- Capturer une image ou une vidéo avec soit une webcam soit le capteur intégré de votre tablette ou smartphone.
- Modifier une image ou une vidéo pour en faire un rendu correspondant à la vision d’un daltonien.
- Proposer un test de dépistage du daltonisme.
Ressources :
Projet : Ramasse et évite
Fonctionnalités attendues :
- Le projet sera réalisé en javascript avec la bibliothèque p5.js.
- Le jeu devra fonctionner aussi bien sur PC que sur smartphone et s’adapter à la taille de l’écran.
- Le but du jeu est de récupérer plusieurs objets, dans l’ordre sur une carte. Il faut éviter les ennemis.
- Le personnage du joueur est toujours au centre de l’écran. On clique ou touche l’endroit ou on veut qu’il aille et la vue se déplace de manière à ce que le personnage se retrouve au bon endroit.
- Une minicarte permet d’avoir un vue global du terrain.
- Deux cartes seront proposées : une carte préprogrammée et une carte construite de manière aléatoire.
- Il sera possible de mettre le jeu en pause, et de sauvegarder. Le jeu devra pouvoir être repris même après redémarrage de l’ordinateur ou du smartphone.
- Le jeu débutera sur un écran d’accueil, permettant de choisir le mode, de régler les paramètres (comme le type de carte, aléatoire ou non), d’afficher les meilleurs score ou de reprendre une sauvegarde.
- Les meilleurs score réalisé sur l’ordinateur seront affichés en fin de partie. Les meilleurs scores seront conservés même après redémarrage de l’ordinateur ou du smartphone.
Projet : GPS et cartographie
Fonctionnalités attendues :
- Le projet sera réalisé en javascript avec la bibliothèque p5.js.
- L’application devra fonctionner aussi bien sur PC que sur smartphone et s’adapter à la taille de l’écran.
- Utiliser le traceur GPS dont vous disposez et récupérer le fichier avec les données d’un déplacement.
- Afficher une carte .
- Placer une zone de texte ou le code du fichier du GPS sera collé.
- Exploiter le contenu du la zone de texte pour extraire les données pertinentes (longitude et latitude).
- Utiliser ces données pour afficher une carte et le trajet suivi.
- Extraire d’autre données : altitude, vitesse…
- Proposer d’autres exploitations des données : affichage d’un profile d’altitude du parcours, détermination de la vitesse moyenne…
Ressources :
Projet : Morpion
Fonctionnalités attendues :
- Le projet sera réalisé en javascript avec la bibliothèque p5.js.
- Le jeu devra fonctionner sur PC, avec les navigateurs Mozilla Firefox et Chrome, et s’adapter à la taille de la fenêtre.
- Le jeu sera joué en mode solo, contre l’ordinateur.
- La grille présente sur la table sera retranscrite à l’écran, la reconnaissance des positons et pions se fera soit par une webcam soit par un capteur optique du robot.
- Le positionnement des pions de l’ordinateur sera réalisé par un robot.
- Une partie se jouera en 10 manches, Chaque manche gagné rapporte un point. Le joueur qui a le plus de
points à la fin gagne la partie. Si chaque joueur a 5 points, il y a match nul. - Il sera possible de mettre le jeu en pause, et de sauvegarder. Le jeu devra pouvoir être repris même après redémarrage de l’ordinateur ou du smartphone.
- Le jeu débutera sur un écran d’accueil, permettant d’identifier le joueur, de régler les paramètres (comme le type de pion), d’afficher les meilleurs score ou de reprendre une sauvegarde.
- Les meilleurs score réalisé sur l’ordinateur seront affichés en fin de partie. Les meilleurs scores seront conservés même après redémarrage de l’ordinateur ou du smartphone.
Projet : Tron
Fonctionnalités attendues :
- Le projet sera réalisé en javascript avec la bibliothèque p5.js.
- Le jeu devra fonctionner sur PC, avec les navigateurs Mozilla Firefox et Chrome, et s’adapter à la taille de la fenêtre.
- Le jeu devra pouvoir être joué avec plusieurs modes :
- Un mode solo, sans adversaire, dont le but sera de tenir le plus longtemps possible.
- Un mode à deux joueurs humain, en utilisant le clavier à deux.
- Un mode solo, contre l’ordinateur.
- Un mode à trois joueurs, deux humains et l’ordinateur.
- Une partie se jouera en plusieurs manches, la vitesse du jeu étant croissante entre les manches.
- Le jeu débutera sur un écran d’accueil, permettant de choisir le mode, de régler les paramètres (comme la vitesse du jeu) et d’afficher les meilleurs score.
- Les meilleurs score réalisé sur l’ordinateur seront affichés en fin de partie. Les meilleurs scores seront conservés même après redémarrage de l’ordinateur.
Projets 2017-2018
Propositions de projets ISN
- Réaliser un simulateur de physique-chimie, par exemple :
- Calcul de l’avancement final d’un système chimique à partir de son équation et des quantités en jeu.
- Simulation de titrage pH-métrique (calcul du pH en fonction du volume versé).
- Synthèse harmonique : synthétiser un son ou un signal à partir des harmoniques.
- Mouvement d’un objet lancé depuis la surface de la Terre (satellisation, loi de Kepler).
- etc.
- Visualiser des données
- Utiliser la bibliothèque matplotlib pour réaliser des graphiques comme des histogrammes ou des diagrammes circulaires.
- Ressources, tutoriels sur matplotlib :
- On pourra trouver des données par exemple sur le site data.gouv.fr.
- Tracer le trajet d’une balade à vélo à l’aide des coordonnées GPS
- Ressource : gpxviewer
- Réaliser un compteur de points
- Pour un jeu (belote, tarot, etc.)
- Pour un sport (temps, résultats, etc.)
- Réaliser un jeu, par exemple :
- de type Tron, où l’ordinateur commande le second joueur.
- de type morpion en mode texte ou interface graphique, avec une intelligence artificielle.
- de type bataille navale en mode texte ou interface graphique , avec une intelligence artificielle.
- Cryptographie
- Exemples :
- Crypter ou décrypter un message par substitution mono-alphabétique.
- Modéliser la machine Enigma avec un programme (cryptage, décryptage).
- Construire un programme (cryptant et décryptant) utilisant le chiffre de Vernam (clé secrète, loi de groupe, « Ou exclusif »).
- Voir article sur Eduscol: Éléments de cryptographie.
- Exemples :
- Robotique
- Réaliser un robot explorateur, mesurant des grandeurs physiques , les analyser , les afficher, tracer des courbes.
- Travailler sur les images avec la bibliothèque Pillow. Exemples :
- reproduire la vision des daltoniens
- réaliser des images stéréoscopiques
- réaliser de la reconnaissance de forme / d’image
- etc.
Activité n°4 : Interagir avec les images grâce à javascript/p5.js
Revenir à l’activité précédente.
1ère étape : Ouvrir un nouveau projet thimble
Ouvrir le projet thimble suivant et cliquer sur remixer :
https://thimbleprojects.org/icnboissy/433634/
Observer les trois fichiers qu’il contient. Il y a un fichier index.html et un fichier style.css, comme précédemment, mais on y trouve en plus un fichier appelé script.js. Il s’agit d’un code, écrit en langage javascript et qui est exécuté par le navigateur.
Identifier dans le fichier index.html la ligne :
<script src="script.js"></script>
Il s’agit de la ligne qui dit au navigateur de charger le fichier script.js. On repérera également la ligne :
<script>src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.6/p5.js"</script>
Il s’agit d’un autre fichier javascript, qui contient une bibliothèque appelée p5.js. Cette bibliothèque définit de nouveaux objets et de nouvelles fonctions qui permettent notamment d’afficher et de modifier des image, ou d’interagir avec la souris.
2ème étape : Découverte du code
Essayer le programme. Normalement, quand vous cliquer sur l’image, celle-ci disparaît.
Regarder maintenant le contenu du fichier script.js. En javascript, les lignes qui commencent par par // ne sont pas exécutée. Ce sont des commentaires. Ils sont utilisés pour documenter le code. Prenez le temps de la lire.
Repérer la fonction draw() et à l’intérieur la portion de code qui est exécutée lorsque l’on ne clique pas sur la souris :
if (!mouseIsPressed){
// ce code est executé si on ne clique pas
// avec la souris.
image(img,0,0);
}
Repérer également la portion de code qui est exécutée lorsqu’on clique à la souris :
else {
// ce code est exécuté si on clique avec
// la souris
effacer();
}
Pour comprendre comment cela fonctionne, essayer de commenter les ligne image(img,0,0); ou effacer(); pour voir ce que cela change.
Essayer maintenant de faire en sorte que l’image n’apparaisse que lorsque l’on clique avec la souris et disparaisse lorsqu’on relâche le bouton.
Remettre le code comme initialement et passer à l’étape suivante.
3ème étape : Position et taille de l’image
Modifier l’affichage de l’image, par exemple avec :
image(img,mouseX,mouseY,width/5,width/5);
Quel est l’effet de cette modification ?
4ème étape : Modifier la couleur de l’image
Remettre l’affichage de l’image comme initialement avec
image(img,0,0);
Puis remplacer la fonction effacer() par la fonction changerComposantes().
Tester pour voir ce que fait cette fonction.
Chercher dans le fichier script.js le code de la fonction changerComposante(). Essayer de comprendre comment cela fonctionne.
Modifier la fonction changerComposante() de manière à ce que l’image devienne verte, puis jaune.
5ème étape : Essayer d’autre fonctions
On peut essayer maintenant d’autres fonctions. Par exemple :
inverser()posteriser()luminosite()torche()pointillisme()
Choisir une fonction et essayer de comprendre comment elle fonctionne en regardant le code. Ne pas hésiter à faire des essais et à le modifier.
Activité n°3 : Élaborer une page web avec Thimble
Revenir à l’activité précédente.
1ère étape : Créer un compte sur Mozilla Thimble
Thimble est un éditeur de code en ligne permettant de réaliser des pages web à l’aide des langages HTML, CSS et le JavaScript. Cet éditeur est un projet de la Fondation Mozilla, à l’origine du navigateur Firefox.
Attention : Pour fonctionner Thimble a besoin d’utiliser des cookies. Au lycée il faut donc modifier les règles de conservation de l’historique dans l’onglet Vie privée des paramètres de Firefox, ou utiliser le navigateur Chrome.
Demander au professeur une adresse mail à utiliser avec Thimble et créer un compte sur le site :
https://thimble.mozilla.org/fr/
2ème étape : Apprendre les bases des langages HTML et CSS avec Mozilla
Suivre ce tutoriel, qui s’appuie sur les guides en ligne développés par la fondation Mozilla :
https://thimbleprojects.org/icnboissy/394657
3ème étape : Créer une page pour vos peintures
Modifier la page web réalisée avec Thimble :
- Cliquer sur
, puis sur Envoyer un fichier… et téléverser :
- le GIF animé que vous avez fait avec GIMP ;
- l’image de la peinture que vous avez choisie sur images.nga.gov ;
- l’image de la peinture que vous avez modifiée avec GIMP (après détourage, insertion d’un fond et modification des couleurs).
- Insérer les trois images dans votre pages à l’aide de la balise
<img>. Si la licence l’exige, donner l’origine des images utilisées. - Insérer une courte description de l’image (par exemple issue de l’encyclopédie en ligne Wikipedia).
- Rajouter tous les liens hypertextes pertinents. Notamment, faire en sorte que lorsque l’on clique sur l’image originale on arrive sur le site images.nga.gov.
4ème étape : Adapter le style de la page
-
- Choisir, à l’aide du site paletton.com, un jeu de couleurs adapté aux couleurs de la peinture que vous avez choisie.
- Modifier le fichier
style.cssen utilisant les codes couleur choisis avec le site (les codes hexadécimaux des couleurs apparaissent au survol de la souris, mais pour les utiliser dans le fichier css, il faut rajouter un ‘#’ devant). - Choisir sur fonts.google.com une ou plusieurs polices de caractère adaptées à votre page web, en cliquant sur
. - Utiliser les polices de caractère choisie sur votre page à l’aide de commandes du type :
-
<link href="https://fonts.googleapis.com/css?family=Macondo" rel="stylesheet">insérées dans le fichier
index.html - et
font-family: 'Macondo', cursive;insérées dans le fichier
style.css.
-
- Effectuer toutes les modifications des fichiers html et css que vous jugez pertinentes.
À la fin votre page doit ressemblez à celle-là :