

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF[
	<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
	<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
	<!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
	<!ENTITY swivt 'http://semantic-mediawiki.org/swivt/1.0#'>
	<!ENTITY wiki 'http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/'>
	<!ENTITY category 'http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Category-3A'>
	<!ENTITY property 'http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3A'>
	<!ENTITY wikiurl 'https://www.wikidebrouillard.org/wiki/'>
]>

<rdf:RDF
	xmlns:rdf="&rdf;"
	xmlns:rdfs="&rdfs;"
	xmlns:owl ="&owl;"
	xmlns:swivt="&swivt;"
	xmlns:wiki="&wiki;"
	xmlns:category="&category;"
	xmlns:property="&property;">

	<owl:Ontology rdf:about="https://www.wikidebrouillard.org/wiki/Special:ExportRDF/Mobi_BOX">
		<swivt:creationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-06-15T08:19:49+02:00</swivt:creationDate>
		<owl:imports rdf:resource="http://semantic-mediawiki.org/swivt/1.0"/>
	</owl:Ontology>
	<swivt:Subject rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Mobi_BOX">
		<rdf:type rdf:resource="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Category-3ATutorials"/>
		<rdfs:label>Mobi BOX</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://www.wikidebrouillard.org/wiki/Special:ExportRDF/Mobi_BOX"/>
		<swivt:page rdf:resource="https://www.wikidebrouillard.org/wiki/Mobi_BOX"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">fr</swivt:wikiPageContentLanguage>
		<property:Applications rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Ils sont installés dans les lieux publics, aux arrêts de tramway, aux stations de bus et dans les taxis, et sont signalés par un panneau indiquant leur présence.</property:Applications>
		<property:Avertissement rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Connexion

Disponibilité des Api externe</property:Avertissement>
		<property:Complete rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Draft</property:Complete>
		<property:Description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Un dispositif fournissant des informations en temps réel sur la pertinence d’utiliser une voiture ou les transports en commun, en évaluant la qualité de l’air, les niveaux de pollution atmosphérique ainsi que la disponibilité des différents moyens de transport dans la zone</property:Description>
		<property:Difficulty rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Expert</property:Difficulty>
		<property:Disciplines_scientifiques rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Arduino</property:Disciplines_scientifiques>
		<property:Disciplines_scientifiques rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Computing</property:Disciplines_scientifiques>
		<property:Disciplines_scientifiques rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Electricity</property:Disciplines_scientifiques>
		<property:Disciplines_scientifiques rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mechanics</property:Disciplines_scientifiques>
		<property:Duration rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</property:Duration>
		<property:Duration-2Dtype rdf:datatype="http://www.w3.org/2001/XMLSchema#string">day(s)</property:Duration-2Dtype>
		<property:Explanations rdf:datatype="http://www.w3.org/2001/XMLSchema#string">L’esp appelle une api sur un serveur (api en fast api). Cette api va appeler les autres apis et faire les calcule.

Cette architecture permet de ne pas être limité par l’esp niveau performance.</property:Explanations>
		<property:Introduction rdf:datatype="http://www.w3.org/2001/XMLSchema#string">pour présenter l’expérience ou la réalisation technique de manière attractive.</property:Introduction>
		<property:Item rdf:resource="&wiki;LED"/>
		<property:Item rdf:resource="&wiki;Imprimante_3D"/>
		<property:Item rdf:resource="&wiki;Moteur_électrique"/>
		<property:Item rdf:resource="&wiki;Découpeuse_laser"/>
		<property:Item rdf:resource="&wiki;Boite_en_carton"/>
		<property:Item rdf:resource="&wiki;ESP32"/>
		<property:Licences rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Attribution (CC-BY)</property:Licences>
		<property:Main_Picture rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi_BOX_IMG_0412.jpeg</property:Main_Picture>
		<property:Notes rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://datahub.bordeaux-metropole.fr/pages/accueil/

https://fastapi.tiangolo.com/

https://open-meteo.com/</property:Notes>
		<property:Objectives rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Améliorer notre capacité à travailler en équipe Améliorer notre capacité à s’adapter au différent profils et compétence des membres de notre équipe (oral, méthode de travail, contrainte)</property:Objectives>
		<property:Observations rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Une rotation d’un cache dévoilé le moyen de transport conseillé à l’instant t.</property:Observations>
		<property:Related rdf:datatype="http://www.w3.org/2001/XMLSchema#string">- Ajouter un GPS afin d’avoir la position dynamiquement.

