<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://www.wikidebrouillard.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lmonamicq</id>
	<title>Wikidebrouillard - Contributions de l’utilisateur [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikidebrouillard.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lmonamicq"/>
	<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/wiki/Sp%C3%A9cial:Contributions/Lmonamicq"/>
	<updated>2026-04-19T23:08:18Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.31.3</generator>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=TRAMONTIME!&amp;diff=18101</id>
		<title>TRAMONTIME!</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=TRAMONTIME!&amp;diff=18101"/>
		<updated>2024-10-11T13:38:56Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Main_Picture=TRAMONTIME__2024-10-11_033695.jpg&lt;br /&gt;
|Licences=Attribution (CC-BY)&lt;br /&gt;
|Description=Appareil informationnel des transports du réseau Bordeaux Métropole&lt;br /&gt;
|Disciplines scientifiques=Arduino, Computing, Mechanics&lt;br /&gt;
|Difficulty=Technical&lt;br /&gt;
|Duration=2&lt;br /&gt;
|Duration-type=day(s)&lt;br /&gt;
|Tags=Transport, information, affichage LED, horaire&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Le TRAMONTIME est une innovation dédiée aux usagers des transports en commun de Bordeaux Métropole. Cet appareil informatif offre en temps réel la position des bus, tramways et navettes, ainsi que le temps restant avant leur arrivée. Grâce à TRAMONTIME, les usagers peuvent planifier leur départ depuis chez eux. Il permet aux usagers d'optimiser leur temps et d'éviter de longues attentes ou des retards.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Sélection du jeu de donnée&lt;br /&gt;
|Step_Content=Après avoir exploré plusieurs options, nous avons choisi un jeu de données dédié aux transports en commun, car il concerne l'ensemble des usagers. Ce jeu de données offre des informations détaillées sur la fréquence, les horaires, les retards et la position en temps réel des bus, tramways et navettes.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_data.png&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Recherche formelle&lt;br /&gt;
|Step_Content=Ensuite il a fallu déterminer la forme et le design de l'appareil. Nous avons commencé par esquisser plusieurs croquis. Une fois les options sélectionnées, nous avons procédé à la modélisation 3D de l'appareil, permettant d'évaluer ses dimensions et une visualisation clair de l'objet final.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_2024-10-11_003353-2.jpg&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_ViewCapture20241011_125520.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Codage&lt;br /&gt;
|Step_Content=import network&lt;br /&gt;
import time&lt;br /&gt;
import urequests as requests&lt;br /&gt;
import machine&lt;br /&gt;
import neopixel&lt;br /&gt;
&lt;br /&gt;
# Configuration du WiFi&lt;br /&gt;
SSID = 'OnePlus 9'&lt;br /&gt;
PASSWORD = '123456789'&lt;br /&gt;
&lt;br /&gt;
# Configuration du bandeau LED&lt;br /&gt;
LED_PIN = 6  # Pin GPIO pour le bandeau LED&lt;br /&gt;
NUMPIXELS = 15  # Nombre de LEDs sur le bandeau&lt;br /&gt;
np = neopixel.NeoPixel(machine.Pin(LED_PIN), NUMPIXELS)  # Initialisation du bandeau LED&lt;br /&gt;
&lt;br /&gt;
# Fonction pour se connecter au WiFi&lt;br /&gt;
def connect_to_wifi():&lt;br /&gt;
    wlan = network.WLAN(network.STA_IF)&lt;br /&gt;
    wlan.active(True)&lt;br /&gt;
    if not wlan.isconnected():&lt;br /&gt;
        print(f&amp;quot;Try connect to SSID : {SSID}&amp;quot;)&lt;br /&gt;
        wlan.connect(SSID, PASSWORD)&lt;br /&gt;
&lt;br /&gt;
        while not wlan.isconnected():&lt;br /&gt;
            print('.', end=&amp;quot; &amp;quot;)&lt;br /&gt;
            time.sleep_ms(500)&lt;br /&gt;
        print(&amp;quot;\nConnected to WiFi!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Fonction pour obtenir le temps actuel et le temps du prochain bus via l'API&lt;br /&gt;
def get_bus_time():&lt;br /&gt;
    try:&lt;br /&gt;
        # Requête pour obtenir le prochain passage de bus&lt;br /&gt;
        nextbus = requests.get('https://lb.enzopb.me/api.php').text&lt;br /&gt;
        # Requête pour obtenir l'heure actuelle&lt;br /&gt;
        actualtime = requests.get('https://lb.enzopb.me/time.php').text&lt;br /&gt;
        &lt;br /&gt;
        # Convertir les temps en entiers (secondes depuis epoch)&lt;br /&gt;
        nextbus_time = int(nextbus)&lt;br /&gt;
        current_time = int(actualtime)&lt;br /&gt;
        &lt;br /&gt;
        # Calculer la différence en secondes (ajustée par un décalage de 7200 secondes)&lt;br /&gt;
        time_remaining = nextbus_time - current_time - 7200&lt;br /&gt;
        &lt;br /&gt;
        print(f&amp;quot;Prochain bus dans {time_remaining} secondes.&amp;quot;)&lt;br /&gt;
        return time_remaining&lt;br /&gt;
    except Exception as e:&lt;br /&gt;
        print(f&amp;quot;Erreur lors de la requête API : {e}&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
# Fonction pour afficher les LEDs en fonction du temps restant&lt;br /&gt;
def afficher_leds(time_remaining):&lt;br /&gt;
    for i in range(NUMPIXELS):&lt;br /&gt;
        if time_remaining &amp;gt;= (i * 60):&lt;br /&gt;
            intensity = map_value(time_remaining - (i * 60), 0, 60, 0, 255)&lt;br /&gt;
            color = get_color(i, intensity)  # Obtenir la couleur de la LED&lt;br /&gt;
            &lt;br /&gt;
            np[i] = color  # Appliquer la couleur à la LED i&lt;br /&gt;
        else:&lt;br /&gt;
            np[i] = (0, 0, 0)  # Éteindre la LED&lt;br /&gt;
    np.write()  # Mettre à jour le bandeau LED&lt;br /&gt;
&lt;br /&gt;
# Fonction pour définir la couleur d'une LED en fonction de son index&lt;br /&gt;
def get_color(led_index, intensity):&lt;br /&gt;
    if 10 &amp;lt;= led_index &amp;lt;= 14:&lt;br /&gt;
        return (0, intensity, 0)  # Vert&lt;br /&gt;
    elif 5 &amp;lt;= led_index &amp;lt;= 9:&lt;br /&gt;
        return (intensity, intensity, 0)  # Jaune&lt;br /&gt;
    else:&lt;br /&gt;
        return (intensity, 0, 0)  # Rouge&lt;br /&gt;
&lt;br /&gt;
# Fonction pour mapper une valeur (MicroPython n'a pas de fonction map native)&lt;br /&gt;
def map_value(x, in_min, in_max, out_min, out_max):&lt;br /&gt;
    return (x - in_min) * (out_max - out_min) // (in_max - in_min) + out_min&lt;br /&gt;
&lt;br /&gt;
# Boucle principale&lt;br /&gt;
def main_loop():&lt;br /&gt;
    while True:&lt;br /&gt;
        time_remaining = get_bus_time()&lt;br /&gt;
        &lt;br /&gt;
        if time_remaining is not None:&lt;br /&gt;
            afficher_leds(time_remaining)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Erreur lors de la récupération des données de temps.&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        time.sleep(15)  # Attendre 15 secondes avant de rafraîchir&lt;br /&gt;
&lt;br /&gt;
# Programme principal&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    connect_to_wifi()&lt;br /&gt;
    main_loop()&lt;br /&gt;
|Step_Picture_00=TRAMONTIME__Capture_d_cran_2024-10-11_151117.png&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=fabrication&lt;br /&gt;
|Step_Content=Pour réaliser notre conception, nous avons utilisé un décapeur thermique afin de façonner certaines parties du boîtier et une découpe laser pour obtenir des formes précises dans les matériaux choisis. En raison des contraintes de temps, nous avons opté pour un assemblage rapide en utilisant de la colle afin de fixer les différentes pièces ensemble.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_IMG-20241011-WA0008.jpg&lt;br /&gt;
|Step_Picture_00_annotation={&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;objects&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;image&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;originX&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;originY&amp;quot;:&amp;quot;top&amp;quot;,&amp;quot;left&amp;quot;:-2,&amp;quot;top&amp;quot;:0,&amp;quot;width&amp;quot;:1536,&amp;quot;height&amp;quot;:1536,&amp;quot;fill&amp;quot;:&amp;quot;rgb(0,0,0)&amp;quot;,&amp;quot;stroke&amp;quot;:null,&amp;quot;strokeWidth&amp;quot;:0,&amp;quot;strokeDashArray&amp;quot;:null,&amp;quot;strokeLineCap&amp;quot;:&amp;quot;butt&amp;quot;,&amp;quot;strokeDashOffset&amp;quot;:0,&amp;quot;strokeLineJoin&amp;quot;:&amp;quot;miter&amp;quot;,&amp;quot;strokeMiterLimit&amp;quot;:4,&amp;quot;scaleX&amp;quot;:0.39,&amp;quot;scaleY&amp;quot;:0.39,&amp;quot;angle&amp;quot;:0,&amp;quot;flipX&amp;quot;:false,&amp;quot;flipY&amp;quot;:false,&amp;quot;opacity&amp;quot;:1,&amp;quot;shadow&amp;quot;:null,&amp;quot;visible&amp;quot;:true,&amp;quot;clipTo&amp;quot;:null,&amp;quot;backgroundColor&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;fillRule&amp;quot;:&amp;quot;nonzero&amp;quot;,&amp;quot;paintFirst&amp;quot;:&amp;quot;fill&amp;quot;,&amp;quot;globalCompositeOperation&amp;quot;:&amp;quot;source-over&amp;quot;,&amp;quot;transformMatrix&amp;quot;:null,&amp;quot;skewX&amp;quot;:0,&amp;quot;skewY&amp;quot;:0,&amp;quot;crossOrigin&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;cropX&amp;quot;:0,&amp;quot;cropY&amp;quot;:0,&amp;quot;src&amp;quot;:&amp;quot;https://www.wikidebrouillard.org/images/e/e9/TRAMONTIME_IMG-20241011-WA0008.jpg&amp;quot;,&amp;quot;filters&amp;quot;:[]}],&amp;quot;height&amp;quot;:449.69939879759517,&amp;quot;width&amp;quot;:600}&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_20241011_123442.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Notes&lt;br /&gt;
|Observations=Le TRAMONTIME fonctionne en captant les données en temps réel sur l'arrivée du transport sélectionné. Un décompte des minutes restantes avant le passage du véhicule est alors activé, sur une temporalité de 15 minutes. Ce décompte est visualisé à travers des LED, qui changent de couleur en fonction du temps restant : du vert lorsque l'utilisateur a encore largement le temps, jusqu'au rouge lorsque le véhicule est sur le point de passer ou a été raté. Cela permet aux usagers de suivre facilement l'approche du transport.&lt;br /&gt;
|Applications=Ce matin, Julie se prépare pour aller travailler. Elle consulte son TRAMONTIME pour connaître l'arrivée de son tramway. Les LED sont encore vertes, indiquant qu'il lui reste 10 minutes avant son passage. Elle finit de se préparer tranquillement et, en jetant un dernier coup d'œil, voit que les LED passent au jaune, signalant qu'il ne reste plus que 5 minutes. Julie quitte rapidement son appartement et arrive à l'arrêt juste à temps, avant que les LED ne passent au rouge.&lt;br /&gt;
|Objectives=- Planifier le départ de son logement&lt;br /&gt;
&lt;br /&gt;
- Permettre aux usagers d'optimiser leur temps&lt;br /&gt;
&lt;br /&gt;
- Eviter de longues attentes ou des retards.&lt;br /&gt;
|Animation=Nous pourrions montrer un usager consultant le TRAMONTIME depuis chez lui, suivi d’un décompte coloré des LED indiquant le temps restant jusqu'à l'arrivée du tramway. Ensuite, l'utilisateur part au bon moment, évitant ainsi l'attente inutile à l'arrêt.&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Status&lt;br /&gt;
|Complete=Draft&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=TRAMONTIME!&amp;diff=18098</id>
		<title>TRAMONTIME!</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=TRAMONTIME!&amp;diff=18098"/>
		<updated>2024-10-11T13:38:09Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Main_Picture=TRAMONTIME__2024-10-11_033695.jpg&lt;br /&gt;
|Licences=Attribution (CC-BY)&lt;br /&gt;
|Description=Appareil informationnel des transports du réseau Bordeaux Métropole&lt;br /&gt;
|Disciplines scientifiques=Arduino, Computing, Mechanics&lt;br /&gt;
|Difficulty=Technical&lt;br /&gt;
|Duration=2&lt;br /&gt;
|Duration-type=day(s)&lt;br /&gt;
|Tags=Transport, information, affichage LED, horaire&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Le TRAMONTIME est une innovation dédiée aux usagers des transports en commun de Bordeaux Métropole. Cet appareil informatif offre en temps réel la position des bus, tramways et navettes, ainsi que le temps restant avant leur arrivée. Grâce à TRAMONTIME, les usagers peuvent planifier leur départ depuis chez eux. Il permet aux usagers d'optimiser leur temps et d'éviter de longues attentes ou des retards.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Sélection du jeu de donnée&lt;br /&gt;
|Step_Content=Après avoir exploré plusieurs options, nous avons choisi un jeu de données dédié aux transports en commun, car il concerne l'ensemble des usagers. Ce jeu de données offre des informations détaillées sur la fréquence, les horaires, les retards et la position en temps réel des bus, tramways et navettes.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_data.png&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Recherche formelle&lt;br /&gt;
|Step_Content=Ensuite il a fallu déterminer la forme et le design de l'appareil. Nous avons commencé par esquisser plusieurs croquis. Une fois les options sélectionnées, nous avons procédé à la modélisation 3D de l'appareil, permettant d'évaluer ses dimensions et une visualisation clair de l'objet final.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_2024-10-11_003353-2.jpg&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_ViewCapture20241011_125520.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Codage&lt;br /&gt;
|Step_Content=import network&lt;br /&gt;
import time&lt;br /&gt;
import urequests as requests&lt;br /&gt;
import machine&lt;br /&gt;
import neopixel&lt;br /&gt;
&lt;br /&gt;
# Configuration du WiFi&lt;br /&gt;
SSID = 'OnePlus 9'&lt;br /&gt;
PASSWORD = '123456789'&lt;br /&gt;
&lt;br /&gt;
# Configuration du bandeau LED&lt;br /&gt;
LED_PIN = 6  # Pin GPIO pour le bandeau LED&lt;br /&gt;
NUMPIXELS = 15  # Nombre de LEDs sur le bandeau&lt;br /&gt;
np = neopixel.NeoPixel(machine.Pin(LED_PIN), NUMPIXELS)  # Initialisation du bandeau LED&lt;br /&gt;
&lt;br /&gt;
# Fonction pour se connecter au WiFi&lt;br /&gt;
def connect_to_wifi():&lt;br /&gt;
    wlan = network.WLAN(network.STA_IF)&lt;br /&gt;
    wlan.active(True)&lt;br /&gt;
    if not wlan.isconnected():&lt;br /&gt;
        print(f&amp;quot;Try connect to SSID : {SSID}&amp;quot;)&lt;br /&gt;
        wlan.connect(SSID, PASSWORD)&lt;br /&gt;
&lt;br /&gt;
        while not wlan.isconnected():&lt;br /&gt;
            print('.', end=&amp;quot; &amp;quot;)&lt;br /&gt;
            time.sleep_ms(500)&lt;br /&gt;
        print(&amp;quot;\nConnected to WiFi!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Fonction pour obtenir le temps actuel et le temps du prochain bus via l'API&lt;br /&gt;
def get_bus_time():&lt;br /&gt;
    try:&lt;br /&gt;
        # Requête pour obtenir le prochain passage de bus&lt;br /&gt;
        nextbus = requests.get('https://lb.enzopb.me/api.php').text&lt;br /&gt;
        # Requête pour obtenir l'heure actuelle&lt;br /&gt;
        actualtime = requests.get('https://lb.enzopb.me/time.php').text&lt;br /&gt;
        &lt;br /&gt;
        # Convertir les temps en entiers (secondes depuis epoch)&lt;br /&gt;
        nextbus_time = int(nextbus)&lt;br /&gt;
        current_time = int(actualtime)&lt;br /&gt;
        &lt;br /&gt;
        # Calculer la différence en secondes (ajustée par un décalage de 7200 secondes)&lt;br /&gt;
        time_remaining = nextbus_time - current_time - 7200&lt;br /&gt;
        &lt;br /&gt;
        print(f&amp;quot;Prochain bus dans {time_remaining} secondes.&amp;quot;)&lt;br /&gt;
        return time_remaining&lt;br /&gt;
    except Exception as e:&lt;br /&gt;
        print(f&amp;quot;Erreur lors de la requête API : {e}&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
# Fonction pour afficher les LEDs en fonction du temps restant&lt;br /&gt;
def afficher_leds(time_remaining):&lt;br /&gt;
    for i in range(NUMPIXELS):&lt;br /&gt;
        if time_remaining &amp;gt;= (i * 60):&lt;br /&gt;
            intensity = map_value(time_remaining - (i * 60), 0, 60, 0, 255)&lt;br /&gt;
            color = get_color(i, intensity)  # Obtenir la couleur de la LED&lt;br /&gt;
            &lt;br /&gt;
            np[i] = color  # Appliquer la couleur à la LED i&lt;br /&gt;
        else:&lt;br /&gt;
            np[i] = (0, 0, 0)  # Éteindre la LED&lt;br /&gt;
    np.write()  # Mettre à jour le bandeau LED&lt;br /&gt;
&lt;br /&gt;
# Fonction pour définir la couleur d'une LED en fonction de son index&lt;br /&gt;
def get_color(led_index, intensity):&lt;br /&gt;
    if 10 &amp;lt;= led_index &amp;lt;= 14:&lt;br /&gt;
        return (0, intensity, 0)  # Vert&lt;br /&gt;
    elif 5 &amp;lt;= led_index &amp;lt;= 9:&lt;br /&gt;
        return (intensity, intensity, 0)  # Jaune&lt;br /&gt;
    else:&lt;br /&gt;
        return (intensity, 0, 0)  # Rouge&lt;br /&gt;
&lt;br /&gt;
# Fonction pour mapper une valeur (MicroPython n'a pas de fonction map native)&lt;br /&gt;
def map_value(x, in_min, in_max, out_min, out_max):&lt;br /&gt;
    return (x - in_min) * (out_max - out_min) // (in_max - in_min) + out_min&lt;br /&gt;
&lt;br /&gt;
# Boucle principale&lt;br /&gt;
def main_loop():&lt;br /&gt;
    while True:&lt;br /&gt;
        time_remaining = get_bus_time()&lt;br /&gt;
        &lt;br /&gt;
        if time_remaining is not None:&lt;br /&gt;
            afficher_leds(time_remaining)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Erreur lors de la récupération des données de temps.&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        time.sleep(15)  # Attendre 15 secondes avant de rafraîchir&lt;br /&gt;
&lt;br /&gt;
# Programme principal&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    connect_to_wifi()&lt;br /&gt;
    main_loop()&lt;br /&gt;
|Step_Picture_00=TRAMONTIME__Capture_d_cran_2024-10-11_151117.png&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=fabrication&lt;br /&gt;
|Step_Content=Pour réaliser notre conception, nous avons utilisé un décapeur thermique afin de façonner certaines parties du boîtier et une découpe laser pour obtenir des formes précises dans les matériaux choisis. En raison des contraintes de temps, nous avons opté pour un assemblage rapide en utilisant de la colle afin de fixer les différentes pièces ensemble.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_IMG-20241011-WA0008.jpg&lt;br /&gt;
|Step_Picture_00_annotation={&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;objects&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;image&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;originX&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;originY&amp;quot;:&amp;quot;top&amp;quot;,&amp;quot;left&amp;quot;:-2,&amp;quot;top&amp;quot;:0,&amp;quot;width&amp;quot;:1536,&amp;quot;height&amp;quot;:1536,&amp;quot;fill&amp;quot;:&amp;quot;rgb(0,0,0)&amp;quot;,&amp;quot;stroke&amp;quot;:null,&amp;quot;strokeWidth&amp;quot;:0,&amp;quot;strokeDashArray&amp;quot;:null,&amp;quot;strokeLineCap&amp;quot;:&amp;quot;butt&amp;quot;,&amp;quot;strokeDashOffset&amp;quot;:0,&amp;quot;strokeLineJoin&amp;quot;:&amp;quot;miter&amp;quot;,&amp;quot;strokeMiterLimit&amp;quot;:4,&amp;quot;scaleX&amp;quot;:0.39,&amp;quot;scaleY&amp;quot;:0.39,&amp;quot;angle&amp;quot;:0,&amp;quot;flipX&amp;quot;:false,&amp;quot;flipY&amp;quot;:false,&amp;quot;opacity&amp;quot;:1,&amp;quot;shadow&amp;quot;:null,&amp;quot;visible&amp;quot;:true,&amp;quot;clipTo&amp;quot;:null,&amp;quot;backgroundColor&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;fillRule&amp;quot;:&amp;quot;nonzero&amp;quot;,&amp;quot;paintFirst&amp;quot;:&amp;quot;fill&amp;quot;,&amp;quot;globalCompositeOperation&amp;quot;:&amp;quot;source-over&amp;quot;,&amp;quot;transformMatrix&amp;quot;:null,&amp;quot;skewX&amp;quot;:0,&amp;quot;skewY&amp;quot;:0,&amp;quot;crossOrigin&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;cropX&amp;quot;:0,&amp;quot;cropY&amp;quot;:0,&amp;quot;src&amp;quot;:&amp;quot;https://www.wikidebrouillard.org/images/e/e9/TRAMONTIME_IMG-20241011-WA0008.jpg&amp;quot;,&amp;quot;filters&amp;quot;:[]}],&amp;quot;height&amp;quot;:449.69939879759517,&amp;quot;width&amp;quot;:600}&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_20241011_123442.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=fabrication&lt;br /&gt;
|Step_Content=Pour réaliser notre conception, nous avons utilisé un décapeur thermique afin de façonner certaines parties du boîtier et une découpe laser pour obtenir des formes précises dans les matériaux choisis. En raison des contraintes de temps, nous avons opté pour un assemblage rapide en utilisant de la colle afin de fixer les différentes pièces ensemble.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_IMG-20241011-WA0008.jpg&lt;br /&gt;
|Step_Picture_00_annotation={&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;objects&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;image&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;originX&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;originY&amp;quot;:&amp;quot;top&amp;quot;,&amp;quot;left&amp;quot;:-2,&amp;quot;top&amp;quot;:0,&amp;quot;width&amp;quot;:1536,&amp;quot;height&amp;quot;:1536,&amp;quot;fill&amp;quot;:&amp;quot;rgb(0,0,0)&amp;quot;,&amp;quot;stroke&amp;quot;:null,&amp;quot;strokeWidth&amp;quot;:0,&amp;quot;strokeDashArray&amp;quot;:null,&amp;quot;strokeLineCap&amp;quot;:&amp;quot;butt&amp;quot;,&amp;quot;strokeDashOffset&amp;quot;:0,&amp;quot;strokeLineJoin&amp;quot;:&amp;quot;miter&amp;quot;,&amp;quot;strokeMiterLimit&amp;quot;:4,&amp;quot;scaleX&amp;quot;:0.39,&amp;quot;scaleY&amp;quot;:0.39,&amp;quot;angle&amp;quot;:0,&amp;quot;flipX&amp;quot;:false,&amp;quot;flipY&amp;quot;:false,&amp;quot;opacity&amp;quot;:1,&amp;quot;shadow&amp;quot;:null,&amp;quot;visible&amp;quot;:true,&amp;quot;clipTo&amp;quot;:null,&amp;quot;backgroundColor&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;fillRule&amp;quot;:&amp;quot;nonzero&amp;quot;,&amp;quot;paintFirst&amp;quot;:&amp;quot;fill&amp;quot;,&amp;quot;globalCompositeOperation&amp;quot;:&amp;quot;source-over&amp;quot;,&amp;quot;transformMatrix&amp;quot;:null,&amp;quot;skewX&amp;quot;:0,&amp;quot;skewY&amp;quot;:0,&amp;quot;crossOrigin&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;cropX&amp;quot;:0,&amp;quot;cropY&amp;quot;:0,&amp;quot;src&amp;quot;:&amp;quot;https://www.wikidebrouillard.org/images/e/e9/TRAMONTIME_IMG-20241011-WA0008.jpg&amp;quot;,&amp;quot;filters&amp;quot;:[]}],&amp;quot;height&amp;quot;:449.69939879759517,&amp;quot;width&amp;quot;:600}&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_20241011_123442.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Notes&lt;br /&gt;
|Observations=Le TRAMONTIME fonctionne en captant les données en temps réel sur l'arrivée du transport sélectionné. Un décompte des minutes restantes avant le passage du véhicule est alors activé, sur une temporalité de 15 minutes. Ce décompte est visualisé à travers des LED, qui changent de couleur en fonction du temps restant : du vert lorsque l'utilisateur a encore largement le temps, jusqu'au rouge lorsque le véhicule est sur le point de passer ou a été raté. Cela permet aux usagers de suivre facilement l'approche du transport.&lt;br /&gt;
|Applications=Ce matin, Julie se prépare pour aller travailler. Elle consulte son TRAMONTIME pour connaître l'arrivée de son tramway. Les LED sont encore vertes, indiquant qu'il lui reste 10 minutes avant son passage. Elle finit de se préparer tranquillement et, en jetant un dernier coup d'œil, voit que les LED passent au jaune, signalant qu'il ne reste plus que 5 minutes. Julie quitte rapidement son appartement et arrive à l'arrêt juste à temps, avant que les LED ne passent au rouge.&lt;br /&gt;
|Objectives=- Planifier le départ de son logement&lt;br /&gt;
&lt;br /&gt;
- Permettre aux usagers d'optimiser leur temps&lt;br /&gt;
&lt;br /&gt;
- Eviter de longues attentes ou des retards.&lt;br /&gt;
|Animation=Nous pourrions montrer un usager consultant le TRAMONTIME depuis chez lui, suivi d’un décompte coloré des LED indiquant le temps restant jusqu'à l'arrivée du tramway. Ensuite, l'utilisateur part au bon moment, évitant ainsi l'attente inutile à l'arrêt.&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Status&lt;br /&gt;
|Complete=Draft&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_2024-10-11_033695.jpg&amp;diff=18097</id>
		<title>Fichier:TRAMONTIME 2024-10-11 033695.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_2024-10-11_033695.jpg&amp;diff=18097"/>
		<updated>2024-10-11T13:37:56Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__2024-10-11_033695&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__2024-10-11_033695&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=TRAMONTIME!&amp;diff=18091</id>
		<title>TRAMONTIME!</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=TRAMONTIME!&amp;diff=18091"/>
		<updated>2024-10-11T13:32:58Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : Page créée avec « {{Tuto Details |Licences=Attribution (CC-BY) |Description=Appareil informationnel des transports du réseau Bordeaux Métropole |Disciplines scientifiques=Arduino, Computi... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tuto Details&lt;br /&gt;
|Licences=Attribution (CC-BY)&lt;br /&gt;
|Description=Appareil informationnel des transports du réseau Bordeaux Métropole&lt;br /&gt;
|Disciplines scientifiques=Arduino, Computing, Mechanics&lt;br /&gt;
|Difficulty=Technical&lt;br /&gt;
|Duration=2&lt;br /&gt;
|Duration-type=day(s)&lt;br /&gt;
|Tags=Transport, information, affichage LED, horaire&lt;br /&gt;
}}&lt;br /&gt;
{{Introduction&lt;br /&gt;
|Introduction=Le TRAMONTIME est une innovation dédiée aux usagers des transports en commun de Bordeaux Métropole. Cet appareil informatif offre en temps réel la position des bus, tramways et navettes, ainsi que le temps restant avant leur arrivée. Grâce à TRAMONTIME, les usagers peuvent planifier leur départ depuis chez eux. Il permet aux usagers d'optimiser leur temps et d'éviter de longues attentes ou des retards.&lt;br /&gt;
}}&lt;br /&gt;
{{Materials}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Sélection du jeu de donnée&lt;br /&gt;
|Step_Content=Après avoir exploré plusieurs options, nous avons choisi un jeu de données dédié aux transports en commun, car il concerne l'ensemble des usagers. Ce jeu de données offre des informations détaillées sur la fréquence, les horaires, les retards et la position en temps réel des bus, tramways et navettes.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_data.png&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Recherche formelle&lt;br /&gt;
|Step_Content=Ensuite il a fallu déterminer la forme et le design de l'appareil. Nous avons commencé par esquisser plusieurs croquis. Une fois les options sélectionnées, nous avons procédé à la modélisation 3D de l'appareil, permettant d'évaluer ses dimensions et une visualisation clair de l'objet final.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_2024-10-11_003353-2.jpg&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_ViewCapture20241011_125520.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=Codage&lt;br /&gt;
|Step_Content=import network&lt;br /&gt;
import time&lt;br /&gt;
import urequests as requests&lt;br /&gt;
import machine&lt;br /&gt;
import neopixel&lt;br /&gt;
&lt;br /&gt;
# Configuration du WiFi&lt;br /&gt;
SSID = 'OnePlus 9'&lt;br /&gt;
PASSWORD = '123456789'&lt;br /&gt;
&lt;br /&gt;
# Configuration du bandeau LED&lt;br /&gt;
LED_PIN = 6  # Pin GPIO pour le bandeau LED&lt;br /&gt;
NUMPIXELS = 15  # Nombre de LEDs sur le bandeau&lt;br /&gt;
np = neopixel.NeoPixel(machine.Pin(LED_PIN), NUMPIXELS)  # Initialisation du bandeau LED&lt;br /&gt;
&lt;br /&gt;
# Fonction pour se connecter au WiFi&lt;br /&gt;
def connect_to_wifi():&lt;br /&gt;
    wlan = network.WLAN(network.STA_IF)&lt;br /&gt;
    wlan.active(True)&lt;br /&gt;
    if not wlan.isconnected():&lt;br /&gt;
        print(f&amp;quot;Try connect to SSID : {SSID}&amp;quot;)&lt;br /&gt;
        wlan.connect(SSID, PASSWORD)&lt;br /&gt;
&lt;br /&gt;
        while not wlan.isconnected():&lt;br /&gt;
            print('.', end=&amp;quot; &amp;quot;)&lt;br /&gt;
            time.sleep_ms(500)&lt;br /&gt;
        print(&amp;quot;\nConnected to WiFi!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Fonction pour obtenir le temps actuel et le temps du prochain bus via l'API&lt;br /&gt;
def get_bus_time():&lt;br /&gt;
    try:&lt;br /&gt;
        # Requête pour obtenir le prochain passage de bus&lt;br /&gt;
        nextbus = requests.get('https://lb.enzopb.me/api.php').text&lt;br /&gt;
        # Requête pour obtenir l'heure actuelle&lt;br /&gt;
        actualtime = requests.get('https://lb.enzopb.me/time.php').text&lt;br /&gt;
        &lt;br /&gt;
        # Convertir les temps en entiers (secondes depuis epoch)&lt;br /&gt;
        nextbus_time = int(nextbus)&lt;br /&gt;
        current_time = int(actualtime)&lt;br /&gt;
        &lt;br /&gt;
        # Calculer la différence en secondes (ajustée par un décalage de 7200 secondes)&lt;br /&gt;
        time_remaining = nextbus_time - current_time - 7200&lt;br /&gt;
        &lt;br /&gt;
        print(f&amp;quot;Prochain bus dans {time_remaining} secondes.&amp;quot;)&lt;br /&gt;
        return time_remaining&lt;br /&gt;
    except Exception as e:&lt;br /&gt;
        print(f&amp;quot;Erreur lors de la requête API : {e}&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
# Fonction pour afficher les LEDs en fonction du temps restant&lt;br /&gt;
def afficher_leds(time_remaining):&lt;br /&gt;
    for i in range(NUMPIXELS):&lt;br /&gt;
        if time_remaining &amp;gt;= (i * 60):&lt;br /&gt;
            intensity = map_value(time_remaining - (i * 60), 0, 60, 0, 255)&lt;br /&gt;
            color = get_color(i, intensity)  # Obtenir la couleur de la LED&lt;br /&gt;
            &lt;br /&gt;
            np[i] = color  # Appliquer la couleur à la LED i&lt;br /&gt;
        else:&lt;br /&gt;
            np[i] = (0, 0, 0)  # Éteindre la LED&lt;br /&gt;
    np.write()  # Mettre à jour le bandeau LED&lt;br /&gt;
&lt;br /&gt;
# Fonction pour définir la couleur d'une LED en fonction de son index&lt;br /&gt;
def get_color(led_index, intensity):&lt;br /&gt;
    if 10 &amp;lt;= led_index &amp;lt;= 14:&lt;br /&gt;
        return (0, intensity, 0)  # Vert&lt;br /&gt;
    elif 5 &amp;lt;= led_index &amp;lt;= 9:&lt;br /&gt;
        return (intensity, intensity, 0)  # Jaune&lt;br /&gt;
    else:&lt;br /&gt;
        return (intensity, 0, 0)  # Rouge&lt;br /&gt;
&lt;br /&gt;
# Fonction pour mapper une valeur (MicroPython n'a pas de fonction map native)&lt;br /&gt;
def map_value(x, in_min, in_max, out_min, out_max):&lt;br /&gt;
    return (x - in_min) * (out_max - out_min) // (in_max - in_min) + out_min&lt;br /&gt;
&lt;br /&gt;
# Boucle principale&lt;br /&gt;
def main_loop():&lt;br /&gt;
    while True:&lt;br /&gt;
        time_remaining = get_bus_time()&lt;br /&gt;
        &lt;br /&gt;
        if time_remaining is not None:&lt;br /&gt;
            afficher_leds(time_remaining)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Erreur lors de la récupération des données de temps.&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        time.sleep(15)  # Attendre 15 secondes avant de rafraîchir&lt;br /&gt;
&lt;br /&gt;
# Programme principal&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    connect_to_wifi()&lt;br /&gt;
    main_loop()&lt;br /&gt;
|Step_Picture_00=TRAMONTIME__Capture_d_cran_2024-10-11_151117.png&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=fabrication&lt;br /&gt;
|Step_Content=Pour réaliser notre conception, nous avons utilisé un décapeur thermique afin de façonner certaines parties du boîtier et une découpe laser pour obtenir des formes précises dans les matériaux choisis. En raison des contraintes de temps, nous avons opté pour un assemblage rapide en utilisant de la colle afin de fixer les différentes pièces ensemble.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_IMG-20241011-WA0008.jpg&lt;br /&gt;
|Step_Picture_00_annotation={&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;objects&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;image&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;originX&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;originY&amp;quot;:&amp;quot;top&amp;quot;,&amp;quot;left&amp;quot;:-2,&amp;quot;top&amp;quot;:0,&amp;quot;width&amp;quot;:1536,&amp;quot;height&amp;quot;:1536,&amp;quot;fill&amp;quot;:&amp;quot;rgb(0,0,0)&amp;quot;,&amp;quot;stroke&amp;quot;:null,&amp;quot;strokeWidth&amp;quot;:0,&amp;quot;strokeDashArray&amp;quot;:null,&amp;quot;strokeLineCap&amp;quot;:&amp;quot;butt&amp;quot;,&amp;quot;strokeDashOffset&amp;quot;:0,&amp;quot;strokeLineJoin&amp;quot;:&amp;quot;miter&amp;quot;,&amp;quot;strokeMiterLimit&amp;quot;:4,&amp;quot;scaleX&amp;quot;:0.39,&amp;quot;scaleY&amp;quot;:0.39,&amp;quot;angle&amp;quot;:0,&amp;quot;flipX&amp;quot;:false,&amp;quot;flipY&amp;quot;:false,&amp;quot;opacity&amp;quot;:1,&amp;quot;shadow&amp;quot;:null,&amp;quot;visible&amp;quot;:true,&amp;quot;clipTo&amp;quot;:null,&amp;quot;backgroundColor&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;fillRule&amp;quot;:&amp;quot;nonzero&amp;quot;,&amp;quot;paintFirst&amp;quot;:&amp;quot;fill&amp;quot;,&amp;quot;globalCompositeOperation&amp;quot;:&amp;quot;source-over&amp;quot;,&amp;quot;transformMatrix&amp;quot;:null,&amp;quot;skewX&amp;quot;:0,&amp;quot;skewY&amp;quot;:0,&amp;quot;crossOrigin&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;cropX&amp;quot;:0,&amp;quot;cropY&amp;quot;:0,&amp;quot;src&amp;quot;:&amp;quot;https://www.wikidebrouillard.org/images/e/e9/TRAMONTIME_IMG-20241011-WA0008.jpg&amp;quot;,&amp;quot;filters&amp;quot;:[]}],&amp;quot;height&amp;quot;:449.69939879759517,&amp;quot;width&amp;quot;:600}&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_20241011_123442.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Step&lt;br /&gt;
|Step_Title=fabrication&lt;br /&gt;
|Step_Content=Pour réaliser notre conception, nous avons utilisé un décapeur thermique afin de façonner certaines parties du boîtier et une découpe laser pour obtenir des formes précises dans les matériaux choisis. En raison des contraintes de temps, nous avons opté pour un assemblage rapide en utilisant de la colle afin de fixer les différentes pièces ensemble.&lt;br /&gt;
|Step_Picture_00=TRAMONTIME_IMG-20241011-WA0008.jpg&lt;br /&gt;
|Step_Picture_00_annotation={&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;objects&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;image&amp;quot;,&amp;quot;version&amp;quot;:&amp;quot;3.5.0&amp;quot;,&amp;quot;originX&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;originY&amp;quot;:&amp;quot;top&amp;quot;,&amp;quot;left&amp;quot;:-2,&amp;quot;top&amp;quot;:0,&amp;quot;width&amp;quot;:1536,&amp;quot;height&amp;quot;:1536,&amp;quot;fill&amp;quot;:&amp;quot;rgb(0,0,0)&amp;quot;,&amp;quot;stroke&amp;quot;:null,&amp;quot;strokeWidth&amp;quot;:0,&amp;quot;strokeDashArray&amp;quot;:null,&amp;quot;strokeLineCap&amp;quot;:&amp;quot;butt&amp;quot;,&amp;quot;strokeDashOffset&amp;quot;:0,&amp;quot;strokeLineJoin&amp;quot;:&amp;quot;miter&amp;quot;,&amp;quot;strokeMiterLimit&amp;quot;:4,&amp;quot;scaleX&amp;quot;:0.39,&amp;quot;scaleY&amp;quot;:0.39,&amp;quot;angle&amp;quot;:0,&amp;quot;flipX&amp;quot;:false,&amp;quot;flipY&amp;quot;:false,&amp;quot;opacity&amp;quot;:1,&amp;quot;shadow&amp;quot;:null,&amp;quot;visible&amp;quot;:true,&amp;quot;clipTo&amp;quot;:null,&amp;quot;backgroundColor&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;fillRule&amp;quot;:&amp;quot;nonzero&amp;quot;,&amp;quot;paintFirst&amp;quot;:&amp;quot;fill&amp;quot;,&amp;quot;globalCompositeOperation&amp;quot;:&amp;quot;source-over&amp;quot;,&amp;quot;transformMatrix&amp;quot;:null,&amp;quot;skewX&amp;quot;:0,&amp;quot;skewY&amp;quot;:0,&amp;quot;crossOrigin&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;cropX&amp;quot;:0,&amp;quot;cropY&amp;quot;:0,&amp;quot;src&amp;quot;:&amp;quot;https://www.wikidebrouillard.org/images/e/e9/TRAMONTIME_IMG-20241011-WA0008.jpg&amp;quot;,&amp;quot;filters&amp;quot;:[]}],&amp;quot;height&amp;quot;:449.69939879759517,&amp;quot;width&amp;quot;:600}&lt;br /&gt;
|Step_Picture_01=TRAMONTIME_20241011_123442.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Notes&lt;br /&gt;
|Observations=Le TRAMONTIME fonctionne en captant les données en temps réel sur l'arrivée du transport sélectionné. Un décompte des minutes restantes avant le passage du véhicule est alors activé, sur une temporalité de 15 minutes. Ce décompte est visualisé à travers des LED, qui changent de couleur en fonction du temps restant : du vert lorsque l'utilisateur a encore largement le temps, jusqu'au rouge lorsque le véhicule est sur le point de passer ou a été raté. Cela permet aux usagers de suivre facilement l'approche du transport.&lt;br /&gt;
|Applications=Ce matin, Julie se prépare pour aller travailler. Elle consulte son TRAMONTIME pour connaître l'arrivée de son tramway. Les LED sont encore vertes, indiquant qu'il lui reste 10 minutes avant son passage. Elle finit de se préparer tranquillement et, en jetant un dernier coup d'œil, voit que les LED passent au jaune, signalant qu'il ne reste plus que 5 minutes. Julie quitte rapidement son appartement et arrive à l'arrêt juste à temps, avant que les LED ne passent au rouge.&lt;br /&gt;
|Objectives=- Planifier le départ de son logement&lt;br /&gt;
&lt;br /&gt;
- Permettre aux usagers d'optimiser leur temps&lt;br /&gt;
&lt;br /&gt;
- Eviter de longues attentes ou des retards.&lt;br /&gt;
|Animation=Nous pourrions montrer un usager consultant le TRAMONTIME depuis chez lui, suivi d’un décompte coloré des LED indiquant le temps restant jusqu'à l'arrivée du tramway. Ensuite, l'utilisateur part au bon moment, évitant ainsi l'attente inutile à l'arrêt.&lt;br /&gt;
}}&lt;br /&gt;
{{Tuto Status&lt;br /&gt;
|Complete=Draft&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_Capture_d_cran_2024-10-11_151117.png&amp;diff=18082</id>
		<title>Fichier:TRAMONTIME Capture d cran 2024-10-11 151117.png</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_Capture_d_cran_2024-10-11_151117.png&amp;diff=18082"/>
		<updated>2024-10-11T13:11:36Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__Capture_d_cran_2024-10-11_151117&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__Capture_d_cran_2024-10-11_151117&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_2024-10-11_003353-2.jpg&amp;diff=18065</id>
		<title>Fichier:TRAMONTIME 2024-10-11 003353-2.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_2024-10-11_003353-2.jpg&amp;diff=18065"/>
		<updated>2024-10-11T12:51:36Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__2024-10-11_003353-2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__2024-10-11_003353-2&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_123027.jpg&amp;diff=18063</id>
		<title>Fichier:TRAMONTIME 20241011 123027.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_123027.jpg&amp;diff=18063"/>
		<updated>2024-10-11T12:50:24Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_123027&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_123027&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_123442.jpg&amp;diff=18062</id>
		<title>Fichier:TRAMONTIME 20241011 123442.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_123442.jpg&amp;diff=18062"/>
		<updated>2024-10-11T12:50:21Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_123442&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_123442&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121637.jpg&amp;diff=18061</id>
		<title>Fichier:TRAMONTIME 20241011 121637.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121637.jpg&amp;diff=18061"/>
		<updated>2024-10-11T12:50:18Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_121637&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_121637&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0008.jpg&amp;diff=18060</id>
		<title>Fichier:TRAMONTIME IMG-20241011-WA0008.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0008.jpg&amp;diff=18060"/>
		<updated>2024-10-11T12:50:15Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__IMG-20241011-WA0008&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__IMG-20241011-WA0008&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_4_.jpg&amp;diff=18059</id>
		<title>Fichier:TRAMONTIME 20241011 121639 4 .jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_4_.jpg&amp;diff=18059"/>
		<updated>2024-10-11T12:50:13Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_121639_4_&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_121639_4_&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_123444.jpg&amp;diff=18058</id>
		<title>Fichier:TRAMONTIME 20241011 123444.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_123444.jpg&amp;diff=18058"/>
		<updated>2024-10-11T12:50:09Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_123444&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_123444&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_122810.jpg&amp;diff=18057</id>
		<title>Fichier:TRAMONTIME 20241011 122810.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_122810.jpg&amp;diff=18057"/>
		<updated>2024-10-11T12:50:00Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_122810&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_122810&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0006.jpg&amp;diff=18055</id>
		<title>Fichier:TRAMONTIME IMG-20241011-WA0006.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0006.jpg&amp;diff=18055"/>
		<updated>2024-10-11T12:49:56Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__IMG-20241011-WA0006&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__IMG-20241011-WA0006&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0010.jpg&amp;diff=18056</id>
		<title>Fichier:TRAMONTIME IMG-20241011-WA0010.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0010.jpg&amp;diff=18056"/>
		<updated>2024-10-11T12:49:56Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__IMG-20241011-WA0010&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__IMG-20241011-WA0010&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0009.jpg&amp;diff=18054</id>
		<title>Fichier:TRAMONTIME IMG-20241011-WA0009.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_IMG-20241011-WA0009.jpg&amp;diff=18054"/>
		<updated>2024-10-11T12:49:55Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__IMG-20241011-WA0009&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__IMG-20241011-WA0009&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_140106.jpg&amp;diff=18053</id>
		<title>Fichier:TRAMONTIME 20241011 140106.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_140106.jpg&amp;diff=18053"/>
		<updated>2024-10-11T12:49:54Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_140106&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_140106&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_140056.jpg&amp;diff=18052</id>
		<title>Fichier:TRAMONTIME 20241011 140056.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_140056.jpg&amp;diff=18052"/>
		<updated>2024-10-11T12:49:51Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_140056&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_140056&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_profil.png&amp;diff=18051</id>
		<title>Fichier:TRAMONTIME profil.png</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_profil.png&amp;diff=18051"/>
		<updated>2024-10-11T12:49:49Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__profil&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__profil&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_ViewCapture20241011_125520.jpg&amp;diff=18050</id>
		<title>Fichier:TRAMONTIME ViewCapture20241011 125520.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_ViewCapture20241011_125520.jpg&amp;diff=18050"/>
		<updated>2024-10-11T12:49:47Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__ViewCapture20241011_125520&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__ViewCapture20241011_125520&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_data.png&amp;diff=18043</id>
		<title>Fichier:TRAMONTIME data.png</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_data.png&amp;diff=18043"/>
		<updated>2024-10-11T12:35:49Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__data&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_3_.jpg&amp;diff=17971</id>
		<title>Fichier:TRAMONTIME 20241011 121639 3 .jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_3_.jpg&amp;diff=17971"/>
		<updated>2024-10-11T10:22:50Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_121639_3_&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_121639_3_&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_2_.jpg&amp;diff=17968</id>
		<title>Fichier:TRAMONTIME 20241011 121639 2 .jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_2_.jpg&amp;diff=17968"/>
		<updated>2024-10-11T10:20:26Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_121639_2_&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_121639_2_&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_1_.jpg&amp;diff=17967</id>
		<title>Fichier:TRAMONTIME 20241011 121639 1 .jpg</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Fichier:TRAMONTIME_20241011_121639_1_.jpg&amp;diff=17967"/>
		<updated>2024-10-11T10:19:13Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : TRAMONTIME__20241011_121639_1_&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TRAMONTIME__20241011_121639_1_&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
	<entry>
		<id>https://www.wikidebrouillard.org/w/index.php?title=Utilisateur:Lmonamicq&amp;diff=17939</id>
		<title>Utilisateur:Lmonamicq</title>
		<link rel="alternate" type="text/html" href="https://www.wikidebrouillard.org/w/index.php?title=Utilisateur:Lmonamicq&amp;diff=17939"/>
		<updated>2024-10-11T08:33:35Z</updated>

		<summary type="html">&lt;p&gt;Lmonamicq : create user page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lmonamicq</name></author>
		
	</entry>
</feed>