Catégorie : PROJETS

  • 2e appli

    TUTO ÉLÈVES — DUPLIQUER LE PROJET ET MODIFIER POUR AFFICHER LE DÉBIT D’EAU

    Objectif

    Repartir d’un projet qui marche déjà, puis changer :

    • l’URL
    • la clé à afficher

    1) Dupliquer le projet

    1. Dans MIT App Inventor : Projects
    2. Cliquer sur My Projects
    3. Trouver votre projet MotAleatoire (ou le nom de votre projet “Mot”)
    4. Cliquer sur More actions (les 3 points / menu)
    5. Choisir Copy project
    6. Nommer la copie : DebitEau

    ✅ Vous avez maintenant le même projet, mais pour le débit.


    2) Modifier l’écran (Designer)

    Dans Designer :

    A) Modifier le bouton

    • Cliquer sur BtnMot
    • Changer son texte en : Lire le débit
    • (Optionnel) Renommer le bouton : BtnDebit
      👉 Si vous renommez, il faudra retrouver les blocs correspondants.

    B) Modifier le label

    • Cliquer sur LabelMot
    • Changer son texte en : --
    • (Optionnel) Renommer : LabelDebit

    👉 Pour aller vite : ne renommez pas les composants, changez juste le texte.


    3) Modifier l’URL de l’API (Blocks)

    Aller dans Blocks.

    Dans :

    when Screen1.Initialize

    Remplacer l’URL :

    ✅ Ancienne :
    https://trouve-mot.fr/api/random

    ✅ Nouvelle :
    https://proxy-automate.latelier22.fr/api.php


    4) Modifier CE QU’ON AFFICHE (Blocks)

    Dans le projet “Mot”, on affichait :

    • clé "name" (dans l’objet)

    Ici, on veut afficher :

    • clé "debit_eau_l_h" (directement dans data)

    Dans when Web1.GotText → dans le then

    Vous gardez la ligne qui décode le JSON :

    ✅ Garder :

    • set global data to JsonTextDecodeWithDictionaries(responseContent)

    Ensuite, vous changez la partie “mot”.

    A) Supprimer les blocs inutiles

    Supprimez :

    • la ligne set global obj to select list item ...
    • la ligne set global mot to get value for key "name" ...
    • la ligne set LabelMot.Text to get global mot

    B) Remplacer par UNE SEULE ligne

    Ajoutez :

    set LabelMot.Text to

    • join
      • get value for key "debit_eau_l_h" in dictionary (get global data) or if not found "--"
      • " L/h"

    ✅ Ça affichera par exemple : 56.88208 L/h


    5) Vérification rapide

    Cliquez sur le bouton :

    • si tout va bien : un nombre apparaît + L/h
    • sinon : le label affiche “Erreur API”

    6) (Optionnel) Arrondir à 2 décimales (plus propre)

    Remplacez l’affichage par :

    • join (format as decimal debit 2) " L/h"

    (Je te donne la version exacte en blocs si tu veux l’ajouter.)


    Résumé ultra simple

    1. Copier le projet
    2. Changer l’URL
    3. Supprimer “obj” et “name”
    4. Afficher "debit_eau_l_h" + " L/h"
  • Ma première appli mobile

    TUTO MIT APP INVENTOR — “Mot au hasard”

    Objectif

    Quand on clique sur Nouveau mot, l’appli appelle l’API :

    https://trouve-mot.fr/api/random

    et affiche le champ name (ex : “flèche”) dans un Label.


    1) DESIGNER (écran de gauche)

    A. Créer les composants

    Glisser-déposer sur l’écran :

    1. Button
      • Rename : BtnMot
      • Text : Nouveau mot
    2. Label
      • Rename : LabelMot
      • Text : Appuie sur le bouton
      • FontSize : 28 (ou 30)
    3. Web (non visible)
      • Rename : Web1

    2) BLOCKS (écran de droite)

    A. Créer 3 variables globales

    Menu Variables → prendre initialize global name to et renommer :

    1. initialize global mot to ""
    2. initialize global data to create empty list
      • (bloc Listscreate empty list)
    3. initialize global obj to ""

    3) Mettre l’adresse de l’API au démarrage

    Menu Screen1 → bloc :

    when Screen1.Initialize do

    À l’intérieur :

    • set Web1.Url to "https://trouve-mot.fr/api/random"

    ✅ Important : on ne met PAS Web1.Get ici.


    4) Quand on clique sur le bouton : appeler l’API

    Menu BtnMot → bloc :

    when BtnMot.Click do

    À l’intérieur :

    1. set LabelMot.Text to "..." (chargement)
    2. call Web1.Get

    5) Quand l’API répond : extraire le mot

    Menu Web1 → bloc :

    when Web1.GotText (url, responseCode, responseType, responseContent) do

    A. Vérifier que c’est OK

    Mettre :

    if get responseCode = 200 then

    ⚠️ 200 doit être un nombre (bloc bleu), pas “200” en texte.


    B. Dans le THEN, mettre ces 4 lignes

    1) Décoder le JSON

    Menu Web1 :

    • set global data to
      • call Web1.JsonTextDecodeWithDictionaries
        • get responseContent

    ✅ Le JSON reçu est une liste (ça commence par [)

    2) Prendre le 1er élément de la liste

    Menu Lists :

    • set global obj to
      • select list item
        • list = get global data
        • index = 1

    3) Récupérer la clé « name »

    Menu Dictionaries :

    • set global mot to
      • get value for key
        • key = "name"
        • in dictionary = get global obj
        • or if not found = ""

    4) Afficher dans le label

    • set LabelMot.Text to get global mot

    C. Dans le ELSE (si erreur)

    • set LabelMot.Text to "Erreur API"

    ✅ Résultat attendu

    Quand on clique sur Nouveau mot :

    • Le label passe à ... (chargement)
    • Puis affiche un mot (ex : flèche)
  • 🎯 Gestion de projet – Les outils 1️⃣ La To-Do List · 2️⃣ Kanban · 3️⃣ Gantt

    📝 1. La To-Do List – l’outil de base

    🔹 Définition

    Une To-Do List est une liste structurée de tâches à réaliser pour atteindre un objectif.

    👉 C’est l’outil le plus simple et le plus ancien de gestion de projet.


    🔹 À quoi ça sert ?

    • Lister ce qu’il y a à faire
    • Ne rien oublier
    • Suivre l’avancement d’un projet
    • Se répartir le travail dans un groupe

    🔹 Méthode d’utilisation (pas juste une liste !)

    1. Définir l’objectif
    2. Découper le projet en étapes
    3. Transformer chaque étape en tâches
    4. Prioriser les tâches
    5. Cocher / valider au fur et à mesure

    💡 Une bonne To-Do List = des tâches claires et actionnables


    🔹 Exemple simple (projet scolaire)

    Objectif : préparer une présentation

    • ⬜ Rechercher les informations
    • ⬜ Faire le plan
    • ⬜ Créer le diaporama
    • ⬜ Répéter
    • ⬜ Présenter à l’oral

    👍 Avantages de la To-Do List

    ✅ très simple
    ✅ rapide à mettre en place
    ✅ fonctionne sur papier ou numérique
    ✅ idéale pour petits projets
    ✅ base de tous les autres outils


    👎 Limites de la To-Do List

    ❌ peu visuelle
    ❌ pas de notion de temps
    ❌ pas de dépendances entre tâches
    ❌ difficile à suivre sur un gros projet

    ➡️ Quand le projet devient plus complexe, on change d’outil.


    🔁 2. De la To-Do List → Kanban

    🟦 Kanban = To-Do List visualisée

    Principe :

    • Les tâches ne sont plus juste listées
    • Elles sont déplacées selon leur état

    Colonnes typiques :

    • À faire
    • En cours
    • Terminé

    🔹 Ce que Kanban apporte en plus

    ✔ visualisation immédiate
    ✔ suivi du travail en équipe
    ✔ motivation (voir les tâches avancer)

    ➡️ Kanban = To-Do List + état d’avancement


    🔁 3. De la To-Do List → Gantt

    📊 Gantt = To-Do List dans le temps

    Principe :

    • Chaque tâche a :
      • une date de début
      • une date de fin
    • Les tâches sont placées sur une ligne de temps

    🔹 Ce que Gantt apporte en plus

    ✔ gestion du temps
    ✔ anticipation des retards
    ✔ vision globale du projet

    ➡️ Gantt = To-Do List + planning


    🧠 Lien logique entre les 3 outils

    OutilQuestion principale
    To-Do ListQu’est-ce qu’il faut faire ?
    KanbanOù en est-on ?
    GanttQuand fait-on les choses ?

    👉 Même projet, 3 points de vue différents


    🧪 Exemple concret (même projet)

    Projet : organiser une sortie scolaire

    • To-Do List
      → lister toutes les tâches
    • Kanban
      → suivre l’avancement du groupe
    • Gantt
      → respecter les dates et délais

    🎓 Conclusion pour les élèves

    • La To-Do List est le point de départ
    • Kanban et Gantt sont des évolutions
    • Le bon outil dépend :
      • de la taille du projet
      • du nombre de personnes
      • du temps disponible

    ❝ Il n’y a pas un meilleur outil,
    il y a l’outil adapté au projet


    💡 Variante pédagogique possible

    👉 Demander aux élèves :

    • de partir d’une To-Do List
    • puis de la transformer :
      • soit en Kanban
      • soit en Gantt
  • Cartographier le lycer

    Exemple de cartographie de l’établissement

  • Projet STI2D : Défibrillateur mobile autonome

    1. Problématique (situation déclenchante)

    Dans un lycée, un élève ou un membre du personnel peut être victime d’un malaise cardiaque.
    Le délai d’intervention est critique (< 5 minutes).
    Objectif : concevoir un système de défibrillateur mobile autonome capable de se déplacer vers la victime, guidé par les sauveteurs, après déclenchement via une application mobile.


    2. Démarche ITECH / I2D

    I – Identifier le besoin

    • Fonction principale (FP) : Apporter rapidement un défibrillateur au plus près de la victime.
    • Fonctions contraintes (FC) :
      • Communication entre l’application et le défibrillateur.
      • Localisation de la victime (géolocalisation / plan du lycée).
      • Déclenchement de l’alerte auprès des sauveteurs + appel automatique aux secours (17).
      • Sécurité électrique / autonomie énergétique.

    T – Traduire le besoin en exigences

    • Performance : Temps d’arrivée < 3 minutes sur l’ensemble du lycée.
    • Énergie : Recharge automatique sur un socle (comme une tondeuse robot).
    • Matériaux : Structure légère, résistante aux chocs.
    • Information :
      • Application mobile (alerte + guidage).
      • Transmission des coordonnées GPS internes (simulation).
    • Durabilité : Maintenance, durée de vie batterie, mise à jour logicielle.

    E – Exploiter les solutions existantes

    • Tondeuse autonome (socle + navigation).
    • Robots de livraison (guidage).
    • Applications d’alerte citoyenne type « Staying Alive ».

    C – Concevoir une solution simulée

    • Simulation 3D : Modélisation du défibrillateur mobile (SolidWorks/Blender).
    • Simulation Matlab/Simulink + ISIS/Proteus :
      • Gestion Arduino (moteurs, capteurs ultrasons, GPS simulé, communication).
    • Simulation Python :
      • Interface avec plan du lycée.
      • Algorithme de déplacement vers la victime (A*, Dijkstra).
      • Simulation de l’appli (alerte + message aux sauveteurs).

    H – Hiérarchiser et valider

    • Maquette logicielle (Python).
    • Simulation électronique (ISIS, Matlab/Simulink, Arduino IDE).
    • Validation des scénarios :
      1. Détection du malaise.
      2. Alerte envoyée à l’appli (géolocalisation).
      3. Message simultané aux sauveteurs et au 17.
      4. Déplacement du défibrillateur vers la victime.
      5. Intervention des sauveteurs.

    3. Apports pédagogiques pour les élèves

    • STI2D – Enseignement transversal :
      • Analyse fonctionnelle (FAST, Bête à cornes).
      • Développement durable et contraintes environnementales.
      • Conception mécanique et énergétique (autonomie, matériaux).
      • Chaîne d’information (capteurs, appli mobile, communication).
    • Méthode de projet (ITECH/I2D) : gestion de projet, répartition des tâches.
    • Utilisation de l’IA : génération de code, aide à la conception, optimisation d’itinéraires.
    • Simulation numérique : Python, Matlab/Simulink, Proteus/ISIS, 3D (SolidWorks/Blender).

    4. Nom du projet (propositions)

    • DEFIBOT
    • SAVIA (Système Autonome de VIe Assistée)
    • CARDIO-MOVE
    • HEARTLYCÉE

    5. Présentation attendue

    • Affiche/diaporama de lancement : contexte, besoin, fonctions, contraintes.
    • Maquettes numériques : plan du lycée + déplacement simulé du robot.
    • Scénarios simulés :
      • Appel via appli.
      • Message aux sauveteurs.
      • Déplacement automatique.