- Ajouter un capteur qui permet d’analyser la qualité de l’air pour ne plus dépendre d’un service tier et être  plus précis</property:Related>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Chaque participant partage sa compréhension du thème. Toutes les idées et les mots-clés sont ensuite notés et organisés sous forme de schéma.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Analyse des sources disponibles sur les sites de TBM et de Bordeaux Métropole pour identifier les bénéfices environnementaux du tramway et du réseau de bus.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Conception d’une machine capable d’analyser la qualité de l’air et le trafic, afin de proposer le meilleur moyen de transport entre bus, tram, voiture ou taxi.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">&lt;nowiki&gt;import requests&lt;br /&gt;&lt;br /&gt;from bs4 import BeautifulSoup&lt;br /&gt;&lt;br /&gt;class AQIRepository:&lt;br /&gt;&lt;br /&gt;URL = "https://www.atmo-nouvelleaquitaine.org/air-commune/Bordeaux/33063/indice-atmo?date=2025-10-14"&lt;br /&gt;&lt;br /&gt;def __init__(self):&lt;br /&gt;&lt;br /&gt;self.cat_to_conc = {&lt;br /&gt;&lt;br /&gt;'Bon':    {'PM2.5': 5.0,  'PM10': 15.0, 'O3': 0.040, 'NO2': 20.0, 'SO2': 5.0},&lt;br /&gt;&lt;br /&gt;'Moyen':  {'PM2.5': 20.0, 'PM10': 40.0, 'O3': 0.060, 'NO2': 60.0, 'SO2': 20.0},&lt;br /&gt;&lt;br /&gt;'Mauvais':{'PM2.5': 40.0, 'PM10': 100.0,'O3': 0.100, 'NO2': 150.0,'SO2': 100.0},&lt;br /&gt;&lt;br /&gt;'Très mauvais':{'PM2.5':120.0,'PM10':300.0,'O3':0.180,'NO2':800.0,'SO2':500.0}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;self.breakpoints = {&lt;br /&gt;&lt;br /&gt;'PM2.5': [(0.0,12.0,0,50),(12.1,35.4,51,100),(35.5,55.4,101,150),(55.5,150.4,151,200)],&lt;br /&gt;&lt;br /&gt;'PM10':  [(0,54,0,50),(55,154,51,100),(155,254,101,150),(255,354,151,200)],&lt;br /&gt;&lt;br /&gt;'O3':    [(0.000,0.054,0,50),(0.055,0.070,51,100),(0.071,0.085,101,150)],&lt;br /&gt;&lt;br /&gt;'NO2':   [(0,53,0,50),(54,100,51,100),(101,360,101,150),(361,649,151,200)],&lt;br /&gt;&lt;br /&gt;'SO2':   [(0,35,0,50),(36,75,51,100),(76,185,101,150),(186,304,151,200)],&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;def linear_scale(self, C, C_low, C_high, I_low, I_high):&lt;br /&gt;&lt;br /&gt;return round((I_high - I_low) / (C_high - C_low) * (C - C_low) + I_low)&lt;br /&gt;&lt;br /&gt;def find_aqi_subindex(self, C, pollutant):&lt;br /&gt;&lt;br /&gt;for (C_low, C_high, I_low, I_high) in self.breakpoints[pollutant]:&lt;br /&gt;&lt;br /&gt;if C_low &lt;= C &lt;= C_high:&lt;br /&gt;&lt;br /&gt;return self.linear_scale(C, C_low, C_high, I_low, I_high)&lt;br /&gt;&lt;br /&gt;return None&lt;br /&gt;&lt;br /&gt;def scrape_categories(self):&lt;br /&gt;&lt;br /&gt;response = requests.get(self.URL, timeout=10)&lt;br /&gt;&lt;br /&gt;soup = BeautifulSoup(response.text, "html.parser")&lt;br /&gt;&lt;br /&gt;categories = {}&lt;br /&gt;&lt;br /&gt;blocks = soup.select(".c-indice-polluant")&lt;br /&gt;&lt;br /&gt;for block in blocks:&lt;br /&gt;&lt;br /&gt;title_tag = block.select_one(".c-indice-polluant-title span")&lt;br /&gt;&lt;br /&gt;cat_tag = block.select_one(".home-map-legend-item span")&lt;br /&gt;&lt;br /&gt;if title_tag and cat_tag:&lt;br /&gt;&lt;br /&gt;name = title_tag.get_text(strip=True).replace("₂", "2").replace("₃", "3")&lt;br /&gt;&lt;br /&gt;cat = cat_tag.get_text(strip=True)&lt;br /&gt;&lt;br /&gt;categories[name] = cat&lt;br /&gt;&lt;br /&gt;return categories&lt;br /&gt;&lt;br /&gt;def compute_aqi(self, categories):&lt;br /&gt;&lt;br /&gt;concentrations = {k: self.cat_to_conc[v][k] for k, v in categories.items() if k in self.cat_to_conc[v]}&lt;br /&gt;&lt;br /&gt;subindices = {k: self.find_aqi_subindex(concentrations[k], k) for k in concentrations}&lt;br /&gt;&lt;br /&gt;aqi_global = max(v for v in subindices.values() if v is not None)&lt;br /&gt;&lt;br /&gt;return aqi_global, subindices &lt;br /&gt;&lt;br /&gt;import requests&lt;br /&gt;&lt;br /&gt;class MeteoRepository:&lt;br /&gt;&lt;br /&gt;def __init__(self, latitude=44.8378, longitude=-0.5792):&lt;br /&gt;&lt;br /&gt;self.latitude = latitude&lt;br /&gt;&lt;br /&gt;self.longitude = longitude&lt;br /&gt;&lt;br /&gt;self.api_url = (&lt;br /&gt;&lt;br /&gt;"https://api.open-meteo.com/v1/forecast?"&lt;br /&gt;&lt;br /&gt;f"latitude={self.latitude}&amp;longitude={self.longitude}"&lt;br /&gt;&lt;br /&gt;"&amp;hourly=temperature_2m,precipitation,weathercode"&lt;br /&gt;&lt;br /&gt;"&amp;current_weather=true&amp;timezone=Europe%2FParis"&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;def get_weather(self):&lt;br /&gt;&lt;br /&gt;response = requests.get(self.api_url, timeout=10)&lt;br /&gt;&lt;br /&gt;data = response.json()&lt;br /&gt;&lt;br /&gt;return data.get("current_weather", {})&lt;br /&gt;&lt;br /&gt;def compute_weather_score(self, weather):&lt;br /&gt;&lt;br /&gt;wmo_scores = {&lt;br /&gt;&lt;br /&gt;0: 100, 1: 90, 2: 80, 3: 70, 45: 60, 48: 55,&lt;br /&gt;&lt;br /&gt;51: 50, 53: 45, 55: 40, 61: 35, 63: 25, 65: 15,&lt;br /&gt;&lt;br /&gt;71: 25, 73: 15, 75: 5, 95: 10, 99: 0,&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;temp = weather.get("temperature", 20)&lt;br /&gt;&lt;br /&gt;wind = weather.get("windspeed", 10)&lt;br /&gt;&lt;br /&gt;code = weather.get("weathercode", 0)&lt;br /&gt;&lt;br /&gt;base_score = wmo_scores.get(code, 60)&lt;br /&gt;&lt;br /&gt;if temp &lt; 0:&lt;br /&gt;&lt;br /&gt;temp_penalty = 30&lt;br /&gt;&lt;br /&gt;elif temp &lt; 10:&lt;br /&gt;&lt;br /&gt;temp_penalty = 15&lt;br /&gt;&lt;br /&gt;elif temp &gt; 30:&lt;br /&gt;&lt;br /&gt;temp_penalty = 20&lt;br /&gt;&lt;br /&gt;else:&lt;br /&gt;&lt;br /&gt;temp_penalty = 0&lt;br /&gt;&lt;br /&gt;wind_penalty = 0&lt;br /&gt;&lt;br /&gt;if wind &gt; 40:&lt;br /&gt;&lt;br /&gt;wind_penalty = 20&lt;br /&gt;&lt;br /&gt;elif wind &gt; 25:&lt;br /&gt;&lt;br /&gt;wind_penalty = 10&lt;br /&gt;&lt;br /&gt;score = base_score - temp_penalty - wind_penalty&lt;br /&gt;&lt;br /&gt;return round(max(0, min(100, score)))&lt;br /&gt;&lt;br /&gt;import requests&lt;br /&gt;&lt;br /&gt;import json&lt;br /&gt;&lt;br /&gt;class TrafficRepository:&lt;br /&gt;&lt;br /&gt;BASE_URL = "https://data.bordeaux-metropole.fr/geojson"&lt;br /&gt;&lt;br /&gt;def __init__(self, api_key="2HH8S7FKPP", typename="ci_trafi_l"):&lt;br /&gt;&lt;br /&gt;self.api_key = api_key&lt;br /&gt;&lt;br /&gt;self.typename = typename&lt;br /&gt;&lt;br /&gt;def get_traffic_by_gid(self, gid=2215):&lt;br /&gt;&lt;br /&gt;params = {&lt;br /&gt;&lt;br /&gt;"key": self.api_key,&lt;br /&gt;&lt;br /&gt;"typename": self.typename,&lt;br /&gt;&lt;br /&gt;"filter": json.dumps({"gid": gid}),&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;response = requests.get(self.BASE_URL, params=params, timeout=10)&lt;br /&gt;&lt;br /&gt;if response.status_code != 200:&lt;br /&gt;&lt;br /&gt;raise Exception(f"Erreur API {response.status_code} : {response.text}")&lt;br /&gt;&lt;br /&gt;return response.json()&lt;br /&gt;&lt;br /&gt;def compute_traffic_score(self, traffic_data):&lt;br /&gt;&lt;br /&gt;features = traffic_data.get("features", [])&lt;br /&gt;&lt;br /&gt;if not features:&lt;br /&gt;&lt;br /&gt;return 50&lt;br /&gt;&lt;br /&gt;props = features[0].get("properties", {})&lt;br /&gt;&lt;br /&gt;etat = props.get("etat_trafic") or props.get("etat") or "INCONNU"&lt;br /&gt;&lt;br /&gt;mapping = {"FLUIDE": 100, "RALENTI": 70, "EMBOUTEILLE": 30, "INCONNU": 50}&lt;br /&gt;&lt;br /&gt;return mapping.get(etat.upper(), 50)&lt;br /&gt;&lt;br /&gt;import requests&lt;br /&gt;&lt;br /&gt;import json&lt;br /&gt;&lt;br /&gt;from datetime import datetime, timezone&lt;br /&gt;&lt;br /&gt;class TbmRepository:&lt;br /&gt;&lt;br /&gt;BASE_URL = "https://data.bordeaux-metropole.fr/geojson"&lt;br /&gt;&lt;br /&gt;def __init__(self, api_key="2HH8S7FKPP", arret_id=4037):&lt;br /&gt;&lt;br /&gt;self.api_key = api_key&lt;br /&gt;&lt;br /&gt;self.arret_id = arret_id&lt;br /&gt;&lt;br /&gt;def get_next_tram(self, max_results=100):&lt;br /&gt;&lt;br /&gt;params = {&lt;br /&gt;&lt;br /&gt;"key": self.api_key,&lt;br /&gt;&lt;br /&gt;"typename": "sv_horai_a",&lt;br /&gt;&lt;br /&gt;"filter": json.dumps({"rs_sv_arret_p": self.arret_id}),&lt;br /&gt;&lt;br /&gt;"orderby": json.dumps(["hor_theo"]),&lt;br /&gt;&lt;br /&gt;"maxfeatures": max_results&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;response = requests.get(self.BASE_URL, params=params)&lt;br /&gt;&lt;br /&gt;response.raise_for_status()&lt;br /&gt;&lt;br /&gt;data = response.json()&lt;br /&gt;&lt;br /&gt;now = datetime.now(timezone.utc)&lt;br /&gt;&lt;br /&gt;for feature in data.get("features", []):&lt;br /&gt;&lt;br /&gt;props = feature.get("properties", {})&lt;br /&gt;&lt;br /&gt;hor_theo = props.get("hor_theo")&lt;br /&gt;&lt;br /&gt;if not hor_theo:&lt;br /&gt;&lt;br /&gt;continue&lt;br /&gt;&lt;br /&gt;try:&lt;br /&gt;&lt;br /&gt;tram_time = datetime.fromisoformat(hor_theo)&lt;br /&gt;&lt;br /&gt;except ValueError:&lt;br /&gt;&lt;br /&gt;continue&lt;br /&gt;&lt;br /&gt;if tram_time &gt; now:&lt;br /&gt;&lt;br /&gt;diff_sec = int((tram_time - now).total_seconds())&lt;br /&gt;&lt;br /&gt;return {"heure": tram_time, "seconds": diff_sec, "etat": props.get("etat"), "type": props.get("type")}&lt;br /&gt;&lt;br /&gt;return None&lt;br /&gt;&lt;br /&gt;from AQIRepository import AQIRepository&lt;br /&gt;&lt;br /&gt;from MeteoRepository import MeteoRepository&lt;br /&gt;&lt;br /&gt;from TrafficRepository import TrafficRepository&lt;br /&gt;&lt;br /&gt;from TramRepository import TbmRepository&lt;br /&gt;&lt;br /&gt;from fastapi import FastAPI&lt;br /&gt;&lt;br /&gt;app = FastAPI()&lt;br /&gt;&lt;br /&gt;@app.get("/")&lt;br /&gt;&lt;br /&gt;def read_root():&lt;br /&gt;&lt;br /&gt;longitude = -0.5935101&lt;br /&gt;&lt;br /&gt;latitude = 44.8538665&lt;br /&gt;&lt;br /&gt;borneTraficGID = 2215&lt;br /&gt;&lt;br /&gt;Aqirepo = AQIRepository()&lt;br /&gt;&lt;br /&gt;categories = Aqirepo.scrape_categories()&lt;br /&gt;&lt;br /&gt;aqi, details = Aqirepo.compute_aqi(categories)&lt;br /&gt;&lt;br /&gt;meteo = MeteoRepository(latitude=latitude, longitude=longitude)&lt;br /&gt;&lt;br /&gt;weather = meteo.get_weather()&lt;br /&gt;&lt;br /&gt;score_M = meteo.compute_weather_score(weather)&lt;br /&gt;&lt;br /&gt;traffic = TrafficRepository()&lt;br /&gt;&lt;br /&gt;data = traffic.get_traffic_by_gid(borneTraficGID)&lt;br /&gt;&lt;br /&gt;score_T = traffic.compute_traffic_score(data)&lt;br /&gt;&lt;br /&gt;tbm = TbmRepository(arret_id=4037)&lt;br /&gt;&lt;br /&gt;prochain = tbm.get_next_tram()&lt;br /&gt;&lt;br /&gt;if prochain and 'seconds' in prochain:&lt;br /&gt;&lt;br /&gt;TP_seconds = prochain['seconds']&lt;br /&gt;&lt;br /&gt;else:&lt;br /&gt;&lt;br /&gt;TP_seconds = 3600&lt;br /&gt;&lt;br /&gt;max_tp_seconds = 3600&lt;br /&gt;&lt;br /&gt;TP_score = max(0, min(100, 100 - (TP_seconds / max_tp_seconds) * 100))&lt;br /&gt;&lt;br /&gt;IMR = (&lt;br /&gt;&lt;br /&gt;0.4 * (100 - aqi) +&lt;br /&gt;&lt;br /&gt;0.3 * (100 - score_T) +&lt;br /&gt;&lt;br /&gt;0.2 * TP_score +&lt;br /&gt;&lt;br /&gt;0.1 * score_M&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;return {"IMR": round(IMR, 1)}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;/nowiki&gt;</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Bois, LED, papier transparent, éléments imprimés en 3D, ainsi que des cartes électroniques(Arduino ) pour la rotation et l’éclairage des LED.</property:Step_Content>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Comprendre le terme ( Mobilité de transport commun)</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recherche dans les sources disponibles</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Élaboration d’un schéma préliminaire</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Choisir les matériaux pour la maquette</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Monter les éléments de la maquette et effectuer les tests</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Programmation sur Python</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Vidéo final</property:Step_Title>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Pollution</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">transport</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">mobilité</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">qualité de l’air</property:Tags>
		<property:Has_query rdf:resource="&wiki;Mobi_BOX-23_QUERY4411759db49d23165aecb2c6e65d37bd"/>
		<property:Has_query rdf:resource="&wiki;Mobi_BOX-23_QUERY8b8377aaeb38545d2fce25ac1d4058e9"/>
		<property:Has_query rdf:resource="&wiki;Mobi_BOX-23_QUERYd9dc4b1b9d3e7e5df81315ed91c8d5ba"/>
		<property:Has_query rdf:resource="&wiki;Mobi_BOX-23_QUERY4e076c3fe2dbaf42d8fc4d4561714a06"/>
		<property:Has_query rdf:resource="&wiki;Mobi_BOX-23_QUERY25e017356fa7048cf937f1ef469c3fc2"/>
		<property:Has_query rdf:resource="&wiki;Mobi_BOX-23_QUERYaed63e1f6214d19eb561ba1eae2257ca"/>
		<swivt:wikiPageModificationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-05-30T12:12:57Z</swivt:wikiPageModificationDate>
		<property:Modification_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2461191.0089931</property:Modification_date-23aux>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi BOX</swivt:wikiPageSortKey>
		<property:Comments rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Comments>
		<property:Page_creator rdf:resource="&wiki;Utilisateur-3AAYOUB"/>
		<property:I_did_it rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:I_did_it>
		<property:Favorites rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Favorites>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Mobi_BOX-23_QUERY4411759db49d23165aecb2c6e65d37bd">
		<swivt:masterPage rdf:resource="&wiki;Mobi_BOX"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:Item:Découpeuse laser]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi BOX# QUERY4411759db49d23165aecb2c6e65d37bd</swivt:wikiPageSortKey>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Mobi_BOX-23_QUERY8b8377aaeb38545d2fce25ac1d4058e9">
		<swivt:masterPage rdf:resource="&wiki;Mobi_BOX"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:Item:Moteur électrique]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi BOX# QUERY8b8377aaeb38545d2fce25ac1d4058e9</swivt:wikiPageSortKey>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Mobi_BOX-23_QUERYd9dc4b1b9d3e7e5df81315ed91c8d5ba">
		<swivt:masterPage rdf:resource="&wiki;Mobi_BOX"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:Item:Imprimante 3D]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi BOX# QUERYd9dc4b1b9d3e7e5df81315ed91c8d5ba</swivt:wikiPageSortKey>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Mobi_BOX-23_QUERY4e076c3fe2dbaf42d8fc4d4561714a06">
		<swivt:masterPage rdf:resource="&wiki;Mobi_BOX"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:Item:LED]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi BOX# QUERY4e076c3fe2dbaf42d8fc4d4561714a06</swivt:wikiPageSortKey>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Mobi_BOX-23_QUERY25e017356fa7048cf937f1ef469c3fc2">
		<swivt:masterPage rdf:resource="&wiki;Mobi_BOX"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:Item:Boite en carton]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi BOX# QUERY25e017356fa7048cf937f1ef469c3fc2</swivt:wikiPageSortKey>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Mobi_BOX-23_QUERYaed63e1f6214d19eb561ba1eae2257ca">
		<swivt:masterPage rdf:resource="&wiki;Mobi_BOX"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:Item:ESP32]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Mobi BOX# QUERYaed63e1f6214d19eb561ba1eae2257ca</swivt:wikiPageSortKey>
	</swivt:Subject>
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#creationDate" />
	<owl:Class rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Category-3ATutorials" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#page" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiNamespace" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageContentLanguage" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AApplications" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AAvertissement" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AComplete" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ADescription" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ADifficulty" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ADisciplines_scientifiques" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ADuration" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ADuration-2Dtype" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AExplanations" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AIntroduction" />
	<owl:ObjectProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AItem" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ALicences" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AMain_Picture" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ANotes" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AObjectives" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AObservations" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ARelated" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AStep_Content" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AStep_Title" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3ATags" />
	<owl:ObjectProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AHas_query" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageModificationDate" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AModification_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageSortKey" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AComments" />
	<owl:ObjectProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3APage_creator" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AI_did_it" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AFavorites" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#masterPage" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AQuery_depth" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AQuery_format" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AQuery_size" />
	<owl:DatatypeProperty rdf:about="http://https://www.wikidebrouillard.org/wiki/Special:URIResolver/Property-3AQuery_string" />
	<!-- Created by Semantic MediaWiki, https://www.semantic-mediawiki.org/ -->
</rdf:RDF>