Tous les articles par icnisnboissy

Projet : GPS et cartographie

Fonctionnalités attendues :

  1. Le projet sera réalisé en javascript avec la bibliothèque p5.js.
  2. L’application devra fonctionner aussi bien sur PC que sur smartphone et s’adapter à la taille de l’écran.
  3. Utiliser le traceur GPS dont vous disposez et récupérer le fichier avec les données d’un déplacement.
  4. Afficher une carte .
  5. Placer une zone de texte ou le code du fichier du GPS sera collé.
  6. Exploiter le contenu du la zone de texte pour extraire les données pertinentes (longitude et latitude).
  7. Utiliser ces données pour afficher une carte et le trajet suivi.
  8. Extraire d’autre données : altitude, vitesse…
  9. 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 :

  1. Le projet sera réalisé en javascript avec la bibliothèque p5.js.
  2. Le jeu devra fonctionner sur PC, avec les navigateurs Mozilla Firefox et Chrome, et s’adapter à la taille de la fenêtre.
  3. Le jeu sera joué en  mode solo, contre l’ordinateur.
  4. 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.
  5. Le positionnement des pions de l’ordinateur sera réalisé par un robot.
  6. 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.
  7. 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.
  8. 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.
  9. 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 :

  1. Le projet sera réalisé en javascript avec la bibliothèque p5.js.
  2. Le jeu devra fonctionner sur PC, avec les navigateurs Mozilla Firefox et Chrome, et s’adapter à la taille de la fenêtre.
  3. 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.
  4. Une partie se jouera en plusieurs manches, la vitesse du jeu étant croissante entre les manches.
  5. 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.
  6. 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.

Propositions de projets ISN

  1. 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.
  2. 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.
  3. Tracer le trajet d’une balade à vélo à l’aide des coordonnées GPS
  4. Réaliser un compteur de points
    • Pour un jeu (belote, tarot, etc.)
    • Pour un sport (temps, résultats, etc.)
  5. 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.
  6. 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.
  7. Robotique
    • Réaliser un robot explorateur, mesurant des grandeurs physiques , les analyser , les afficher, tracer des courbes.
  8. 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 :

  1. Cliquer sur Thimble - Menu Fichier, 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).
  2. 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.
  3. Insérer une courte description de l’image (par exemple issue de l’encyclopédie en ligne Wikipedia).
  4. 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

    1. Choisir, à l’aide du site paletton.com, un jeu de couleurs adapté aux couleurs de la peinture que vous avez choisie.
    2. Modifier le fichier style.css en 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).
    3. Choisir sur fonts.google.com une ou plusieurs polices de caractère adaptées à votre page web, en cliquant sur plus sur fonts.google.com .
    4. 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.

    5. Effectuer toutes les modifications des fichiers html et css que vous jugez pertinentes.

À la fin votre page doit ressemblez à celle-là :

https://thimbleprojects.org/icnboissy/400129/

Puis passer à l’activité suivante.

Activité n°2 : Retoucher une peinture célèbre

Revenir à l’activité précédente.

1ère étape : choisir une peinture célèbre

La National Gallery of Art (NGA) est un musée américain situé à Washington. Sur son site :

images.nga.gov

il met en ligne en ensembles d’images librement téléchargeables et réutilisables.

Choisir une image en couleur avec un personnage.

Attention : noter dans un fichier la source utilisée (nom de l’artiste, adresse web de la page, etc.). Il faudra l’indiquer sur votre site.

2ème étape : détourer le personnage

Utiliser GIMP et le tutoriel d’initiation à GIMP du Lycée Général et Technologique de Lorgues pour détourer le personnage.

Vous devez obtenir quelque chose qui ressemble à ça :

Mona Lisa détourée

3ème étape : choisir un décors

Lire sur le site de Flickr les droits associés aux différentes licences Creative Common :

https://www.flickr.com/creativecommons/

Puis choisir sur Flickr une image de paysage dans lequel vous aimeriez emmener votre personnage de peinture en vacances (on prendra soin de choisir une image avec une licence Creative Common qui en permet la modification).

Attention : noter dans un fichier la source utilisée (nom de l’artiste, adresse web de la page, etc.). Suivant la licence choisie, il faudra l’indiquer lors sur votre site.

4ème étape : changer le fond de la peinture

Mettre ce paysage choisi en fond du personnage de peinture.

Indication :

  • Si besoin on peut changer la taille de l’image avec Image Taille du canevas.
  • Il est possible de copier-coller un calque d’une image à l’autre par glisser-déposer (cliquer sur le calque et le faire glisser sur la nouvelle image).

À la fin vous devez obtenir quelque chose qui ressemble à ça :

Mona Lisa en vacances
Mona Lisa en vacances (fond : Christine Rondeau, licence CC BY 2.0)

5ème étape : modifier les couleurs

Pour finir, jouer un peu avec les couleur de votre image (sur un seul cadre ou sur tous) à l’aide d’une des méthode décrite sur la page :

http://christianpc.fr/comment-changer-la-couleur-dans-une-image/

Votre image modifiée ressemble maintenant à quelque chose comme ça :

Mona Lisa en vacances
Mona Lisa en vacances (fond : Christine Rondeau, modifié par mes soins, licence CC BY 2.0)

Puis passer à l’activité suivante.

Programmation javascript avec p5.js

Débuter avec le javascript

Le javascript est un langage de programmation que l’on peut insérer dans une page web et qui est interprété par le navigateur internet.

Introduction

Pour commencer un utilisera, l’excellent site Silent Teacher (ne pas y consacrer plus qu’une heure).

Note : Si besoin, notamment si vous vous êtes interrompu, il est possible de faire apparaître le menu permettant de choisir le niveau de difficulté en tapant dans la console javascript (généralement accessible avec F12) le code suivant : (document.getElementById("show_menu")).click().

Variable, conditions et boucle

Pour apprendre les bases de la programmation, on utilisera le livre en ligne JavaScript Éloquent, Une introduction moderne à la programmation de Marijn Haverbeke (dont on pourra lire l’introduction à la maison).

Javascript Eloquent
Javascript Eloquent

Dans ce livre en ligne, les exemple de code peuvent être lancé en cliquant sur runcode (on peut aussi l’ouvrir pour l’éditer dans une console en cliquant sur loadcode).

Commencer par lire le chapitre :

Les bases du JavaScript : valeurs, variables et structures de contrôle