<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki-se.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kelbachi</id>
	<title>wiki-se.plil.fr - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-se.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kelbachi"/>
	<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Kelbachi"/>
	<updated>2026-04-17T00:59:19Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11965</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11965"/>
		<updated>2026-01-30T11:32:46Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
='''Aeger Aether'''=&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanim - Rouge Cendre &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux|centré|600x600px]]&lt;br /&gt;
&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique|centré|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025|centré|600x600px]]&lt;br /&gt;
&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.  &lt;br /&gt;
&lt;br /&gt;
Chaymae a travaillé sur l'importation des données dans le code Arduino via un tableau qu'elle a recrée.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature. &lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur|gauche]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière (toujours selon données), après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaoutar a crée un montage de six leds qui constituera une grappe. Je reproduirais le montage afin d'éclairer la pièce à différents endroits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led|gauche]]&lt;br /&gt;
[[Fichier:Montage Led.jpg|vignette|310x310px|Montage Led]]&lt;br /&gt;
[[Fichier:Test effectif.mp4|vignette|Test|centré]]&lt;br /&gt;
Le montage et la programmation sont effectives, l'humidificateur réagit aux valeurs au dessus d'un certain seuil d'émission, la lumière varie en fonction des variations d'émissions également. &lt;br /&gt;
[[Fichier:Test effectif Humidificateur et Led.png|centré|vignette|1062x1062px]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11956</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11956"/>
		<updated>2026-01-30T10:59:39Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
='''Aeger Aether'''=&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanim - Rouge Cendre &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux|centré|600x600px]]&lt;br /&gt;
&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique|centré|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Kaoutar et Chaymae.jpg|vignette|Chaymae et Kaoutar programmation]]&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025|centré]]&lt;br /&gt;
&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.  &lt;br /&gt;
&lt;br /&gt;
Chaymae a travaillé sur l'importation des données dans le code Arduino via un tableau qu'elle a recrée.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature. &lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur|gauche]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière (toujours selon données), après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaoutar a crée un montage de six leds qui constituera une grappe. Je reproduirais le montage afin d'éclairer la pièce à différents endroits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led|gauche]]&lt;br /&gt;
[[Fichier:Montage Led.jpg|vignette|310x310px|Montage Led]]&lt;br /&gt;
[[Fichier:Test effectif.mp4|vignette|Test]]&lt;br /&gt;
Le montage et la programmation sont effectives, l'humidificateur réagit aux valeurs au dessus d'un certain seuil d'émission, la lumière varie en fonction des variations d'émissions également. &lt;br /&gt;
[[Fichier:Test effectif Humidificateur et Led.png|centré|vignette|1062x1062px]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Montage_Led.jpg&amp;diff=11955</id>
		<title>Fichier:Montage Led.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Montage_Led.jpg&amp;diff=11955"/>
		<updated>2026-01-30T10:58:52Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;montage led&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11952</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11952"/>
		<updated>2026-01-30T10:48:05Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* Aeger Aether */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
='''Aeger Aether'''=&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanim - Rouge Cendre &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux|centré|600x600px]]&lt;br /&gt;
&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique|centré|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Kaoutar et Chaymae.jpg|vignette|Chaymae et Kaoutar programmation]]&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025|centré]]&lt;br /&gt;
&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.  &lt;br /&gt;
&lt;br /&gt;
Chaymae a travaillé sur l'importation des données dans le code Arduino via un tableau qu'elle a recrée.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature. &lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur|gauche]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière (toujours selon données), après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaoutar a crée un montage de six leds qui constituera une grappe. Je reproduirais le montage afin d'éclairer la pièce à différents endroits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led|gauche]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led|414x414px]]&lt;br /&gt;
[[Fichier:Test effectif.mp4|centré|vignette|Test]]&lt;br /&gt;
Le montage et la programmation sont effectives, l'humidificateur réagit aux valeurs au dessus d'un certain seuil d'émission, la lumière varie en fonction des variations d'émissions également. &lt;br /&gt;
[[Fichier:Test effectif Humidificateur et Led.png|centré|vignette|1062x1062px]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Test_effectif_Humidificateur_et_Led.png&amp;diff=11949</id>
		<title>Fichier:Test effectif Humidificateur et Led.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Test_effectif_Humidificateur_et_Led.png&amp;diff=11949"/>
		<updated>2026-01-30T10:43:49Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test effectif&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Test_effectif.mp4&amp;diff=11946</id>
		<title>Fichier:Test effectif.mp4</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Test_effectif.mp4&amp;diff=11946"/>
		<updated>2026-01-30T10:40:58Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test effectif&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Capture_d%E2%80%99%C3%A9cran_2026-01-27_%C3%A0_07.10.50.png&amp;diff=11940</id>
		<title>Fichier:Capture d’écran 2026-01-27 à 07.10.50.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Capture_d%E2%80%99%C3%A9cran_2026-01-27_%C3%A0_07.10.50.png&amp;diff=11940"/>
		<updated>2026-01-30T10:34:41Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;capture&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Arts_et_sciences_2025/2026&amp;diff=11939</id>
		<title>Arts et sciences 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Arts_et_sciences_2025/2026&amp;diff=11939"/>
		<updated>2026-01-30T10:32:02Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Cette page retrace le parcours du module qui se déroule en janvier pendant une semaine à l'[https://www.esa-n.info/ Esä] et au Fabricarium et s'achève par la production d'une documentation (les pages de ce wiki) et d'une soutenance portant sur chacun des projets développés par les binômes. Expérimentations sur les matériaux, programmation, systèmes embarqués, électronique, modélisation, impression 3D, robotisation, microscopie, chimie, etc. sont autant d'éléments mis en œuvre pendant la semaine. Pour l'Esä, ce module s'inscrit dans le parcours Arts et Sciences Prist https://prist-esanpdc.fr/ qui développe cette année une réflexions sur le Mondes sauvages.&lt;br /&gt;
&lt;br /&gt;
'''Le vernissage de l'exposition''' présentant l'aboutissement des projets des étudiant·e·s aura lieu le '''26 mars 2026''' à 18h à la '''Galerie Commune''' de l'Esä, 36 bis rue des Ursulines à Tourcoing.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:2025_equipe.jpg|centré|800px|L'équipe du Module, décembre 2025]]&lt;br /&gt;
L'équipe du Module, janvier 2025, dans le hall de Polytech.&lt;br /&gt;
&lt;br /&gt;
= Répartition des binômes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Titre de l'œuvre !! Elève Esä !! Elève(s) Polytech Lille&lt;br /&gt;
|-&lt;br /&gt;
| Jardin sur la métropole || Axelle Dussart || Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
| Avatar || Valentin Luce || Ahmed Bergadi&lt;br /&gt;
|-&lt;br /&gt;
| Le canivet ||  Adele	Descamps || &lt;br /&gt;
|-&lt;br /&gt;
| Cartographie Sauvage ||  Alana Gibson || Anthony Moreau&lt;br /&gt;
|-&lt;br /&gt;
| T4T || Beluna 	 Larionov || Léa Hanotel - Fabien Jonckeere&lt;br /&gt;
|-&lt;br /&gt;
| Aether Aeger || Rouge Cendre || Kaoutar El Bachiri - Chaymae Rhanim&lt;br /&gt;
|-&lt;br /&gt;
| Sans titre || Mary Costeaux || Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| L’esprit qu’on Jette || Daria Karpova || &lt;br /&gt;
|-&lt;br /&gt;
| Sans titre (Apoapsis) || Elies El Ferroun-Panier || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
| Peau d’Humus || Emilie Beve || Hanotel Léa / Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
| Le Masque de Pouvoir des Enfants Sauvages || Shuqi Huang || &lt;br /&gt;
|-&lt;br /&gt;
| Barbare || Lamis Madaci || Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| Micromonde || Louison Pavie || Jules Cateaux&lt;br /&gt;
|-&lt;br /&gt;
| Champ d’agrainage || Madeleine Gobeaut|| Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
| Habiter en oiseau || Maya Denudt || Nithesh Sivalinganathan&lt;br /&gt;
|-&lt;br /&gt;
|  || Naomi	Verpraet || Léa Hanotel - Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
| Cumulus Specimen N°1 || Nadim	Halabi || &lt;br /&gt;
|-&lt;br /&gt;
| La terre attend || Nicolas Markovic || &lt;br /&gt;
|-&lt;br /&gt;
| || Pauline Aranda || Léa Hanotel - Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| Glassbound Ecosystem || Pauline Dewitte || Quentin Berthod&lt;br /&gt;
|-&lt;br /&gt;
| Fera Foris || Sandro	Demay ||&lt;br /&gt;
|-&lt;br /&gt;
| Gone || Kaylian Chipotel || &lt;br /&gt;
|-&lt;br /&gt;
| La respiration de la matière || Woohyeok Choi || &lt;br /&gt;
|-&lt;br /&gt;
| Étreinte sonore || Yohan Paratian || &lt;br /&gt;
|-&lt;br /&gt;
| Prima facie || Jade Segond || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Déroulé de la co-création =&lt;br /&gt;
&lt;br /&gt;
== Lundi 26 janvier : ==&lt;br /&gt;
[[Fichier:Journée d'ouverture du module.jpg|centré|vignette|564x564px|[[Fichier:Présentation des projets.jpg|vignette|581x581px]]]]&lt;br /&gt;
&lt;br /&gt;
=== Présentation générale ===&lt;br /&gt;
&lt;br /&gt;
Présentation des projets des étudiant·e·s de l'Esä dans la Salle 36 bis, autour d'un café et devant les dossiers préparés pour cette rencontre ; ici l'objectif est de vriser la glace entre les deux formations, de construire et de renforcer les liens pour que le reste de la semaine puisse être consacrée à la réalisation concrète des productions plastiques souvent complexes et expérimentales.&lt;br /&gt;
[[Fichier:Présentation du projet par Mary Costaud.jpg|vignette|548x548px]]&lt;br /&gt;
[[Fichier:Journée d'ouverture.jpg|centré|sans_cadre|534x534px|&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:Journée d'ouverture du module.jpg|alt=Journée d'ouverture&lt;br /&gt;
Fichier:Première rencontre entre les étudiant-es de l'Esä et de Polytech'Lille.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mise en place des groupes des binômes entre étudiant·e·s de l'Esä et de Polytech'Lille&lt;br /&gt;
=== Présentation et visite de l'Esä en petits groupes, par les étudiant·e·s  de l'Esä ===&lt;br /&gt;
12h00 - 13h00&lt;br /&gt;
&lt;br /&gt;
==== Bibliothèque ====&lt;br /&gt;
[[Fichier:Bibliothèque.jpg|centré|vignette|573x573px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier métal ====&lt;br /&gt;
[[Fichier:Atelier.jpg|[[Fichier:Atelier photographie argentique.jpg|vignette]][[Fichier:Rouge Cendre.jpg|vignette]]Atelier métal, Esä|centré|551x551px|bordure|sans_cadre]]&lt;br /&gt;
[[Fichier:Atelier métal.jpg|centré|vignette|500x500px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier son ====&lt;br /&gt;
[[Fichier:Son.jpg|centré|sans_cadre|555x555px|[[Fichier:Atelier son - Esä.jpg|alt=Atelier son Esä|centré|vignette|500x500px]][[Fichier:Atelier son.jpg|centré|vignette|500x500px]]Atelier son]]&lt;br /&gt;
[[Fichier:Atelier son - Esä.jpg|centré|vignette|500x500px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier photographie argentique ====&lt;br /&gt;
[[Fichier:Atelier photographie argentique.jpg|vignette|620x620px|centré]]&lt;br /&gt;
[[Fichier:Argentique.jpg|vignette|407x407px|centré]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Atelier modelage ====&lt;br /&gt;
[[Fichier:Modelage.jpg|centré|sans_cadre|573x573px|modelage]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier peinture ====&lt;br /&gt;
[[Fichier:Atelier peinture.jpg|centré|sans_cadre|597x597px]]&lt;br /&gt;
&lt;br /&gt;
==== Jardin écologique ====&lt;br /&gt;
[[Fichier:2023_ArtScience_Visite-jardin.jpg|446x446px|center|Espace jardin|sans_cadre]]&lt;br /&gt;
&lt;br /&gt;
=== Atelier Créatif  : travail autour de la thématique de la glace ===&lt;br /&gt;
[[Fichier:Glace.jpg|gauche|vignette]]&lt;br /&gt;
Présentation et discussion animées par Hugo Dïner  &lt;br /&gt;
&lt;br /&gt;
Les étudiants se regroupent par équipe et ont deux heures pour produire une œuvre (tout type accepté).&lt;br /&gt;
[[Fichier:Briser la glace.jpg|centré|vignette]]&lt;br /&gt;
[[Fichier:Danse.jpg|centré|vignette|498x498px]]&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 janvier au vendredi 30 janvier ==&lt;br /&gt;
[[Fichier:Avec Alexandre Boé.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
== Vendredi 30 janvier ==&lt;br /&gt;
Présentation des projets devant le jury composé de : &lt;br /&gt;
&lt;br /&gt;
* Hugo Diner&lt;br /&gt;
* Fabien Jonckheere&lt;br /&gt;
* Alexandre Boé&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Réalisation au Fabricarium.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
=Cahiers de travail= &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Cahier!!Nom du projet !! Elève Esä!!Elève(s) Polytech Lille&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2025 E0 | Cahier n°0]]|| Micromonde || Louison Pavie ||Jules Cateaux&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E1 | Cahier n°1]]|| Avatar || Valentin Luce || Ahmed bergadi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E2 | Cahier n°2]]|| T4T || Beluna Larionov || Léa Hanotel - Fabien Jonckeere&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E3 | Cahier n°3]]|| Champ d’agrainage || Madeleine Gobeaut || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E4 | Cahier n°4]]|| || Pauline Aranda || Léa Hanotel - Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E5 | Cahier n°5]]|| Habiter en oiseau || Maya Denudt || Nithesh Sivalinganathan&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E6 | Cahier n°6]]|| Peau d’Humus || Emilie Beve || Léa Hanotel - Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E7 | Cahier n°7]]|| Jardin sur la nécropole || Axelle Dussart || Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E8 | Cahier n°8]]|| Sans titre (Apoapsis)|| Elies El Ferroun-Panier || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E9 | Cahier n°9]]|| Fera Foris || Sandro Demay ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E10 | Cahier n°10]]|| Etreinte sonore || Yohan Paratian || Thomas Volkamer - Louis Delahaye&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E11 | Cahier n°11]]|| || Naomi Verpraet || Léa Hanotel - Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E12 | Cahier n°12]]|| La Terre Attend || Nicolas Markovic || Louis Delahaye&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E13 | Cahier n°13]]|| Glassbound Ecosystem || Pauline Dewitte || Quentin Berthod&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E14 | Cahier n°14]]|| Sans titre|| Woohyeok CHOI|| Chaymae RHANIM&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E15 | Cahier n°15]]|| Aeger Aether || Rouge Cendre || Kaoutar El Bachiri - Chaymae Rhanim&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E16 | Cahier n°16]]|| Cartographie sauvage || Alana GIBSON || Anthony MOREAU&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E17 | Cahier n°17]]|| Le masque de Pouvoir des enfants sauvages || Shuqi HUANG || Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E18 | Cahier n°18]]|| prima facie || Segond Jade || Benjamin Klein&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E19 | Cahier n°19]]|| ||  || &lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E20 | Cahier n°20]]|| Sans titre||  Mary Costeaux|| Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E21 | Cahier n°21]]|| Barbare||  Lamis Madaci||Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E22 | Cahier n°22]]|| Le Canivet||  Adèle Descamps||Augustin Bernard&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E23 | Cahier n°23]]|| ||  ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E24 | Cahier n°24]] || ||  ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Remerciements à ReX pour le Wiki =&lt;br /&gt;
&lt;br /&gt;
C'est pas beau de flatter les gens :p :p :p, réponse : si si (et je ne parle pas de l'impératrice)&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E21&amp;diff=11937</id>
		<title>Art Sciences 2025/2026 E21</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E21&amp;diff=11937"/>
		<updated>2026-01-30T10:25:51Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet de fausse peau à tatouer&lt;br /&gt;
&lt;br /&gt;
Mardi 27 janvier :&lt;br /&gt;
&lt;br /&gt;
-Recherche avec Kaoutar de pompe à air permettant de gonfler un ballon et de reproduire un battement de cœur à insérer derrière la peau &lt;br /&gt;
&lt;br /&gt;
-Rendez vous avec les chercheurs bioplastique bâtiments C9&lt;br /&gt;
[[Fichier:220DA6A3-32C5-4B14-B9A3-C6E27B240F10.jpg|vignette|Structure de moule pour peau]]&lt;br /&gt;
-Essaie de différentes recettes bioplastique &lt;br /&gt;
&lt;br /&gt;
Mercredi 28 janvier :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Kaoutar cherche et trouve système de pompe en impression 3D &lt;br /&gt;
&lt;br /&gt;
- Kaoutar Imprime les éléments nécessaire au projets,fait la programmation et trouve le moteur &lt;br /&gt;
&lt;br /&gt;
-achat de seringues pour la pompe &lt;br /&gt;
[[Fichier:212673E4-DC17-48F6-B21A-E8A148D1A1F7.jpg|vignette|Essaies bioplastique ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création d un moule rectangulaire de 1m60 x 1m en bois, recouvert d' une bâche plastique pour couler le Bio - plastique (Image 1).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recette Bio - plastique : &lt;br /&gt;
[[Fichier:Fausse peau.jpg|vignette|Image 1]]&lt;br /&gt;
&lt;br /&gt;
Bioplastique &amp;quot;peau silicone&amp;quot; hybride&lt;br /&gt;
&lt;br /&gt;
* ﻿﻿Ingrédients&lt;br /&gt;
* ﻿﻿200 ml d'eau&lt;br /&gt;
* ﻿﻿40 ml de lait (optionnel mais donne un rendu plus peau/translucide)&lt;br /&gt;
* ﻿﻿15 g de gélatine en poudre (= 4-5 feuilles)&lt;br /&gt;
* ﻿﻿20 g de Maïzena&lt;br /&gt;
* ﻿﻿20 ml de glycérine végétale&lt;br /&gt;
* ﻿﻿(Optionnel) 1 c. à café d'huile végétale&lt;br /&gt;
* ﻿﻿(Optionnel) pigment / colorant alimentaire chair (11gouttes jaune/ 5 gouttes rouge/ 1 goutte bleue)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Questionnement sur la solidité du projet &lt;br /&gt;
[[Fichier:1C403077-4648-41AB-B0EF-8DD14C0F70FD.jpg|vignette|Peau Tatoué]]&lt;br /&gt;
[[Fichier:Pompe vidéo .mov|vignette|Système de pompe à ballon]]&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Idee de faire deux couches entre lesquelles nous mettrons un voilage ou maille en tissus pour tenir les matières et rendre le projet transportable pour le rendu de Mars&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-coulage d’une couche de bioplastique puis repos d’une nuit (séchage ) dans le moule &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-premier essaie de tatouage de bioplastique sur l’un des essais fait la veille&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeudi 29 janvier &lt;br /&gt;
&lt;br /&gt;
-Matification / poudrage à la maïzena du projet&lt;br /&gt;
&lt;br /&gt;
-Création de motif de veine au fards bleu/violet/rouge/vert&lt;br /&gt;
&lt;br /&gt;
- Premier croquis des symboles à tatouer &lt;br /&gt;
[[Fichier:F88C1627-BED3-44CB-84C7-CA83081F0D71.jpg|vignette]]&lt;br /&gt;
-Tatouage final de la peau &lt;br /&gt;
[[Fichier:6CB841FA-9A11-4D63-BB44-35C3F2F7A260.jpg|vignette|Essaie de tatouage]]&lt;br /&gt;
[[Fichier:33C214EF-B50A-486B-BBA6-E7170CF2A31C.jpg|vignette|coulage du bioplastique ]]&lt;br /&gt;
[[Fichier:ADE9FAF1-0852-4D6E-BF4C-C7205E4D816A.jpg|vignette|Veinure et precroquis avant tatouage ]]&lt;br /&gt;
[[Fichier:Pompe.jpg|vignette|Système de pompe à air à seringue pour ballon]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E21&amp;diff=11936</id>
		<title>Art Sciences 2025/2026 E21</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E21&amp;diff=11936"/>
		<updated>2026-01-30T10:24:54Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Projet de fausse peau à tatouer&lt;br /&gt;
&lt;br /&gt;
Mardi 27 janvier :&lt;br /&gt;
&lt;br /&gt;
-Recherche avec Kaoutar de pompe à air permettant de gonfler un ballon et de reproduire un battement de cœur à insérer derrière la peau &lt;br /&gt;
&lt;br /&gt;
-Rendez vous avec les chercheurs bioplastique bâtiments C9&lt;br /&gt;
[[Fichier:220DA6A3-32C5-4B14-B9A3-C6E27B240F10.jpg|vignette|Structure de moule pour peau]]&lt;br /&gt;
-Essaie de différentes recettes bioplastique &lt;br /&gt;
&lt;br /&gt;
Mercredi 28 janvier :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Kaoutar cherche et trouve système de pompe en impression 3D &lt;br /&gt;
&lt;br /&gt;
- Kaoutar Imprime les éléments nécessaire au projets,fait la programmation et trouve le moteur &lt;br /&gt;
&lt;br /&gt;
-achat de seringues pour la pompe &lt;br /&gt;
[[Fichier:212673E4-DC17-48F6-B21A-E8A148D1A1F7.jpg|vignette|Essaies bioplastique ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création d une moule rectangulaire de 1m60 x 1m en bois, recouvert d' une bâche plastique pour couler le Bio - plastique (Image 1).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recette Bio - plastique : &lt;br /&gt;
[[Fichier:Fausse peau.jpg|vignette|Image 1]]&lt;br /&gt;
&lt;br /&gt;
Bioplastique &amp;quot;peau silicone&amp;quot; hybride&lt;br /&gt;
&lt;br /&gt;
* ﻿﻿Ingrédients&lt;br /&gt;
* ﻿﻿200 ml d'eau&lt;br /&gt;
* ﻿﻿40 ml de lait (optionnel mais donne un rendu plus peau/translucide)&lt;br /&gt;
* ﻿﻿15 g de gélatine en poudre (= 4-5 feuilles)&lt;br /&gt;
* ﻿﻿20 g de Maïzena&lt;br /&gt;
* ﻿﻿20 ml de glycérine végétale&lt;br /&gt;
* ﻿﻿(Optionnel) 1 c. à café d'huile végétale&lt;br /&gt;
* ﻿﻿(Optionnel) pigment / colorant alimentaire chair (11gouttes jaune/ 5 gouttes rouge/ 1 goutte bleue)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Questionnement sur la solidité du projet &lt;br /&gt;
[[Fichier:1C403077-4648-41AB-B0EF-8DD14C0F70FD.jpg|vignette|Peau Tatoué]]&lt;br /&gt;
[[Fichier:Pompe vidéo .mov|vignette|Système de pompe à ballon]]&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Idee de faire deux couches entre lesquelles nous mettrons un voilage ou maille en tissus pour tenir les matières et rendre le projet transportable pour le rendu de Mars&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-coulage d’une couche de bioplastique puis repos d’une nuit (séchage ) dans le moule &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-premier essaie de tatouage de bioplastique sur l’un des essais fait la veille&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeudi 29 janvier &lt;br /&gt;
&lt;br /&gt;
-Matification / poudrage à la maïzena du projet&lt;br /&gt;
&lt;br /&gt;
-Création de motif de veine au fards bleu/violet/rouge/vert&lt;br /&gt;
&lt;br /&gt;
- Premier croquis des symboles à tatouer &lt;br /&gt;
[[Fichier:F88C1627-BED3-44CB-84C7-CA83081F0D71.jpg|vignette]]&lt;br /&gt;
-Tatouage final de la peau &lt;br /&gt;
[[Fichier:6CB841FA-9A11-4D63-BB44-35C3F2F7A260.jpg|vignette|Essaie de tatouage]]&lt;br /&gt;
[[Fichier:33C214EF-B50A-486B-BBA6-E7170CF2A31C.jpg|vignette|coulage du bioplastique ]]&lt;br /&gt;
[[Fichier:ADE9FAF1-0852-4D6E-BF4C-C7205E4D816A.jpg|vignette|Veinure et precroquis avant tatouage ]]&lt;br /&gt;
[[Fichier:Pompe.jpg|vignette|Système de pompe à air à seringue pour ballon]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Pompe_vid%C3%A9o_.mov&amp;diff=11924</id>
		<title>Fichier:Pompe vidéo .mov</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Pompe_vid%C3%A9o_.mov&amp;diff=11924"/>
		<updated>2026-01-30T10:15:06Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Système pompe vidéo&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Pompe.jpg&amp;diff=11923</id>
		<title>Fichier:Pompe.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Pompe.jpg&amp;diff=11923"/>
		<updated>2026-01-30T10:12:35Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pompe&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:1C403077-4648-41AB-B0EF-8DD14C0F70FD.jpg&amp;diff=11922</id>
		<title>Fichier:1C403077-4648-41AB-B0EF-8DD14C0F70FD.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:1C403077-4648-41AB-B0EF-8DD14C0F70FD.jpg&amp;diff=11922"/>
		<updated>2026-01-30T10:10:47Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Peau tatouer&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11917</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11917"/>
		<updated>2026-01-30T10:05:19Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanim - Rouge Cendre &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Kaoutar et Chaymae.jpg|vignette|Chaymae et Kaoutar programmation]]&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature. &lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière (toujours selon données), après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led]]&lt;br /&gt;
[[Fichier:Test .jpg|vignette|Test ]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11916</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11916"/>
		<updated>2026-01-30T10:04:17Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* Aeger Aether */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanim - Rouge Cendre &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Kaoutar et Chaymae.jpg|vignette|Chaymae et Kaoutar programmation]]&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature. &lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière (toujours selon données), après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led]]&lt;br /&gt;
[[Fichier:Test .jpg|vignette|Test ]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11915</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11915"/>
		<updated>2026-01-30T10:03:33Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* Aeger Aether */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanim - Rouge Cendre &lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Kaoutar et Chaymae.jpg|vignette|Chaymae et Kaoutar programmation]]&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature. &lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière (toujours selon données), après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led]]&lt;br /&gt;
[[Fichier:Test .jpg|vignette|Test ]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Test_.jpg&amp;diff=11914</id>
		<title>Fichier:Test .jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Test_.jpg&amp;diff=11914"/>
		<updated>2026-01-30T10:02:37Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;test&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Arts_et_sciences_2025/2026&amp;diff=11910</id>
		<title>Arts et sciences 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Arts_et_sciences_2025/2026&amp;diff=11910"/>
		<updated>2026-01-30T09:58:16Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Cette page retrace le parcours du module qui se déroule en janvier pendant une semaine à l'[https://www.esa-n.info/ Esä] et au Fabricarium et s'achève par la production d'une documentation (les pages de ce wiki) et d'une soutenance portant sur chacun des projets développés par les binômes. Expérimentations sur les matériaux, programmation, systèmes embarqués, électronique, modélisation, impression 3D, robotisation, microscopie, chimie, etc. sont autant d'éléments mis en œuvre pendant la semaine. Pour l'Esä, ce module s'inscrit dans le parcours Arts et Sciences Prist https://prist-esanpdc.fr/ qui développe cette année une réflexions sur le Mondes sauvages.&lt;br /&gt;
&lt;br /&gt;
'''Le vernissage de l'exposition''' présentant l'aboutissement des projets des étudiant·e·s aura lieu le '''26 mars 2026''' à 18h à la '''Galerie Commune''' de l'Esä, 36 bis rue des Ursulines à Tourcoing.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:2025_equipe.jpg|centré|800px|L'équipe du Module, décembre 2025]]&lt;br /&gt;
L'équipe du Module, janvier 2025, dans le hall de Polytech.&lt;br /&gt;
&lt;br /&gt;
= Répartition des binômes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Titre de l'œuvre !! Elève Esä !! Elève(s) Polytech Lille&lt;br /&gt;
|-&lt;br /&gt;
| Jardin sur la métropole || Axelle Dussart || Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
| Avatar || Valentin Luce || Ahmed Bergadi&lt;br /&gt;
|-&lt;br /&gt;
| Le canivet ||  Adele	Descamps || &lt;br /&gt;
|-&lt;br /&gt;
| Cartographie Sauvage ||  Alana Gibson || Anthony Moreau&lt;br /&gt;
|-&lt;br /&gt;
| T4T || Beluna 	 Larionov || Léa Hanotel - Fabien Jonckeere&lt;br /&gt;
|-&lt;br /&gt;
| Aether Anger || Rouge Cendre || Kaoutar El Bachiri - Chaymae Rhanim&lt;br /&gt;
|-&lt;br /&gt;
| Sans titre || Mary Costeaux || Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| L’esprit qu’on Jette || Daria Karpova || &lt;br /&gt;
|-&lt;br /&gt;
| Sans titre (Apoapsis) || Elies El Ferroun-Panier || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
| Peau d’Humus || Emilie Beve || Hanotel Léa / Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
| Le Masque de Pouvoir des Enfants Sauvages || Shuqi Huang || &lt;br /&gt;
|-&lt;br /&gt;
| Barbare || Lamis Madaci || Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| Micromonde || Louison Pavie || Jules Cateaux&lt;br /&gt;
|-&lt;br /&gt;
| Champ d’agrainage || Madeleine Gobeaut|| Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
| Habiter en oiseau || Maya Denudt || Nithesh Sivalinganathan&lt;br /&gt;
|-&lt;br /&gt;
|  || Naomi	Verpraet || Léa Hanotel - Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
| Cumulus Specimen N°1 || Nadim	Halabi || &lt;br /&gt;
|-&lt;br /&gt;
| La terre attend || Nicolas Markovic || &lt;br /&gt;
|-&lt;br /&gt;
| || Pauline Aranda || Léa Hanotel - Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| Glassbound Ecosystem || Pauline Dewitte || Quentin Berthod&lt;br /&gt;
|-&lt;br /&gt;
| Fera Foris || Sandro	Demay ||&lt;br /&gt;
|-&lt;br /&gt;
| Gone || Kaylian Chipotel || &lt;br /&gt;
|-&lt;br /&gt;
| La respiration de la matière || Woohyeok Choi || &lt;br /&gt;
|-&lt;br /&gt;
| Étreinte sonore || Yohan Paratian || &lt;br /&gt;
|-&lt;br /&gt;
| Prima facie || Jade Segond || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Déroulé de la co-création =&lt;br /&gt;
&lt;br /&gt;
== Lundi 26 janvier : ==&lt;br /&gt;
[[Fichier:Journée d'ouverture du module.jpg|centré|vignette|564x564px|[[Fichier:Présentation des projets.jpg|vignette|581x581px]]]]&lt;br /&gt;
&lt;br /&gt;
=== Présentation générale ===&lt;br /&gt;
&lt;br /&gt;
Présentation des projets des étudiant·e·s de l'Esä dans la Salle 36 bis, autour d'un café et devant les dossiers préparés pour cette rencontre ; ici l'objectif est de vriser la glace entre les deux formations, de construire et de renforcer les liens pour que le reste de la semaine puisse être consacrée à la réalisation concrète des productions plastiques souvent complexes et expérimentales.&lt;br /&gt;
[[Fichier:Présentation du projet par Mary Costaud.jpg|vignette|548x548px]]&lt;br /&gt;
[[Fichier:Journée d'ouverture.jpg|centré|sans_cadre|534x534px|&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:Journée d'ouverture du module.jpg|alt=Journée d'ouverture&lt;br /&gt;
Fichier:Première rencontre entre les étudiant-es de l'Esä et de Polytech'Lille.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mise en place des groupes des binômes entre étudiant·e·s de l'Esä et de Polytech'Lille&lt;br /&gt;
=== Présentation et visite de l'Esä en petits groupes, par les étudiant·e·s  de l'Esä ===&lt;br /&gt;
12h00 - 13h00&lt;br /&gt;
&lt;br /&gt;
==== Bibliothèque ====&lt;br /&gt;
[[Fichier:Bibliothèque.jpg|centré|vignette|573x573px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier métal ====&lt;br /&gt;
[[Fichier:Atelier.jpg|[[Fichier:Atelier photographie argentique.jpg|vignette]][[Fichier:Rouge Cendre.jpg|vignette]]Atelier métal, Esä|centré|551x551px|bordure|sans_cadre]]&lt;br /&gt;
[[Fichier:Atelier métal.jpg|centré|vignette|500x500px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier son ====&lt;br /&gt;
[[Fichier:Son.jpg|centré|sans_cadre|555x555px|[[Fichier:Atelier son - Esä.jpg|alt=Atelier son Esä|centré|vignette|500x500px]][[Fichier:Atelier son.jpg|centré|vignette|500x500px]]Atelier son]]&lt;br /&gt;
[[Fichier:Atelier son - Esä.jpg|centré|vignette|500x500px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier photographie argentique ====&lt;br /&gt;
[[Fichier:Atelier photographie argentique.jpg|vignette|620x620px|centré]]&lt;br /&gt;
[[Fichier:Argentique.jpg|vignette|407x407px|centré]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Atelier modelage ====&lt;br /&gt;
[[Fichier:Modelage.jpg|centré|sans_cadre|573x573px|modelage]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier peinture ====&lt;br /&gt;
[[Fichier:Atelier peinture.jpg|centré|sans_cadre|597x597px]]&lt;br /&gt;
&lt;br /&gt;
==== Jardin écologique ====&lt;br /&gt;
[[Fichier:2023_ArtScience_Visite-jardin.jpg|446x446px|center|Espace jardin|sans_cadre]]&lt;br /&gt;
&lt;br /&gt;
=== Atelier Créatif  : travail autour de la thématique de la glace ===&lt;br /&gt;
[[Fichier:Glace.jpg|gauche|vignette]]&lt;br /&gt;
Présentation et discussion animées par Hugo Dïner  &lt;br /&gt;
&lt;br /&gt;
Les étudiants se regroupent par équipe et ont deux heures pour produire une œuvre (tout type accepté).&lt;br /&gt;
[[Fichier:Briser la glace.jpg|centré|vignette]]&lt;br /&gt;
[[Fichier:Danse.jpg|centré|vignette|498x498px]]&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 janvier au vendredi 30 janvier ==&lt;br /&gt;
[[Fichier:Avec Alexandre Boé.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
== Vendredi 30 janvier ==&lt;br /&gt;
Présentation des projets devant le jury composé de : &lt;br /&gt;
&lt;br /&gt;
* Hugo Diner&lt;br /&gt;
* Fabien Jonckheere&lt;br /&gt;
* Alexandre Boé&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Réalisation au Fabricarium.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
=Cahiers de travail= &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Cahier!!Nom du projet !! Elève Esä!!Elève(s) Polytech Lille&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2025 E0 | Cahier n°0]]|| Micromonde || Louison Pavie ||Jules Cateaux&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E1 | Cahier n°1]]|| Avatar || Valentin Luce || Ahmed bergadi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E2 | Cahier n°2]]|| T4T || Beluna Larionov || Léa Hanotel - Fabien Jonckeere&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E3 | Cahier n°3]]|| Champ d’agrainage || Madeleine Gobeaut || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E4 | Cahier n°4]]|| || Pauline Aranda || Léa Hanotel - Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E5 | Cahier n°5]]|| Habiter en oiseau || Maya Denudt || Nithesh Sivalinganathan&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E6 | Cahier n°6]]|| Peau d’Humus || Emilie Beve || Léa Hanotel - Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E7 | Cahier n°7]]|| Jardin sur la nécropole || Axelle Dussart || Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E8 | Cahier n°8]]|| Sans titre (Apoapsis)|| Elies El Ferroun-Panier || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E9 | Cahier n°9]]|| Fera Foris || Sandro Demay ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E10 | Cahier n°10]]|| Etreinte sonore || Yohan Paratian || Thomas Volkamer - Louis Delahaye&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E11 | Cahier n°11]]|| || Naomi Verpraet || Léa Hanotel - Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E12 | Cahier n°12]]|| La Terre Attend || Nicolas Markovic || Louis Delahaye&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E13 | Cahier n°13]]|| Glassbound Ecosystem || Pauline Dewitte || Quentin Berthod&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E14 | Cahier n°14]]|| || Woohyeok CHOI|| Chaymae RHANIM&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E15 | Cahier n°15]]|| Aeger Aether || Rouge Cendre || Kaoutar El Bachiri - Chaymae Rhanim&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E16 | Cahier n°16]]|| Cartographie sauvage || Alana GIBSON || Anthony MOREAU&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E17 | Cahier n°17]]|| Le masque de Pouvoir des enfants sauvages || Shuqi HUANG || Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E18 | Cahier n°18]]|| prima facie || Segond Jade || Benjamin Klein&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E19 | Cahier n°19]]|| ||  || &lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E20 | Cahier n°20]]|| Sans titre||  Mary Costeaux|| Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E21 | Cahier n°21]]|| Barbare||  Lamis Madaci||Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E22 | Cahier n°22]]|| ||  ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E23 | Cahier n°23]]|| ||  ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E24 | Cahier n°24]] || ||  ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Remerciements à ReX pour le Wiki =&lt;br /&gt;
&lt;br /&gt;
C'est pas beau de flatter les gens :p :p :p, réponse : si si (et je ne parle pas de l'impératrice)&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Arts_et_sciences_2025/2026&amp;diff=11909</id>
		<title>Arts et sciences 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Arts_et_sciences_2025/2026&amp;diff=11909"/>
		<updated>2026-01-30T09:57:42Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
Cette page retrace le parcours du module qui se déroule en janvier pendant une semaine à l'[https://www.esa-n.info/ Esä] et au Fabricarium et s'achève par la production d'une documentation (les pages de ce wiki) et d'une soutenance portant sur chacun des projets développés par les binômes. Expérimentations sur les matériaux, programmation, systèmes embarqués, électronique, modélisation, impression 3D, robotisation, microscopie, chimie, etc. sont autant d'éléments mis en œuvre pendant la semaine. Pour l'Esä, ce module s'inscrit dans le parcours Arts et Sciences Prist https://prist-esanpdc.fr/ qui développe cette année une réflexions sur le Mondes sauvages.&lt;br /&gt;
&lt;br /&gt;
'''Le vernissage de l'exposition''' présentant l'aboutissement des projets des étudiant·e·s aura lieu le '''26 mars 2026''' à 18h à la '''Galerie Commune''' de l'Esä, 36 bis rue des Ursulines à Tourcoing.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:2025_equipe.jpg|centré|800px|L'équipe du Module, décembre 2025]]&lt;br /&gt;
L'équipe du Module, janvier 2025, dans le hall de Polytech.&lt;br /&gt;
&lt;br /&gt;
= Répartition des binômes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Titre de l'œuvre !! Elève Esä !! Elève(s) Polytech Lille&lt;br /&gt;
|-&lt;br /&gt;
| Jardin sur la métropole || Axelle Dussart || Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
| Avatar || Valentin Luce || Ahmed Bergadi&lt;br /&gt;
|-&lt;br /&gt;
| Le canivet ||  Adele	Descamps || &lt;br /&gt;
|-&lt;br /&gt;
| Cartographie Sauvage ||  Alana Gibson || Anthony Moreau&lt;br /&gt;
|-&lt;br /&gt;
| T4T || Beluna 	 Larionov || Léa Hanotel - Fabien Jonckeere&lt;br /&gt;
|-&lt;br /&gt;
| Aether Anger || Camille Rolin || Kaoutar Elbachi - Chaymae&lt;br /&gt;
|-&lt;br /&gt;
| Sans titre || Mary Costeaux || Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| L’esprit qu’on Jette || Daria Karpova || &lt;br /&gt;
|-&lt;br /&gt;
| Sans titre (Apoapsis) || Elies El Ferroun-Panier || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
| Peau d’Humus || Emilie Beve || Hanotel Léa / Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
| Le Masque de Pouvoir des Enfants Sauvages || Shuqi Huang || &lt;br /&gt;
|-&lt;br /&gt;
| Barbare || Lamis Madaci || Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| Micromonde || Louison Pavie || Jules Cateaux&lt;br /&gt;
|-&lt;br /&gt;
| Champ d’agrainage || Madeleine Gobeaut|| Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
| Habiter en oiseau || Maya Denudt || Nithesh Sivalinganathan&lt;br /&gt;
|-&lt;br /&gt;
|  || Naomi	Verpraet || Léa Hanotel - Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
| Cumulus Specimen N°1 || Nadim	Halabi || &lt;br /&gt;
|-&lt;br /&gt;
| La terre attend || Nicolas Markovic || &lt;br /&gt;
|-&lt;br /&gt;
| || Pauline Aranda || Léa Hanotel - Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
| Glassbound Ecosystem || Pauline Dewitte || Quentin Berthod&lt;br /&gt;
|-&lt;br /&gt;
| Fera Foris || Sandro	Demay ||&lt;br /&gt;
|-&lt;br /&gt;
| Gone || Kaylian Chipotel || &lt;br /&gt;
|-&lt;br /&gt;
| La respiration de la matière || Woohyeok Choi || &lt;br /&gt;
|-&lt;br /&gt;
| Étreinte sonore || Yohan Paratian || &lt;br /&gt;
|-&lt;br /&gt;
| Prima facie || Jade Segond || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Déroulé de la co-création =&lt;br /&gt;
&lt;br /&gt;
== Lundi 26 janvier : ==&lt;br /&gt;
[[Fichier:Journée d'ouverture du module.jpg|centré|vignette|564x564px|[[Fichier:Présentation des projets.jpg|vignette|581x581px]]]]&lt;br /&gt;
&lt;br /&gt;
=== Présentation générale ===&lt;br /&gt;
&lt;br /&gt;
Présentation des projets des étudiant·e·s de l'Esä dans la Salle 36 bis, autour d'un café et devant les dossiers préparés pour cette rencontre ; ici l'objectif est de vriser la glace entre les deux formations, de construire et de renforcer les liens pour que le reste de la semaine puisse être consacrée à la réalisation concrète des productions plastiques souvent complexes et expérimentales.&lt;br /&gt;
[[Fichier:Présentation du projet par Mary Costaud.jpg|vignette|548x548px]]&lt;br /&gt;
[[Fichier:Journée d'ouverture.jpg|centré|sans_cadre|534x534px|&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fichier:Journée d'ouverture du module.jpg|alt=Journée d'ouverture&lt;br /&gt;
Fichier:Première rencontre entre les étudiant-es de l'Esä et de Polytech'Lille.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mise en place des groupes des binômes entre étudiant·e·s de l'Esä et de Polytech'Lille&lt;br /&gt;
=== Présentation et visite de l'Esä en petits groupes, par les étudiant·e·s  de l'Esä ===&lt;br /&gt;
12h00 - 13h00&lt;br /&gt;
&lt;br /&gt;
==== Bibliothèque ====&lt;br /&gt;
[[Fichier:Bibliothèque.jpg|centré|vignette|573x573px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier métal ====&lt;br /&gt;
[[Fichier:Atelier.jpg|[[Fichier:Atelier photographie argentique.jpg|vignette]][[Fichier:Rouge Cendre.jpg|vignette]]Atelier métal, Esä|centré|551x551px|bordure|sans_cadre]]&lt;br /&gt;
[[Fichier:Atelier métal.jpg|centré|vignette|500x500px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier son ====&lt;br /&gt;
[[Fichier:Son.jpg|centré|sans_cadre|555x555px|[[Fichier:Atelier son - Esä.jpg|alt=Atelier son Esä|centré|vignette|500x500px]][[Fichier:Atelier son.jpg|centré|vignette|500x500px]]Atelier son]]&lt;br /&gt;
[[Fichier:Atelier son - Esä.jpg|centré|vignette|500x500px]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier photographie argentique ====&lt;br /&gt;
[[Fichier:Atelier photographie argentique.jpg|vignette|620x620px|centré]]&lt;br /&gt;
[[Fichier:Argentique.jpg|vignette|407x407px|centré]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Atelier modelage ====&lt;br /&gt;
[[Fichier:Modelage.jpg|centré|sans_cadre|573x573px|modelage]]&lt;br /&gt;
&lt;br /&gt;
==== Atelier peinture ====&lt;br /&gt;
[[Fichier:Atelier peinture.jpg|centré|sans_cadre|597x597px]]&lt;br /&gt;
&lt;br /&gt;
==== Jardin écologique ====&lt;br /&gt;
[[Fichier:2023_ArtScience_Visite-jardin.jpg|446x446px|center|Espace jardin|sans_cadre]]&lt;br /&gt;
&lt;br /&gt;
=== Atelier Créatif  : travail autour de la thématique de la glace ===&lt;br /&gt;
[[Fichier:Glace.jpg|gauche|vignette]]&lt;br /&gt;
Présentation et discussion animées par Hugo Dïner  &lt;br /&gt;
&lt;br /&gt;
Les étudiants se regroupent par équipe et ont deux heures pour produire une œuvre (tout type accepté).&lt;br /&gt;
[[Fichier:Briser la glace.jpg|centré|vignette]]&lt;br /&gt;
[[Fichier:Danse.jpg|centré|vignette|498x498px]]&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 janvier au vendredi 30 janvier ==&lt;br /&gt;
[[Fichier:Avec Alexandre Boé.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
== Vendredi 30 janvier ==&lt;br /&gt;
Présentation des projets devant le jury composé de : &lt;br /&gt;
&lt;br /&gt;
* Hugo Diner&lt;br /&gt;
* Fabien Jonckheere&lt;br /&gt;
* Alexandre Boé&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Réalisation au Fabricarium.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
=Cahiers de travail= &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Cahier!!Nom du projet !! Elève Esä!!Elève(s) Polytech Lille&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2025 E0 | Cahier n°0]]|| Micromonde || Louison Pavie ||Jules Cateaux&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E1 | Cahier n°1]]|| Avatar || Valentin Luce || Ahmed bergadi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E2 | Cahier n°2]]|| T4T || Beluna Larionov || Léa Hanotel - Fabien Jonckeere&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E3 | Cahier n°3]]|| Champ d’agrainage || Madeleine Gobeaut || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E4 | Cahier n°4]]|| || Pauline Aranda || Léa Hanotel - Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E5 | Cahier n°5]]|| Habiter en oiseau || Maya Denudt || Nithesh Sivalinganathan&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E6 | Cahier n°6]]|| Peau d’Humus || Emilie Beve || Léa Hanotel - Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E7 | Cahier n°7]]|| Jardin sur la nécropole || Axelle Dussart || Margaux Daguillanes&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E8 | Cahier n°8]]|| Sans titre (Apoapsis)|| Elies El Ferroun-Panier || Adrien Dautricourt&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E9 | Cahier n°9]]|| Fera Foris || Sandro Demay ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E10 | Cahier n°10]]|| Etreinte sonore || Yohan Paratian || Thomas Volkamer - Louis Delahaye&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E11 | Cahier n°11]]|| || Naomi Verpraet || Léa Hanotel - Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E12 | Cahier n°12]]|| La Terre Attend || Nicolas Markovic || Louis Delahaye&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E13 | Cahier n°13]]|| Glassbound Ecosystem || Pauline Dewitte || Quentin Berthod&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E14 | Cahier n°14]]|| || Woohyeok CHOI|| Chaymae RHANIM&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E15 | Cahier n°15]]|| Aeger Aether || Rouge Cendre || Kaoutar El Bachiri - Chaymae Rhanim&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E16 | Cahier n°16]]|| Cartographie sauvage || Alana GIBSON || Anthony MOREAU&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E17 | Cahier n°17]]|| Le masque de Pouvoir des enfants sauvages || Shuqi HUANG || Xilong ZHANG&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E18 | Cahier n°18]]|| prima facie || Segond Jade || Benjamin Klein&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E19 | Cahier n°19]]|| ||  || &lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E20 | Cahier n°20]]|| Sans titre||  Mary Costeaux|| Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E21 | Cahier n°21]]|| Barbare||  Lamis Madaci||Lina Hamdi&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E22 | Cahier n°22]]|| ||  ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E23 | Cahier n°23]]|| ||  ||&lt;br /&gt;
|-&lt;br /&gt;
|[[Art Sciences 2025/2026 E24 | Cahier n°24]] || ||  ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Remerciements à ReX pour le Wiki =&lt;br /&gt;
&lt;br /&gt;
C'est pas beau de flatter les gens :p :p :p, réponse : si si (et je ne parle pas de l'impératrice)&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:ADE9FAF1-0852-4D6E-BF4C-C7205E4D816A.jpg&amp;diff=11901</id>
		<title>Fichier:ADE9FAF1-0852-4D6E-BF4C-C7205E4D816A.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:ADE9FAF1-0852-4D6E-BF4C-C7205E4D816A.jpg&amp;diff=11901"/>
		<updated>2026-01-30T09:52:04Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Veinure&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:F88C1627-BED3-44CB-84C7-CA83081F0D71.jpg&amp;diff=11898</id>
		<title>Fichier:F88C1627-BED3-44CB-84C7-CA83081F0D71.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:F88C1627-BED3-44CB-84C7-CA83081F0D71.jpg&amp;diff=11898"/>
		<updated>2026-01-30T09:50:52Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Veinure et croquis&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:33C214EF-B50A-486B-BBA6-E7170CF2A31C.jpg&amp;diff=11895</id>
		<title>Fichier:33C214EF-B50A-486B-BBA6-E7170CF2A31C.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:33C214EF-B50A-486B-BBA6-E7170CF2A31C.jpg&amp;diff=11895"/>
		<updated>2026-01-30T09:49:52Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Coulage du projet&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:6CB841FA-9A11-4D63-BB44-35C3F2F7A260.jpg&amp;diff=11892</id>
		<title>Fichier:6CB841FA-9A11-4D63-BB44-35C3F2F7A260.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:6CB841FA-9A11-4D63-BB44-35C3F2F7A260.jpg&amp;diff=11892"/>
		<updated>2026-01-30T09:47:27Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Essaie&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Premi%C3%A8re_essaie_de_tatouage_.png&amp;diff=11891</id>
		<title>Fichier:Première essaie de tatouage .png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Premi%C3%A8re_essaie_de_tatouage_.png&amp;diff=11891"/>
		<updated>2026-01-30T09:46:25Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Première essai&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:220DA6A3-32C5-4B14-B9A3-C6E27B240F10.jpg&amp;diff=11888</id>
		<title>Fichier:220DA6A3-32C5-4B14-B9A3-C6E27B240F10.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:220DA6A3-32C5-4B14-B9A3-C6E27B240F10.jpg&amp;diff=11888"/>
		<updated>2026-01-30T09:31:33Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de moulage de la peau&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:212673E4-DC17-48F6-B21A-E8A148D1A1F7.jpg&amp;diff=11887</id>
		<title>Fichier:212673E4-DC17-48F6-B21A-E8A148D1A1F7.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:212673E4-DC17-48F6-B21A-E8A148D1A1F7.jpg&amp;diff=11887"/>
		<updated>2026-01-30T09:29:15Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Essaie bioplastique&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E19&amp;diff=11864</id>
		<title>Art Sciences 2025/2026 E19</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E19&amp;diff=11864"/>
		<updated>2026-01-30T08:37:30Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : Page créée avec « = Nadim Halabi - Hive Mind =  == Mardi 27 == État du projet initial  Après une série de tests réalisés avec Xilong, il est apparu que le projet initial nécessitait un nombre de composants plus important que prévu.  Problèmes rencontrés  * Besoin de composants supplémentaires * Dépassement du budget alloué au projet  Décision  Le projet initial a été annulé pour des raisons budgétaires.  Actions menées  * Participation ponctuelle et entraide aupr... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nadim Halabi - Hive Mind =&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 ==&lt;br /&gt;
État du projet initial&lt;br /&gt;
&lt;br /&gt;
Après une série de tests réalisés avec Xilong, il est apparu que le projet initial nécessitait un nombre de composants plus important que prévu.&lt;br /&gt;
&lt;br /&gt;
Problèmes rencontrés&lt;br /&gt;
&lt;br /&gt;
* Besoin de composants supplémentaires&lt;br /&gt;
* Dépassement du budget alloué au projet&lt;br /&gt;
&lt;br /&gt;
Décision&lt;br /&gt;
&lt;br /&gt;
Le projet initial a été annulé pour des raisons budgétaires.&lt;br /&gt;
&lt;br /&gt;
Actions menées&lt;br /&gt;
&lt;br /&gt;
* Participation ponctuelle et entraide auprès des autres groupes lorsque cela était possible&lt;br /&gt;
* Recherches et réflexions autour d’un nouveau projet alternatif, plus compatible avec les contraintes matérielles et financières&lt;br /&gt;
&lt;br /&gt;
== Mercredi 28 ==&lt;br /&gt;
Présentation du nouveau projet&lt;br /&gt;
&lt;br /&gt;
Présentation brève d’un nouveau projet basé sur un système de ventilateurs contrôlés électroniquement, visant à explorer des dynamiques de mouvement, de rythme et de variation de vitesse.&lt;br /&gt;
[[Fichier:Ventilo.jpg|vignette]]&lt;br /&gt;
Récupération et tests du matériel&lt;br /&gt;
&lt;br /&gt;
* Récupération de plusieurs ventilateurs&lt;br /&gt;
* Tests individuels de chaque ventilateur afin de :&lt;br /&gt;
** Vérifier leur bon fonctionnement&lt;br /&gt;
** Identifier d’éventuels défauts ou différences de comportement&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Conception technique&lt;br /&gt;
&lt;br /&gt;
* Début de la conception du circuit électronique du projet&lt;br /&gt;
* Décision de faire évoluer l’échelle du projet :&lt;br /&gt;
** Passage de 6 à 12 ventilateurs&lt;br /&gt;
** Cette évolution double la taille et l’impact du dispositif, tout en conservant la même logique de fonctionnement&lt;br /&gt;
**&lt;br /&gt;
&lt;br /&gt;
== Jeudi 29 ==&lt;br /&gt;
Tests électroniques&lt;br /&gt;
&lt;br /&gt;
* Réalisation des tests du circuit pour un seul ventilateur&lt;br /&gt;
* Mise en place d’un code de test permettant :&lt;br /&gt;
** L’accélération progressive&lt;br /&gt;
** La décélération&lt;br /&gt;
** L’arrêt&lt;br /&gt;
** Le fonctionnement en boucle&lt;br /&gt;
** [[Fichier:TestCircuit.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
 #define FAN_PIN 5&lt;br /&gt;
 #define LED_PIN 2&lt;br /&gt;
 &lt;br /&gt;
 void setup() {&lt;br /&gt;
   pinMode(FAN_PIN, OUTPUT);&lt;br /&gt;
   pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
   digitalWrite(FAN_PIN, LOW);&lt;br /&gt;
   digitalWrite(LED_PIN, LOW);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void loop() {&lt;br /&gt;
   digitalWrite(FAN_PIN, HIGH);  // turn fan ON&lt;br /&gt;
   digitalWrite(LED_PIN, HIGH);  // turn LED ON&lt;br /&gt;
   delay(3000);&lt;br /&gt;
 &lt;br /&gt;
   digitalWrite(FAN_PIN, LOW);   // turn fan OFF&lt;br /&gt;
   digitalWrite(LED_PIN, LOW);   // turn LED OFF&lt;br /&gt;
   delay(3000);&lt;br /&gt;
 }&lt;br /&gt;
Ce prototype servira de base et sera ensuite dupliqué pour les 12 ventilateurs.&lt;br /&gt;
&lt;br /&gt;
Conception mécanique&lt;br /&gt;
&lt;br /&gt;
* Début de la conception des découpes pour la planche servant de support au projet&lt;br /&gt;
* [[Fichier:DecoupePlan.jpg|vignette]]&lt;br /&gt;
* Réflexion sur :&lt;br /&gt;
** L’agencement des ventilateurs&lt;br /&gt;
** La stabilité&lt;br /&gt;
** La lisibilité du dispositif&lt;br /&gt;
&lt;br /&gt;
État actuel du projet&lt;br /&gt;
&lt;br /&gt;
* Prototype fonctionnel validé pour un ventilateur&lt;br /&gt;
* Circuit électronique et logique logicielle définis&lt;br /&gt;
* Échelle finale du projet confirmée (12 ventilateurs)&lt;br /&gt;
* Phase de duplication et d’assemblage à venir&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:DecoupePlan.jpg&amp;diff=11863</id>
		<title>Fichier:DecoupePlan.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:DecoupePlan.jpg&amp;diff=11863"/>
		<updated>2026-01-30T08:36:31Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Conception de découpe laser&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:TestCircuit.jpg&amp;diff=11862</id>
		<title>Fichier:TestCircuit.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:TestCircuit.jpg&amp;diff=11862"/>
		<updated>2026-01-30T08:34:57Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test de circuit pour 1 ventilo&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ventilo.jpg&amp;diff=11861</id>
		<title>Fichier:Ventilo.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ventilo.jpg&amp;diff=11861"/>
		<updated>2026-01-30T08:32:19Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test de fonctionnement des ventilateurs&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11703</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11703"/>
		<updated>2026-01-29T14:00:18Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanin - Rouge Cendre &lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition.&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière (toujours selon données), après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
[[Fichier:Kaoutar et Chaymae.jpg|vignette|Chaymae et Kaoutar programmation]]&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Kaoutar_et_Chaymae.jpg&amp;diff=11702</id>
		<title>Fichier:Kaoutar et Chaymae.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Kaoutar_et_Chaymae.jpg&amp;diff=11702"/>
		<updated>2026-01-29T13:58:36Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kaoutar et Chaymae&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11701</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11701"/>
		<updated>2026-01-29T13:55:48Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanin - Rouge Cendre &lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition.&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière, après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler des grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses à certains et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11695</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11695"/>
		<updated>2026-01-29T13:48:15Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanin - Rouge Cendre &lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition.&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière, après avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler part grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits, créer des exubérances lumineuses et rejoindre l'idée de colonies d'algues qui vivent en symbiose avec les coraux. (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11694</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11694"/>
		<updated>2026-01-29T13:46:26Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanin - Rouge Cendre &lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition.&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail qui lui donnera l'apparence d'une créature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma led.png|vignette|Schéma Led]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière, après-midi avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler part grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits (voir schéma et montage).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;br /&gt;
[[Fichier:PRIST.jpg|vignette|Montage Led]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Sch%C3%A9ma_led.png&amp;diff=11693</id>
		<title>Fichier:Schéma led.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Sch%C3%A9ma_led.png&amp;diff=11693"/>
		<updated>2026-01-29T13:44:20Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;schéma led&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11692</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11692"/>
		<updated>2026-01-29T13:42:25Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= '''Aeger Aether''' =&lt;br /&gt;
Module Arts et Science - Kaoutar El Bachiri - Chaymae Rhanin - Rouge Cendre &lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
''PROPOS :''&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : &amp;quot;''Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète &amp;quot;'', a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
[[Fichier:Sculpture corail .jpg|vignette|Sculpture corail céramique]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Aeger Aether''''' prendra la forme d’une installation sculpturale représentant un récif-poumon dont la couleur va réagir à des données temps réel de la qualité de l’air près de Marseille. Si les coraux pourront prendre une forme onirique, ils seront inspirés du corail rouge présent dans les eaux méditerrannéennes (Corallium rubrum) en ce que cette espèce sensible aux variations de température et aux pollutions sert d’indicateur de la qualité des eaux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''PROTOCOLE :''&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition.&lt;br /&gt;
[[Fichier:Data CO2 Marseille 2025.png|vignette|Data CO2 Marseille 2025]]&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data. Nous avons choisi de travailler du 1 janvier 2025 au 31 décembre 2025.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite testé l'humidificateur qui sera activé à partir d'un certain seuil de données, il viendra créer de la buée dans une boule en verre situé au dessus du corail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concernant l'activation de la lumière, après-midi avoir réfléchi à travailler avec des bandes de leds adressables, nous avons réfléchi à travailler part grappes de leds qui viendraient s'accrocher sur la sculpture, venant éclairer certains endroits.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Humificateur.png|vignette|Humidificateur]]&lt;br /&gt;
[[Fichier:Sculpture verre.jpg|vignette|Verre soufflé]]&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Sculpture_verre.jpg&amp;diff=11691</id>
		<title>Fichier:Sculpture verre.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Sculpture_verre.jpg&amp;diff=11691"/>
		<updated>2026-01-29T13:38:28Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sculpture verre&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Sculpture_corail_.jpg&amp;diff=11688</id>
		<title>Fichier:Sculpture corail .jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Sculpture_corail_.jpg&amp;diff=11688"/>
		<updated>2026-01-29T13:37:31Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sculpture corail céramique&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Humificateur.png&amp;diff=11686</id>
		<title>Fichier:Humificateur.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Humificateur.png&amp;diff=11686"/>
		<updated>2026-01-29T13:33:11Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Humidificateur&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Data_CO2_Marseille_2025.png&amp;diff=11684</id>
		<title>Fichier:Data CO2 Marseille 2025.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Data_CO2_Marseille_2025.png&amp;diff=11684"/>
		<updated>2026-01-29T13:30:47Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opendata&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11679</id>
		<title>Art Sciences 2025/2026 E15</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Art_Sciences_2025/2026_E15&amp;diff=11679"/>
		<updated>2026-01-29T13:24:16Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : Page créée avec « Aeger Aether   Module Arts et science - Kaoutar El Bachiri - Chaymae Rhanin - Rouge Cendre  Dépigmentation coraux PROPOS :  Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aeger Aether &lt;br /&gt;
&lt;br /&gt;
Module Arts et science - Kaoutar El Bachiri - Chaymae Rhanin - Rouge Cendre &lt;br /&gt;
[[Fichier:Coral reef.png|vignette|Dépigmentation coraux]]&lt;br /&gt;
PROPOS :&lt;br /&gt;
&lt;br /&gt;
Ce travail cherche à rendre compte de manière sensible des effets du réchauffement climatique sur les récifs coralliens, en écho aux données alarmantes publiées en avril 2025 : Entre le 1er janvier 2023 et le 20 avril 2025, un stress thermique synonyme de blanchissement a touché 83,7 % des récifs de la planète », a indiqué l’Agence américaine d’observation océanique et atmosphérique (NOAA).&lt;br /&gt;
&lt;br /&gt;
Le dépérissement du corail, manifesté par sa décoloration, est provoqué par une hausse de la température de l’eau qui entraîne l’expulsion de ses zooxanthelles, des algues vivant en symbiose avec lui qui lui donnant ses nutriments et sa couleur vive.&lt;br /&gt;
&lt;br /&gt;
Les récifs coralliens sont les écosystèmes les plus riches et productifs de la planète. Ils abritent une biodiversité exceptionnelle et abritent près de 25% de la biodiversité sous-marine. Comme les forêts, ils sont de formidables capteurs de CO2. Ils aident également à réduire les dommages dues aux tempêtes et ouragans.&lt;br /&gt;
&lt;br /&gt;
À travers une approche plastique symboliste, je cherche à alerter sur cette lente disparition et à questionner nos modes de vies qui concourent à cette dernière. En effet, la pièce interroge la dépigmentation silencieuse qui touche nos eaux méditerranéennes. À l’image d’une forêt privée de son feuillage, cette disparition des couleurs dans les écosystèmes marins évoque un monde en voie de désaturation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PROTOCOLE :&lt;br /&gt;
&lt;br /&gt;
Nous avons d'abord décidé de partir sur des data de pollution atmosphérique de la région de Marseille non en temps réel mais sur un temps passé (l'année 2025), car le temps réel entrainerait que trop de modifications le temps de l'exposition.&lt;br /&gt;
&lt;br /&gt;
Le fichier .csv a été téléchargé via un site d'open data.&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Coral_reef.png&amp;diff=11675</id>
		<title>Fichier:Coral reef.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Coral_reef.png&amp;diff=11675"/>
		<updated>2026-01-29T13:19:47Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dépigmentation coraux&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:PRIST.jpg&amp;diff=11674</id>
		<title>Fichier:PRIST.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:PRIST.jpg&amp;diff=11674"/>
		<updated>2026-01-29T13:18:14Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Module Arts et sciences&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11346</id>
		<title>SE5 IdO sécurité des objets 2025/2026 b2</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11346"/>
		<updated>2026-01-24T22:31:40Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* 2. Approche Matérielle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;div class=&amp;quot;mcwiki-header&amp;quot; style=&amp;quot;border-radius: 40px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 130%; background: #14164f; vertical-align: top; width: 98%; font-family: 'Poppins', sans-serif;&amp;quot;&amp;gt;🌐 TP Infrastructure Réseau 🛜&amp;lt;/div&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Ce wiki documente la mise en place d’une petite infrastructure réseau pédagogique pour le TP 2025/2026.  &lt;br /&gt;
&lt;br /&gt;
L’objectif est de '''déployer un serveur virtuel''' sur ''capbreton'', d’y '''terminer un VLAN privé''' (ici '''409''' car je suis a la Zabeth 09), puis d’implanter les services exigés : '''DHCP''', '''DNS (forwarder + zone locale d’interception)''', '''NAT/mascarade''', et '''redirection réseau''' pour l’HTTP.  &lt;br /&gt;
&lt;br /&gt;
Des choix techniques sont explicités à chaque étape (pourquoi tel fichier, telle option, tel service), afin d’argumenter les décisions et permettre la reproductibilité.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur virtuel (17/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
La VM est créée sur &amp;lt;code&amp;gt;Xen&amp;lt;/code&amp;gt; depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec une unique interface reliée à &amp;lt;code&amp;gt;bridgeStudents&amp;lt;/code&amp;gt;, conformément au sujet (routage par &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt; côté salles projets).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image \&lt;br /&gt;
  --hostname=SE5.kelbachi \&lt;br /&gt;
  --dhcp \&lt;br /&gt;
  --bridge=bridgeStudents \&lt;br /&gt;
  --dir=/usr/local/xen \&lt;br /&gt;
  --size=10GB \&lt;br /&gt;
  --dist=daedalus \&lt;br /&gt;
  --memory=2G \&lt;br /&gt;
  --force&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi cette commande ?&lt;br /&gt;
: &amp;lt;code&amp;gt;--bridge=bridgeStudents&amp;lt;/code&amp;gt; impose l’unique attachement réseau demandé ; &amp;lt;code&amp;gt;--dist=daedalus&amp;lt;/code&amp;gt; assure une base Devuan stable (&amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; classique) ; les ressources (2 Gio RAM/10 Gio disque) suffisent pour DHCP/DNS/NAT.&lt;br /&gt;
&lt;br /&gt;
Démarrage et accès console :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xl create -c /etc/xen/SE5.kelbachi.cfg&lt;br /&gt;
# Ctrl+] pour détacher la console sans éteindre&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adresse routée (réseau des salles projets) ===&lt;br /&gt;
Configuration statique avec passerelle &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt;. On choisit une IP libre dans la plage fournie (exemple &amp;lt;code&amp;gt;172.26.145.109/24&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (extrait)&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.26.145.109/24&lt;br /&gt;
    gateway 172.26.145.251&lt;br /&gt;
    dns-nameservers 1.1.1.1 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi une IP statique ?&lt;br /&gt;
: Le sujet exige un adressage maîtrisé côté salles projets et une route par défaut vers le routeur NAT de la salle. C’est la base pour que la VM accède à Internet et puisse, ensuite, NATer les clients WiFi.&lt;br /&gt;
&lt;br /&gt;
=== Interface privée (VLAN 409) ===&lt;br /&gt;
Le réseau privé associé à &amp;lt;code&amp;gt;X=09&amp;lt;/code&amp;gt; est &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt;. La VM termine ce VLAN avec l’adresse &amp;lt;code&amp;gt;172.16.9.1/24&amp;lt;/code&amp;gt; (gateway &amp;amp; DNS pour les clients).  &lt;br /&gt;
Dans notre mise en place, l’interface privée est &amp;lt;code&amp;gt;eth1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (complément)&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 172.16.9.1/24&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifications :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip a&lt;br /&gt;
ip r&lt;br /&gt;
ping -c3 172.26.145.251&lt;br /&gt;
ping -c3 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Point d’accès Cisco – SSID WPA2-PSK (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Connexion '''console série''' (9600 8N1, sans control flow) avec Minicom.  &lt;br /&gt;
Après habilitation, création d’un SSID attaché au &amp;lt;code&amp;gt;VLAN 409&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dot11 ssid SE5-SSID09&lt;br /&gt;
  vlan 409&lt;br /&gt;
  authentication open&lt;br /&gt;
  authentication key-management wpa version 2&lt;br /&gt;
  wpa-psk ascii Cisco2025&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
interface dot11radio 0&lt;br /&gt;
  encryption mode ciphers aes-ccm&lt;br /&gt;
  ssid SE5-SSID09&lt;br /&gt;
  station-role root&lt;br /&gt;
  no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous laissons de cote cette partie car elle n'est pas bloquante pour la suite du TP.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur DHCP (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Distribution automatisée d’adresses &amp;lt;code&amp;gt;172.16.9.100–200&amp;lt;/code&amp;gt; aux clients du VLAN 409, avec routeur et DNS pointant vers la VM.&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install -y isc-dhcp-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/dhcp/dhcpd.conf&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
subnet 172.16.9.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 172.16.9.100 172.16.9.200;&lt;br /&gt;
  option routers 172.16.9.1;&lt;br /&gt;
  option domain-name-servers 172.16.9.1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Mascarade (NAT) – Accès Internet (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Activation du routage IPv4 et NAT du réseau &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt; vers &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
sed -i 's/^#\?net\.ipv4\.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi la mascarade ? &lt;br /&gt;
: Les clients WiFi utilisent des adresses privées. Le NAT traduit leurs paquets pour qu’ils sortent avec l’IP de la VM côté salles projets.  &lt;br /&gt;
: Sans NAT, pas d’Internet pour le VLAN 409.&lt;br /&gt;
&lt;br /&gt;
Persistance :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install -y iptables-persistent&lt;br /&gt;
netfilter-persistent save&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Interception de flux (04/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;Redirection par DNS (zone locale)&amp;lt;/span&amp;gt; ===&lt;br /&gt;
On implémente une '''zone primaire''' sur la VM pour rediriger &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt; et tous ses sous-domaines vers la VM.  &lt;br /&gt;
Service '''BIND''' sous Devuan : nom de service systemd = &amp;lt;code&amp;gt;named&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Déclaration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.local&lt;br /&gt;
zone &amp;quot;picoctf.org&amp;quot; {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.picoctf.org&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zone :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dns&amp;quot;&amp;gt;&lt;br /&gt;
$TTL  200&lt;br /&gt;
@  IN SOA ns.picoctf.org. admin.picoctf.org. (&lt;br /&gt;
    2025100403 ; Serial&lt;br /&gt;
    3600       ; Refresh&lt;br /&gt;
    1800       ; Retry&lt;br /&gt;
    604800     ; Expire&lt;br /&gt;
    86400 )    ; Minimum&lt;br /&gt;
&lt;br /&gt;
        IN NS  ns.picoctf.org.&lt;br /&gt;
ns      IN A   172.16.9.1&lt;br /&gt;
@       IN A   172.16.9.1&lt;br /&gt;
www     IN CNAME ns&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options (écoute VLAN) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.options (extrait)&lt;br /&gt;
options {&lt;br /&gt;
  directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
  recursion yes;&lt;br /&gt;
  allow-query { 172.16.9.0/24; 127.0.0.1; };&lt;br /&gt;
  forwarders { 1.1.1.1; 8.8.8.8; };&lt;br /&gt;
  listen-on { 172.16.9.1; 127.0.0.1; };&lt;br /&gt;
  dnssec-validation auto;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Service &amp;amp; vérifs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable named&lt;br /&gt;
systemctl restart named&lt;br /&gt;
named-checkconf&lt;br /&gt;
named-checkzone picoctf.org /etc/bind/db.picoctf.org&lt;br /&gt;
dig @127.0.0.1 picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 www.picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 test.picoctf.org +short   # wildcard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[Fichier:Screenshot from 2025-10-04 08-33-01.png|centré|sans_cadre|600x600px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Redirection réseau&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Mise en place d’une REDIRECT pour capter le HTTP et le diriger vers un service local.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Table nat propre&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
&lt;br /&gt;
# Interception HTTP&lt;br /&gt;
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080&lt;br /&gt;
&lt;br /&gt;
# NAT format TP (409)&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur Apache sécurisé (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Dans cette partie, l’objectif est de mettre en place un serveur web sécurisé en HTTPS avec un certificat signé par une autorité locale.  &lt;br /&gt;
J'utilise ici le domaine d’exemple &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;, déjà intercepté par notre DNS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Création d’un certificat auto-signé&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Avant toute chose, je génère un certificat auto-signé permettant à Apache de servir du HTTPS localement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -nodes -days 365 \&lt;br /&gt;
  -newkey rsa:2048 \&lt;br /&gt;
  -keyout /etc/ssl/apache/apache-selfsigned.key \&lt;br /&gt;
  -out /etc/ssl/apache/apache-selfsigned.crt \&lt;br /&gt;
  -subj &amp;quot;/C=FR/ST=Nord/L=Lille/O=Polytech/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Configuration d’Apache2&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je crée un nouveau fichier de configuration HTTPS dans &amp;lt;code&amp;gt;/etc/apache2/sites-available/secure-site.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName picoctf&lt;br /&gt;
    DocumentRoot /var/www/html&lt;br /&gt;
&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLCertificateFile /etc/apache2/sites-available/apache.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/apache2/sites-available/apache.key&lt;br /&gt;
&lt;br /&gt;
    # Logs SSL&lt;br /&gt;
    ErrorLog ${APACHE_LOG_DIR}/ssl-error.log&lt;br /&gt;
    CustomLog ${APACHE_LOG_DIR}/ssl-access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# HTTP vers HTTPS&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName picoctf.org&lt;br /&gt;
    Redirect permanent / https://picoctf.org/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette configuration active le service sur le port '''443''' et redirige automatiquement les connexions HTTP vers HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;3. Création d’une autorité de certification locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Afin de simuler un certificat signé par une autorité de confiance, je crée une CA interne appelée &amp;quot;Certif&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -new -nodes \&lt;br /&gt;
  -keyout ca.key -sha256 -days 365 \&lt;br /&gt;
  -out ca.crt -subj &amp;quot;/CN=Certif&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;4. Signature du certificat Apache avec l’autorité locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je commence par créer une demande de signature (CSR) pour le serveur Apache :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -new -newkey rsa:2048 -nodes \&lt;br /&gt;
  -keyout apache.key -out apache.csr \&lt;br /&gt;
  -subj &amp;quot;/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis je signe cette requête avec notre autorité &amp;lt;code&amp;gt;Certif&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl x509 -req -in apache.csr \&lt;br /&gt;
  -CA ca.crt -CAkey ca.key -CAcreateserial \&lt;br /&gt;
  -out apache.crt -days 365 -sha256&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je remplace ensuite dans la configuration Apache les fichiers de certificat auto-signés par ceux nouvellement générés :&lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.crt&amp;lt;/code&amp;gt;  &lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.key&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redémarrage du service :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
a2ensite secure-site.conf&lt;br /&gt;
systemctl reload apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Machine virtuelle Android&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Lorsque je tente d’accéder à &amp;lt;code&amp;gt;https://picoctf.org&amp;lt;/code&amp;gt; depuis un appareil Android récent, le certificat de l’autorité “Certif” n’est pas reconnu.[[Fichier:Screenshot from 2025-10-10 15-30-32.png|centré|sans_cadre|954x954px]]Pour contourner cela, il est possible d’installer une ancienne machine Android (par exemple sous '''Android 4.x'''), où l’ajout manuel d’une autorité de certification est encore possible.&lt;br /&gt;
&lt;br /&gt;
Sur cette Android, après quelques ajustements réseau, il est possible d’importer le certificat racine Certif et ainsi naviguer vers le faux site &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Appareil Android physique (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Enfin, le même test a été reproduit sur la tablette Android 4.4 de mon camarade, une version qui permet encore l’ajout d’autorités de certification manuellement.&lt;br /&gt;
&lt;br /&gt;
En important le fichier `ca.crt` dans les paramètres de sécurité, le site `https://picoctf.org` devient totalement “sécurisé” : le navigateur affiche le cadenas vert , confirmant que la connexion est chiffrée et que le certificat est reconnu par le système.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-10-04-04.png|droite|sans_cadre|419x419px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-09-21-51.png|sans_cadre|706x706px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Problèmes rencontrés&amp;lt;/span&amp;gt; ==&lt;br /&gt;
* Console Cisco muette : causée par le '''flow control'''. Solution : désactiver hardware &amp;amp; software flow control dans minicom (9600, 8N1, &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Erreur AP &amp;lt;code&amp;gt;cipher not configured&amp;lt;/code&amp;gt; : corriger en posant `authentication ... version 2` côté SSID et &amp;lt;code&amp;gt;encryption mode ciphers aes-ccm&amp;lt;/code&amp;gt; côté radio.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Partie 2 : Casse d'objets connectés - Alarme incendie (IoT)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
L'objectif est d'intercepter les communications HTTPS de l'application mobile Nedis SmartLife pour récupérer la localKey de l'alarme.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Approche Logicielle : Virtualisation Android&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
J'ai exploré plusieurs méthodes de virtualisation pour obtenir un environnement Android capable de faire tourner l'application tout en étant root pour injecter le certificat en mode système et non pas utilisateur comme cela se passerai sur des versions android plus récentes que celle de la tablette utilisée plus tot.&lt;br /&gt;
&lt;br /&gt;
==== Phase 1 : VM Android x86 sur Xen ====&lt;br /&gt;
Première tentative avec une image ISO Android-x86.&lt;br /&gt;
&lt;br /&gt;
'''Configuration Réseau (Lien avec le Cisco) :'''&lt;br /&gt;
&lt;br /&gt;
Pour que cette VM puisse communiquer avec notre infrastructure (VLAN, Accès Internet via notre passerelle), j'ai dû modifier la configuration réseau pour la lier au pont `bridgeStudents` et lui attribuer une IP statique dans notre plage.&lt;br /&gt;
&lt;br /&gt;
Modification du fichier &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; (ou configuration via console selon la version) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.16.9.150&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 172.16.9.1&lt;br /&gt;
    dns-nameservers 172.16.9.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.1 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
J'ai d'abord tenté d'émuler Android &amp;quot;à la main&amp;quot; via QEMU/KVM en utilisant plusieurs images ISO (Android x86 versions 6 à 9). Cette méthode légère permettait théoriquement un contrôle total sur les paramètres de lancement.Commandes utilisées pour les différents tests :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Test basique en mode user net&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw&lt;br /&gt;
&lt;br /&gt;
# Boot sur ISO pour installation&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw -cdrom android-x86-9.0.iso -boot d&lt;br /&gt;
&lt;br /&gt;
# Tentative avancée (USB passthrough et CPU host)&lt;br /&gt;
qemu-system-x86_64 \&lt;br /&gt;
    -m 2048 \&lt;br /&gt;
    -enable-kvm \&lt;br /&gt;
    -cpu host \&lt;br /&gt;
    -smp 2 \&lt;br /&gt;
    -display sdl \&lt;br /&gt;
    -drive file=android.img,format=raw,if=virtio \&lt;br /&gt;
    -usb \&lt;br /&gt;
    -device usb-host,vendorid=0x148f,productid=0x5370&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Problème rencontré &lt;br /&gt;
;L'application ne se lance pas&lt;br /&gt;
L'installation de l'OS fonctionne, le réseau fonctionne, l'APK Nedis se télécharge, mais l'application crashe immédiatement au lancement.&lt;br /&gt;
&lt;br /&gt;
; Analyse technique&lt;br /&gt;
Pour comprendre, j'ai analysé le fichier APK lui-même en le convertissant en archive ZIP pour explorer son contenu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Renommage pour extraction&lt;br /&gt;
mv nedis-smartlife.apk nedis-smartlife.zip&lt;br /&gt;
unzip nedis-smartlife.zip -d analyse_apk&lt;br /&gt;
&lt;br /&gt;
# Inspection des bibliothèques natives&lt;br /&gt;
ls -R analyse_apk/lib/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Résultat de l'analyse &lt;br /&gt;
Le dossier &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt; ne contient que des sous-dossiers &amp;lt;code&amp;gt;armeabi-v7a&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;arm64-v8a&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Conclusion : L'application est compilée avec des instructions natives pour processeurs ARM.&lt;br /&gt;
* Cause du crash : Notre VM tourne sur une architecture x86_64. Sans bibliothèques compatibles (x86) ni traducteur binaire (libhoudini) fonctionnel, l'application ne peut pas s'exécuter.&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.2 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
Pour pallier le problème d'architecture ou de version, j'ai testé l'émulation brute via QEMU.&lt;br /&gt;
&lt;br /&gt;
'''1. Tentative d'émulation ARM (Android 4.4)'''&lt;br /&gt;
&lt;br /&gt;
Sur conseil, j'ai tenté d'émuler une architecture ARM pour être compatible avec les librairies de l'application.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install qemu-system-arm&lt;br /&gt;
# Lancement de l'image Android 4.4 ARM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Résultat : L'architecture est bonne, mais la version d'Android (4.4 KitKat) est trop ancienne. L'application Nedis requiert une API plus récente (Android 6.0+) et refuse de s'installer.&lt;br /&gt;
&lt;br /&gt;
; Bilan des tests QEMU &lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 16-15-27.png|droite|sans_cadre|488x488px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 17-58-08.png|gauche|sans_cadre|494x494px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aucune VM n'a été exploitable pour des raisons variées :&lt;br /&gt;
* Pas de Google Play Services (impossible de télécharger l'app).&lt;br /&gt;
* Version trop ancienne.&lt;br /&gt;
* Impossibilité de passer root sur les versions récentes.&lt;br /&gt;
&lt;br /&gt;
==== Phase 3 : La Réussite avec Android Studio ====&lt;br /&gt;
Je suis passée à Android Studio pour créer un émulateur (AVD) stable et récent.&lt;br /&gt;
&lt;br /&gt;
'''1. Installation'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Décompression et déplacement dans /opt ou ~/&lt;br /&gt;
tar -xvf android-studio-*.tar.gz&lt;br /&gt;
sudo mv android-studio /opt/&lt;br /&gt;
/opt/android-studio/bin/studio.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le SDK s'installe dans &amp;lt;code&amp;gt;~/Android/Sdk/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''2. Création de l'AVD (Attention à l'architecture)'''&lt;br /&gt;
* Tentative initiale avec une image Pixel 4 / Android 10 ARM64.&lt;br /&gt;
* Erreur : &amp;lt;code&amp;gt;AVD's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host&amp;lt;/code&amp;gt;. L'émulation ARM sur x86 est trop lente ou non supportée par défaut.&lt;br /&gt;
* Correction : Choix d'une image Google APIs x86_64 (Android 12 / API 31).&lt;br /&gt;
&lt;br /&gt;
'''3. Installation de l'application'''&lt;br /&gt;
&lt;br /&gt;
L'APK officiel du Play Store ne fonctionnant pas toujours sur émulateur, j'ai récupéré l'APK compatible via Aptoide (&amp;lt;code&amp;gt;https://nedis-smartlife.en.aptoide.com/app&amp;lt;/code&amp;gt;). L'installation fonctionne.&lt;br /&gt;
&lt;br /&gt;
'''4. Root et Injection du Certificat (Succès avec Magisk)'''&lt;br /&gt;
&lt;br /&gt;
Pour injecter le certificat système sur Android 12 (où la partition &amp;lt;code&amp;gt;/system&amp;lt;/code&amp;gt; est en lecture seule via dm-verity), j'ai utilisé Magisk et un script d'automatisation (RootAVD).&lt;br /&gt;
&lt;br /&gt;
Commandes et procédure :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Commandes ADB classiques (insuffisantes seules)&lt;br /&gt;
adb root&lt;br /&gt;
adb shell avbctl disable-verification&lt;br /&gt;
adb reboot&lt;br /&gt;
adb wait-for-device root&lt;br /&gt;
adb remount&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'injection directe via &amp;lt;code&amp;gt;adb push&amp;lt;/code&amp;gt; échouait (`Read-only file system`)&lt;br /&gt;
&lt;br /&gt;
Solution : Installation d'un module Magisk spécifique via le script RootAVD. Ce module monte le certificat en &amp;quot;overlay&amp;quot; au démarrage, contournant la protection en écriture.&lt;br /&gt;
; Résultat Final&lt;br /&gt;
[[Fichier:Perso.png|centré|sans_cadre|547x547px]]&lt;br /&gt;
* La VM est rootée.&lt;br /&gt;
* Le certificat est reconnu par le système.&lt;br /&gt;
* L'application Nedis se lance.&lt;br /&gt;
* Nous pouvons désormais intercepter le trafic HTTPS.&lt;br /&gt;
&lt;br /&gt;
==== Changement de stratégie ====&lt;br /&gt;
Face à l'impasse technique de la virtualisation (problèmes d'architecture CPU et de droits Root persistants), j'ai décidé de réévaluer le vecteur d'attaque.&lt;br /&gt;
&lt;br /&gt;
En effectuant une inspection physique du détecteur de fumée (démontage du boîtier), j'ai repéré sur le circuit imprimé (PCB) une série de pistes et de broches non soudées ressemblant fortement à un port de programmation ou de débogage.&lt;br /&gt;
[[Fichier:1000096446.jpg|gauche|456x456px|sans_cadre]]&lt;br /&gt;
[[Fichier:1000096443.jpg|centré|419x419px|sans_cadre]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plutôt que de continuer à lutter contre les sécurités logicielles d'Android, j'ai choisi de pivoter vers une analyse matérielle . L'hypothèse est simple : si le trafic réseau est chiffré, les données transitant en clair entre le microcontrôleur de l'alarme et son module Wi-Fi sont peut-être accessibles via ce port physique.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Approche Matérielle&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Devant les difficultés de l'attaque logicielle, j'ai ouvert le boîtier de l'alarme pour analyser son fonctionnement interne et tenter d'intercepter les communications avant qu'elles ne soient chiffrées par le module Wi-Fi.&lt;br /&gt;
[[Fichier:1000096443.jpg|droite|sans_cadre|285x285px]]&lt;br /&gt;
&lt;br /&gt;
==== 2.1 Inspection du PCB et Identification des composants ====&lt;br /&gt;
Après démontage, j'ai identifié deux éléments principaux sur le circuit imprimé (PCB) :&lt;br /&gt;
* Le Microcontrôleur principal (MCU) :  Il gère le capteur optique de fumée, le bouton de test et le buzzer piézoélectrique.&lt;br /&gt;
* Le Module de Communication (TYWE3S) : Il s'agit d'un module basé sur l'ESP8266, fabriqué par Tuya. Son rôle est uniquement de gérer la connexion Wi-Fi et l'envoi des données vers le Cloud (Nedis/Tuya).&lt;br /&gt;
&lt;br /&gt;
'''Découverte majeure :'''&lt;br /&gt;
&lt;br /&gt;
En observant les pistes reliant le MCU au module TYWE3S, j'ai repéré des broches non soudées mais clairement étiquetées : VCC, GND, RX, TX. &lt;br /&gt;
&lt;br /&gt;
Il s'agit d'un port série (UART) utilisé pour la communication entre le processeur de l'alarme et le module Wi-Fi. C'est notre vecteur d'attaque : si je regarde ce qui en sort, je peux voir ce que l'alarme &amp;quot;dit&amp;quot; au module Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
==== 2.2 Interception Série (UART) ====&lt;br /&gt;
J'ai soudé des connecteurs sur les pistes TX/RX et connecté un adaptateur USB-TTL pour lire le trafic sur notre PC.&lt;br /&gt;
&lt;br /&gt;
'''Recherche de la vitesse (Baudrate) avec Minicom :'''&lt;br /&gt;
&lt;br /&gt;
La première difficulté a été de trouver la vitesse de communication. J'ai testé les vitesses standards (9600, 115200) avec l'outil `minicom`.&lt;br /&gt;
* À des vitesses incorrectes, je recevais des caractères illisibles.&lt;br /&gt;
* En testant 38400 bauds, j'ai commencé à voir apparaître une structure répétitive cohérente en hexadécimal.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 15-57-04.png|néant|vignette|788x788px|Résultat a 9600 bauds]]&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 16-08-32.png|néant|vignette|790x790px|Résultat a 38400 bauds]]&lt;br /&gt;
'''Analyse de la parité (8N1 vs 7E1) :'''J'ai observé que l'affichage ASCII des données semblait corrompu par moment. Nous avons émis l'hypothèse d'un réglage de parité différent.&lt;br /&gt;
* Test en 7E1 (7 bits de données, Parité Paire) : L'octet d'en-tête `0xAA` (10101010 en binaire) était interprété comme le caractère `*` (0x2A), car le 8ème bit était pris pour un bit de parité.&lt;br /&gt;
* Conclusion : Le protocole est bien du 8N1 (8 bits de données, Pas de parité, 1 bit de stop)&lt;br /&gt;
&lt;br /&gt;
==== 2.3 Analyse des Trames (Reverse Engineering) ====&lt;br /&gt;
Pour analyser le flux plus efficacement qu'avec Minicom, j'ai développé un programme en C (`serial_reader.c`) utilisant la bibliothèque `termios` pour lire le port série octet par octet et afficher simultanément les valeurs Hexadécimales et ASCII.&lt;br /&gt;
&lt;br /&gt;
'''Observation du trafic :'''&lt;br /&gt;
&lt;br /&gt;
Grâce à ce programme, j'ai isolé deux comportements distincts :&lt;br /&gt;
&lt;br /&gt;
1.  État de Veille (Heartbeat) :&lt;br /&gt;
    Toutes les quelques secondes, une trame courte est envoyée. Elle contient l'octet `04`. Cela correspond au clignotement de la LED de l'alarme. Le système dit &amp;quot;Tout va bien&amp;quot;.&lt;br /&gt;
    &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Trame type : aa 23 ... 06 53 ... 04 ...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.  État d'Alarme (Choc Reset) :&lt;br /&gt;
    Lorsque j'appuie sur le bouton de test (Reset), le comportement change radicalement :&lt;br /&gt;
    * La fréquence des paquets augmente (flood).&lt;br /&gt;
    * L'octet de donnée change de 04 à 23.&lt;br /&gt;
    * Un nouveau DPID 54 apparaît brièvement.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-33.png|sans_cadre|547x547px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-16.png|sans_cadre|1018x1018px]]&lt;br /&gt;
; Conclusion de l'analyse logique&lt;br /&gt;
: L'alarme communique en clair avec le module Wi-Fi. L'octet 0x23 est la commande &amp;quot;ALERTE&amp;quot;. Si je parvenons à injecter cette trame, je pourais déclencher une fausse alerte sur le téléphone sans fumée.&lt;br /&gt;
&lt;br /&gt;
==== 2.4 Validation Physique à l'Oscilloscope ====&lt;br /&gt;
Pour confirmer scientifiquement la vitesse de transmission (Baudrate) et valider nos réglages logiciels, j'ai utilisé un oscilloscope numérique sur la broche TX.&lt;br /&gt;
&lt;br /&gt;
'''Méthodologie de mesure :'''&lt;br /&gt;
&lt;br /&gt;
1.  Capture d'une trame de données en mode &amp;quot;Single Trigger&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.  Utilisation des curseurs pour mesurer la largeur du bit le plus étroit (le bit élémentaire).&lt;br /&gt;
[[Fichier:1000103578.jpg|centré|sans_cadre|582x582px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Calculs :'''&lt;br /&gt;
&lt;br /&gt;
Sur l'oscilloscope, j'ai mesuré une largeur de 52.00 µs pour une séquence de ce qui semblait être deux bits identiques consécutifs (un creux large).&lt;br /&gt;
* Durée d'un bit T&amp;lt;sub&amp;gt;bit&amp;lt;/sub&amp;gt; : 52 µs / 2 = 26 µs.&lt;br /&gt;
* Formule du Baudrate : Frequency = 1 / T&amp;lt;sub&amp;gt;bit&amp;lt;/sub&amp;gt;&lt;br /&gt;
* Application numérique : 1 / 0.000026 ≃ 38461 Bauds.&lt;br /&gt;
&lt;br /&gt;
'''Résultat :'''&lt;br /&gt;
&lt;br /&gt;
La valeur calculée (38461) est extrêmement proche de la valeur standard 38400 Bauds. Cette mesure physique confirme indiscutablement que notre configuration logicielle pour l'interception était correcte.&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11345</id>
		<title>SE5 IdO sécurité des objets 2025/2026 b2</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11345"/>
		<updated>2026-01-24T22:30:34Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* 2.3 Analyse des Trames (Reverse Engineering) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;div class=&amp;quot;mcwiki-header&amp;quot; style=&amp;quot;border-radius: 40px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 130%; background: #14164f; vertical-align: top; width: 98%; font-family: 'Poppins', sans-serif;&amp;quot;&amp;gt;🌐 TP Infrastructure Réseau 🛜&amp;lt;/div&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Ce wiki documente la mise en place d’une petite infrastructure réseau pédagogique pour le TP 2025/2026.  &lt;br /&gt;
&lt;br /&gt;
L’objectif est de '''déployer un serveur virtuel''' sur ''capbreton'', d’y '''terminer un VLAN privé''' (ici '''409''' car je suis a la Zabeth 09), puis d’implanter les services exigés : '''DHCP''', '''DNS (forwarder + zone locale d’interception)''', '''NAT/mascarade''', et '''redirection réseau''' pour l’HTTP.  &lt;br /&gt;
&lt;br /&gt;
Des choix techniques sont explicités à chaque étape (pourquoi tel fichier, telle option, tel service), afin d’argumenter les décisions et permettre la reproductibilité.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur virtuel (17/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
La VM est créée sur &amp;lt;code&amp;gt;Xen&amp;lt;/code&amp;gt; depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec une unique interface reliée à &amp;lt;code&amp;gt;bridgeStudents&amp;lt;/code&amp;gt;, conformément au sujet (routage par &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt; côté salles projets).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image \&lt;br /&gt;
  --hostname=SE5.kelbachi \&lt;br /&gt;
  --dhcp \&lt;br /&gt;
  --bridge=bridgeStudents \&lt;br /&gt;
  --dir=/usr/local/xen \&lt;br /&gt;
  --size=10GB \&lt;br /&gt;
  --dist=daedalus \&lt;br /&gt;
  --memory=2G \&lt;br /&gt;
  --force&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi cette commande ?&lt;br /&gt;
: &amp;lt;code&amp;gt;--bridge=bridgeStudents&amp;lt;/code&amp;gt; impose l’unique attachement réseau demandé ; &amp;lt;code&amp;gt;--dist=daedalus&amp;lt;/code&amp;gt; assure une base Devuan stable (&amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; classique) ; les ressources (2 Gio RAM/10 Gio disque) suffisent pour DHCP/DNS/NAT.&lt;br /&gt;
&lt;br /&gt;
Démarrage et accès console :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xl create -c /etc/xen/SE5.kelbachi.cfg&lt;br /&gt;
# Ctrl+] pour détacher la console sans éteindre&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adresse routée (réseau des salles projets) ===&lt;br /&gt;
Configuration statique avec passerelle &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt;. On choisit une IP libre dans la plage fournie (exemple &amp;lt;code&amp;gt;172.26.145.109/24&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (extrait)&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.26.145.109/24&lt;br /&gt;
    gateway 172.26.145.251&lt;br /&gt;
    dns-nameservers 1.1.1.1 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi une IP statique ?&lt;br /&gt;
: Le sujet exige un adressage maîtrisé côté salles projets et une route par défaut vers le routeur NAT de la salle. C’est la base pour que la VM accède à Internet et puisse, ensuite, NATer les clients WiFi.&lt;br /&gt;
&lt;br /&gt;
=== Interface privée (VLAN 409) ===&lt;br /&gt;
Le réseau privé associé à &amp;lt;code&amp;gt;X=09&amp;lt;/code&amp;gt; est &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt;. La VM termine ce VLAN avec l’adresse &amp;lt;code&amp;gt;172.16.9.1/24&amp;lt;/code&amp;gt; (gateway &amp;amp; DNS pour les clients).  &lt;br /&gt;
Dans notre mise en place, l’interface privée est &amp;lt;code&amp;gt;eth1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (complément)&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 172.16.9.1/24&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifications :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip a&lt;br /&gt;
ip r&lt;br /&gt;
ping -c3 172.26.145.251&lt;br /&gt;
ping -c3 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Point d’accès Cisco – SSID WPA2-PSK (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Connexion '''console série''' (9600 8N1, sans control flow) avec Minicom.  &lt;br /&gt;
Après habilitation, création d’un SSID attaché au &amp;lt;code&amp;gt;VLAN 409&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dot11 ssid SE5-SSID09&lt;br /&gt;
  vlan 409&lt;br /&gt;
  authentication open&lt;br /&gt;
  authentication key-management wpa version 2&lt;br /&gt;
  wpa-psk ascii Cisco2025&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
interface dot11radio 0&lt;br /&gt;
  encryption mode ciphers aes-ccm&lt;br /&gt;
  ssid SE5-SSID09&lt;br /&gt;
  station-role root&lt;br /&gt;
  no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous laissons de cote cette partie car elle n'est pas bloquante pour la suite du TP.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur DHCP (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Distribution automatisée d’adresses &amp;lt;code&amp;gt;172.16.9.100–200&amp;lt;/code&amp;gt; aux clients du VLAN 409, avec routeur et DNS pointant vers la VM.&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install -y isc-dhcp-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/dhcp/dhcpd.conf&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
subnet 172.16.9.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 172.16.9.100 172.16.9.200;&lt;br /&gt;
  option routers 172.16.9.1;&lt;br /&gt;
  option domain-name-servers 172.16.9.1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Mascarade (NAT) – Accès Internet (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Activation du routage IPv4 et NAT du réseau &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt; vers &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
sed -i 's/^#\?net\.ipv4\.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi la mascarade ? &lt;br /&gt;
: Les clients WiFi utilisent des adresses privées. Le NAT traduit leurs paquets pour qu’ils sortent avec l’IP de la VM côté salles projets.  &lt;br /&gt;
: Sans NAT, pas d’Internet pour le VLAN 409.&lt;br /&gt;
&lt;br /&gt;
Persistance :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install -y iptables-persistent&lt;br /&gt;
netfilter-persistent save&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Interception de flux (04/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;Redirection par DNS (zone locale)&amp;lt;/span&amp;gt; ===&lt;br /&gt;
On implémente une '''zone primaire''' sur la VM pour rediriger &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt; et tous ses sous-domaines vers la VM.  &lt;br /&gt;
Service '''BIND''' sous Devuan : nom de service systemd = &amp;lt;code&amp;gt;named&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Déclaration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.local&lt;br /&gt;
zone &amp;quot;picoctf.org&amp;quot; {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.picoctf.org&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zone :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dns&amp;quot;&amp;gt;&lt;br /&gt;
$TTL  200&lt;br /&gt;
@  IN SOA ns.picoctf.org. admin.picoctf.org. (&lt;br /&gt;
    2025100403 ; Serial&lt;br /&gt;
    3600       ; Refresh&lt;br /&gt;
    1800       ; Retry&lt;br /&gt;
    604800     ; Expire&lt;br /&gt;
    86400 )    ; Minimum&lt;br /&gt;
&lt;br /&gt;
        IN NS  ns.picoctf.org.&lt;br /&gt;
ns      IN A   172.16.9.1&lt;br /&gt;
@       IN A   172.16.9.1&lt;br /&gt;
www     IN CNAME ns&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options (écoute VLAN) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.options (extrait)&lt;br /&gt;
options {&lt;br /&gt;
  directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
  recursion yes;&lt;br /&gt;
  allow-query { 172.16.9.0/24; 127.0.0.1; };&lt;br /&gt;
  forwarders { 1.1.1.1; 8.8.8.8; };&lt;br /&gt;
  listen-on { 172.16.9.1; 127.0.0.1; };&lt;br /&gt;
  dnssec-validation auto;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Service &amp;amp; vérifs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable named&lt;br /&gt;
systemctl restart named&lt;br /&gt;
named-checkconf&lt;br /&gt;
named-checkzone picoctf.org /etc/bind/db.picoctf.org&lt;br /&gt;
dig @127.0.0.1 picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 www.picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 test.picoctf.org +short   # wildcard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[Fichier:Screenshot from 2025-10-04 08-33-01.png|centré|sans_cadre|600x600px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Redirection réseau&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Mise en place d’une REDIRECT pour capter le HTTP et le diriger vers un service local.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Table nat propre&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
&lt;br /&gt;
# Interception HTTP&lt;br /&gt;
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080&lt;br /&gt;
&lt;br /&gt;
# NAT format TP (409)&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur Apache sécurisé (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Dans cette partie, l’objectif est de mettre en place un serveur web sécurisé en HTTPS avec un certificat signé par une autorité locale.  &lt;br /&gt;
J'utilise ici le domaine d’exemple &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;, déjà intercepté par notre DNS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Création d’un certificat auto-signé&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Avant toute chose, je génère un certificat auto-signé permettant à Apache de servir du HTTPS localement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -nodes -days 365 \&lt;br /&gt;
  -newkey rsa:2048 \&lt;br /&gt;
  -keyout /etc/ssl/apache/apache-selfsigned.key \&lt;br /&gt;
  -out /etc/ssl/apache/apache-selfsigned.crt \&lt;br /&gt;
  -subj &amp;quot;/C=FR/ST=Nord/L=Lille/O=Polytech/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Configuration d’Apache2&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je crée un nouveau fichier de configuration HTTPS dans &amp;lt;code&amp;gt;/etc/apache2/sites-available/secure-site.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName picoctf&lt;br /&gt;
    DocumentRoot /var/www/html&lt;br /&gt;
&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLCertificateFile /etc/apache2/sites-available/apache.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/apache2/sites-available/apache.key&lt;br /&gt;
&lt;br /&gt;
    # Logs SSL&lt;br /&gt;
    ErrorLog ${APACHE_LOG_DIR}/ssl-error.log&lt;br /&gt;
    CustomLog ${APACHE_LOG_DIR}/ssl-access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# HTTP vers HTTPS&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName picoctf.org&lt;br /&gt;
    Redirect permanent / https://picoctf.org/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette configuration active le service sur le port '''443''' et redirige automatiquement les connexions HTTP vers HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;3. Création d’une autorité de certification locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Afin de simuler un certificat signé par une autorité de confiance, je crée une CA interne appelée &amp;quot;Certif&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -new -nodes \&lt;br /&gt;
  -keyout ca.key -sha256 -days 365 \&lt;br /&gt;
  -out ca.crt -subj &amp;quot;/CN=Certif&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;4. Signature du certificat Apache avec l’autorité locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je commence par créer une demande de signature (CSR) pour le serveur Apache :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -new -newkey rsa:2048 -nodes \&lt;br /&gt;
  -keyout apache.key -out apache.csr \&lt;br /&gt;
  -subj &amp;quot;/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis je signe cette requête avec notre autorité &amp;lt;code&amp;gt;Certif&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl x509 -req -in apache.csr \&lt;br /&gt;
  -CA ca.crt -CAkey ca.key -CAcreateserial \&lt;br /&gt;
  -out apache.crt -days 365 -sha256&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je remplace ensuite dans la configuration Apache les fichiers de certificat auto-signés par ceux nouvellement générés :&lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.crt&amp;lt;/code&amp;gt;  &lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.key&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redémarrage du service :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
a2ensite secure-site.conf&lt;br /&gt;
systemctl reload apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Machine virtuelle Android&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Lorsque je tente d’accéder à &amp;lt;code&amp;gt;https://picoctf.org&amp;lt;/code&amp;gt; depuis un appareil Android récent, le certificat de l’autorité “Certif” n’est pas reconnu.[[Fichier:Screenshot from 2025-10-10 15-30-32.png|centré|sans_cadre|954x954px]]Pour contourner cela, il est possible d’installer une ancienne machine Android (par exemple sous '''Android 4.x'''), où l’ajout manuel d’une autorité de certification est encore possible.&lt;br /&gt;
&lt;br /&gt;
Sur cette Android, après quelques ajustements réseau, il est possible d’importer le certificat racine Certif et ainsi naviguer vers le faux site &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Appareil Android physique (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Enfin, le même test a été reproduit sur la tablette Android 4.4 de mon camarade, une version qui permet encore l’ajout d’autorités de certification manuellement.&lt;br /&gt;
&lt;br /&gt;
En important le fichier `ca.crt` dans les paramètres de sécurité, le site `https://picoctf.org` devient totalement “sécurisé” : le navigateur affiche le cadenas vert , confirmant que la connexion est chiffrée et que le certificat est reconnu par le système.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-10-04-04.png|droite|sans_cadre|419x419px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-09-21-51.png|sans_cadre|706x706px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Problèmes rencontrés&amp;lt;/span&amp;gt; ==&lt;br /&gt;
* Console Cisco muette : causée par le '''flow control'''. Solution : désactiver hardware &amp;amp; software flow control dans minicom (9600, 8N1, &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Erreur AP &amp;lt;code&amp;gt;cipher not configured&amp;lt;/code&amp;gt; : corriger en posant `authentication ... version 2` côté SSID et &amp;lt;code&amp;gt;encryption mode ciphers aes-ccm&amp;lt;/code&amp;gt; côté radio.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Partie 2 : Casse d'objets connectés - Alarme incendie (IoT)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
L'objectif est d'intercepter les communications HTTPS de l'application mobile Nedis SmartLife pour récupérer la localKey de l'alarme.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Approche Logicielle : Virtualisation Android&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
J'ai exploré plusieurs méthodes de virtualisation pour obtenir un environnement Android capable de faire tourner l'application tout en étant root pour injecter le certificat en mode système et non pas utilisateur comme cela se passerai sur des versions android plus récentes que celle de la tablette utilisée plus tot.&lt;br /&gt;
&lt;br /&gt;
==== Phase 1 : VM Android x86 sur Xen ====&lt;br /&gt;
Première tentative avec une image ISO Android-x86.&lt;br /&gt;
&lt;br /&gt;
'''Configuration Réseau (Lien avec le Cisco) :'''&lt;br /&gt;
&lt;br /&gt;
Pour que cette VM puisse communiquer avec notre infrastructure (VLAN, Accès Internet via notre passerelle), j'ai dû modifier la configuration réseau pour la lier au pont `bridgeStudents` et lui attribuer une IP statique dans notre plage.&lt;br /&gt;
&lt;br /&gt;
Modification du fichier &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; (ou configuration via console selon la version) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.16.9.150&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 172.16.9.1&lt;br /&gt;
    dns-nameservers 172.16.9.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.1 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
J'ai d'abord tenté d'émuler Android &amp;quot;à la main&amp;quot; via QEMU/KVM en utilisant plusieurs images ISO (Android x86 versions 6 à 9). Cette méthode légère permettait théoriquement un contrôle total sur les paramètres de lancement.Commandes utilisées pour les différents tests :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Test basique en mode user net&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw&lt;br /&gt;
&lt;br /&gt;
# Boot sur ISO pour installation&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw -cdrom android-x86-9.0.iso -boot d&lt;br /&gt;
&lt;br /&gt;
# Tentative avancée (USB passthrough et CPU host)&lt;br /&gt;
qemu-system-x86_64 \&lt;br /&gt;
    -m 2048 \&lt;br /&gt;
    -enable-kvm \&lt;br /&gt;
    -cpu host \&lt;br /&gt;
    -smp 2 \&lt;br /&gt;
    -display sdl \&lt;br /&gt;
    -drive file=android.img,format=raw,if=virtio \&lt;br /&gt;
    -usb \&lt;br /&gt;
    -device usb-host,vendorid=0x148f,productid=0x5370&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Problème rencontré &lt;br /&gt;
;L'application ne se lance pas&lt;br /&gt;
L'installation de l'OS fonctionne, le réseau fonctionne, l'APK Nedis se télécharge, mais l'application crashe immédiatement au lancement.&lt;br /&gt;
&lt;br /&gt;
; Analyse technique&lt;br /&gt;
Pour comprendre, j'ai analysé le fichier APK lui-même en le convertissant en archive ZIP pour explorer son contenu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Renommage pour extraction&lt;br /&gt;
mv nedis-smartlife.apk nedis-smartlife.zip&lt;br /&gt;
unzip nedis-smartlife.zip -d analyse_apk&lt;br /&gt;
&lt;br /&gt;
# Inspection des bibliothèques natives&lt;br /&gt;
ls -R analyse_apk/lib/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Résultat de l'analyse &lt;br /&gt;
Le dossier &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt; ne contient que des sous-dossiers &amp;lt;code&amp;gt;armeabi-v7a&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;arm64-v8a&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Conclusion : L'application est compilée avec des instructions natives pour processeurs ARM.&lt;br /&gt;
* Cause du crash : Notre VM tourne sur une architecture x86_64. Sans bibliothèques compatibles (x86) ni traducteur binaire (libhoudini) fonctionnel, l'application ne peut pas s'exécuter.&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.2 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
Pour pallier le problème d'architecture ou de version, j'ai testé l'émulation brute via QEMU.&lt;br /&gt;
&lt;br /&gt;
'''1. Tentative d'émulation ARM (Android 4.4)'''&lt;br /&gt;
&lt;br /&gt;
Sur conseil, j'ai tenté d'émuler une architecture ARM pour être compatible avec les librairies de l'application.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install qemu-system-arm&lt;br /&gt;
# Lancement de l'image Android 4.4 ARM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Résultat : L'architecture est bonne, mais la version d'Android (4.4 KitKat) est trop ancienne. L'application Nedis requiert une API plus récente (Android 6.0+) et refuse de s'installer.&lt;br /&gt;
&lt;br /&gt;
; Bilan des tests QEMU &lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 16-15-27.png|droite|sans_cadre|488x488px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 17-58-08.png|gauche|sans_cadre|494x494px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aucune VM n'a été exploitable pour des raisons variées :&lt;br /&gt;
* Pas de Google Play Services (impossible de télécharger l'app).&lt;br /&gt;
* Version trop ancienne.&lt;br /&gt;
* Impossibilité de passer root sur les versions récentes.&lt;br /&gt;
&lt;br /&gt;
==== Phase 3 : La Réussite avec Android Studio ====&lt;br /&gt;
Je suis passée à Android Studio pour créer un émulateur (AVD) stable et récent.&lt;br /&gt;
&lt;br /&gt;
'''1. Installation'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Décompression et déplacement dans /opt ou ~/&lt;br /&gt;
tar -xvf android-studio-*.tar.gz&lt;br /&gt;
sudo mv android-studio /opt/&lt;br /&gt;
/opt/android-studio/bin/studio.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le SDK s'installe dans &amp;lt;code&amp;gt;~/Android/Sdk/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''2. Création de l'AVD (Attention à l'architecture)'''&lt;br /&gt;
* Tentative initiale avec une image Pixel 4 / Android 10 ARM64.&lt;br /&gt;
* Erreur : &amp;lt;code&amp;gt;AVD's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host&amp;lt;/code&amp;gt;. L'émulation ARM sur x86 est trop lente ou non supportée par défaut.&lt;br /&gt;
* Correction : Choix d'une image Google APIs x86_64 (Android 12 / API 31).&lt;br /&gt;
&lt;br /&gt;
'''3. Installation de l'application'''&lt;br /&gt;
&lt;br /&gt;
L'APK officiel du Play Store ne fonctionnant pas toujours sur émulateur, j'ai récupéré l'APK compatible via Aptoide (&amp;lt;code&amp;gt;https://nedis-smartlife.en.aptoide.com/app&amp;lt;/code&amp;gt;). L'installation fonctionne.&lt;br /&gt;
&lt;br /&gt;
'''4. Root et Injection du Certificat (Succès avec Magisk)'''&lt;br /&gt;
&lt;br /&gt;
Pour injecter le certificat système sur Android 12 (où la partition &amp;lt;code&amp;gt;/system&amp;lt;/code&amp;gt; est en lecture seule via dm-verity), j'ai utilisé Magisk et un script d'automatisation (RootAVD).&lt;br /&gt;
&lt;br /&gt;
Commandes et procédure :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Commandes ADB classiques (insuffisantes seules)&lt;br /&gt;
adb root&lt;br /&gt;
adb shell avbctl disable-verification&lt;br /&gt;
adb reboot&lt;br /&gt;
adb wait-for-device root&lt;br /&gt;
adb remount&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'injection directe via &amp;lt;code&amp;gt;adb push&amp;lt;/code&amp;gt; échouait (`Read-only file system`)&lt;br /&gt;
&lt;br /&gt;
Solution : Installation d'un module Magisk spécifique via le script RootAVD. Ce module monte le certificat en &amp;quot;overlay&amp;quot; au démarrage, contournant la protection en écriture.&lt;br /&gt;
; Résultat Final&lt;br /&gt;
[[Fichier:Perso.png|centré|sans_cadre|547x547px]]&lt;br /&gt;
* La VM est rootée.&lt;br /&gt;
* Le certificat est reconnu par le système.&lt;br /&gt;
* L'application Nedis se lance.&lt;br /&gt;
* Nous pouvons désormais intercepter le trafic HTTPS.&lt;br /&gt;
&lt;br /&gt;
==== Changement de stratégie ====&lt;br /&gt;
Face à l'impasse technique de la virtualisation (problèmes d'architecture CPU et de droits Root persistants), j'ai décidé de réévaluer le vecteur d'attaque.&lt;br /&gt;
&lt;br /&gt;
En effectuant une inspection physique du détecteur de fumée (démontage du boîtier), j'ai repéré sur le circuit imprimé (PCB) une série de pistes et de broches non soudées ressemblant fortement à un port de programmation ou de débogage.&lt;br /&gt;
[[Fichier:1000096446.jpg|gauche|vignette|398x398px]]&lt;br /&gt;
[[Fichier:1000096443.jpg|centré|vignette|407x407px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plutôt que de continuer à lutter contre les sécurités logicielles d'Android, j'ai choisi de pivoter vers une analyse matérielle . L'hypothèse est simple : si le trafic réseau est chiffré, les données transitant en clair entre le microcontrôleur de l'alarme et son module Wi-Fi sont peut-être accessibles via ce port physique.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Approche Matérielle&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Devant les difficultés de l'attaque logicielle, j'ai ouvert le boîtier de l'alarme pour analyser son fonctionnement interne et tenter d'intercepter les communications avant qu'elles ne soient chiffrées par le module Wi-Fi.&lt;br /&gt;
[[Fichier:1000096443.jpg|droite|sans_cadre|285x285px]]&lt;br /&gt;
&lt;br /&gt;
==== 2.1 Inspection du PCB et Identification des composants ====&lt;br /&gt;
Après démontage, j'ai identifié deux éléments principaux sur le circuit imprimé (PCB) :&lt;br /&gt;
* Le Microcontrôleur principal (MCU) :  Il gère le capteur optique de fumée, le bouton de test et le buzzer piézoélectrique.&lt;br /&gt;
* Le Module de Communication (TYWE3S) : Il s'agit d'un module basé sur l'ESP8266, fabriqué par Tuya. Son rôle est uniquement de gérer la connexion Wi-Fi et l'envoi des données vers le Cloud (Nedis/Tuya).&lt;br /&gt;
&lt;br /&gt;
'''Découverte majeure :'''&lt;br /&gt;
&lt;br /&gt;
En observant les pistes reliant le MCU au module TYWE3S, j'ai repéré des broches non soudées mais clairement étiquetées : VCC, GND, RX, TX. &lt;br /&gt;
&lt;br /&gt;
Il s'agit d'un port série (UART) utilisé pour la communication entre le processeur de l'alarme et le module Wi-Fi. C'est notre vecteur d'attaque : si je regarde ce qui en sort, je peux voir ce que l'alarme &amp;quot;dit&amp;quot; au module Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
==== 2.2 Interception Série (UART) ====&lt;br /&gt;
J'ai soudé des connecteurs sur les pistes TX/RX et connecté un adaptateur USB-TTL pour lire le trafic sur notre PC.&lt;br /&gt;
&lt;br /&gt;
'''Recherche de la vitesse (Baudrate) avec Minicom :'''&lt;br /&gt;
&lt;br /&gt;
La première difficulté a été de trouver la vitesse de communication. J'ai testé les vitesses standards (9600, 115200) avec l'outil `minicom`.&lt;br /&gt;
* À des vitesses incorrectes, je recevais des caractères illisibles.&lt;br /&gt;
* En testant 38400 bauds, j'ai commencé à voir apparaître une structure répétitive cohérente en hexadécimal.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 15-57-04.png|néant|vignette|788x788px|Résultat a 9600 bauds]]&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 16-08-32.png|néant|vignette|790x790px|Résultat a 38400 bauds]]&lt;br /&gt;
'''Analyse de la parité (8N1 vs 7E1) :'''J'ai observé que l'affichage ASCII des données semblait corrompu par moment. Nous avons émis l'hypothèse d'un réglage de parité différent.&lt;br /&gt;
* Test en 7E1 (7 bits de données, Parité Paire) : L'octet d'en-tête `0xAA` (10101010 en binaire) était interprété comme le caractère `*` (0x2A), car le 8ème bit était pris pour un bit de parité.&lt;br /&gt;
* Conclusion : Le protocole est bien du 8N1 (8 bits de données, Pas de parité, 1 bit de stop)&lt;br /&gt;
&lt;br /&gt;
==== 2.3 Analyse des Trames (Reverse Engineering) ====&lt;br /&gt;
Pour analyser le flux plus efficacement qu'avec Minicom, j'ai développé un programme en C (`serial_reader.c`) utilisant la bibliothèque `termios` pour lire le port série octet par octet et afficher simultanément les valeurs Hexadécimales et ASCII.&lt;br /&gt;
&lt;br /&gt;
'''Observation du trafic :'''&lt;br /&gt;
&lt;br /&gt;
Grâce à ce programme, j'ai isolé deux comportements distincts :&lt;br /&gt;
&lt;br /&gt;
1.  État de Veille (Heartbeat) :&lt;br /&gt;
    Toutes les quelques secondes, une trame courte est envoyée. Elle contient l'octet `04`. Cela correspond au clignotement de la LED de l'alarme. Le système dit &amp;quot;Tout va bien&amp;quot;.&lt;br /&gt;
    &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Trame type : aa 23 ... 06 53 ... 04 ...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.  État d'Alarme (Choc Reset) :&lt;br /&gt;
    Lorsque j'appuie sur le bouton de test (Reset), le comportement change radicalement :&lt;br /&gt;
    * La fréquence des paquets augmente (flood).&lt;br /&gt;
    * L'octet de donnée change de 04 à 23.&lt;br /&gt;
    * Un nouveau DPID 54 apparaît brièvement.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-33.png|sans_cadre|547x547px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-16.png|sans_cadre|1018x1018px]]&lt;br /&gt;
; Conclusion de l'analyse logique&lt;br /&gt;
: L'alarme communique en clair avec le module Wi-Fi. L'octet 0x23 est la commande &amp;quot;ALERTE&amp;quot;. Si je parvenons à injecter cette trame, je pourais déclencher une fausse alerte sur le téléphone sans fumée.&lt;br /&gt;
&lt;br /&gt;
==== 2.4 Validation Physique à l'Oscilloscope ====&lt;br /&gt;
Pour confirmer scientifiquement la vitesse de transmission (Baudrate) et valider nos réglages logiciels, j'ai utilisé un oscilloscope numérique sur la broche TX.&lt;br /&gt;
&lt;br /&gt;
'''Méthodologie de mesure :'''&lt;br /&gt;
&lt;br /&gt;
1.  Capture d'une trame de données en mode &amp;quot;Single Trigger&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.  Utilisation des curseurs pour mesurer la largeur du bit le plus étroit (le bit élémentaire).&lt;br /&gt;
[[Fichier:1000103578.jpg|centré|sans_cadre|582x582px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Calculs :'''&lt;br /&gt;
&lt;br /&gt;
Sur l'oscilloscope, j'ai mesuré une largeur de 52.00 µs pour une séquence de ce qui semblait être deux bits identiques consécutifs (un creux large).&lt;br /&gt;
* Durée d'un bit T&amp;lt;sub&amp;gt;bit&amp;lt;/sub&amp;gt; : 52 µs / 2 = 26 µs.&lt;br /&gt;
* Formule du Baudrate : Frequency = 1 / T&amp;lt;sub&amp;gt;bit&amp;lt;/sub&amp;gt;&lt;br /&gt;
* Application numérique : 1 / 0.000026 ≃ 38461 Bauds.&lt;br /&gt;
&lt;br /&gt;
'''Résultat :'''&lt;br /&gt;
&lt;br /&gt;
La valeur calculée (38461) est extrêmement proche de la valeur standard 38400 Bauds. Cette mesure physique confirme indiscutablement que notre configuration logicielle pour l'interception était correcte.&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11344</id>
		<title>SE5 IdO sécurité des objets 2025/2026 b2</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11344"/>
		<updated>2026-01-24T22:29:28Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* 2.4 Validation Physique à l'Oscilloscope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;div class=&amp;quot;mcwiki-header&amp;quot; style=&amp;quot;border-radius: 40px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 130%; background: #14164f; vertical-align: top; width: 98%; font-family: 'Poppins', sans-serif;&amp;quot;&amp;gt;🌐 TP Infrastructure Réseau 🛜&amp;lt;/div&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Ce wiki documente la mise en place d’une petite infrastructure réseau pédagogique pour le TP 2025/2026.  &lt;br /&gt;
&lt;br /&gt;
L’objectif est de '''déployer un serveur virtuel''' sur ''capbreton'', d’y '''terminer un VLAN privé''' (ici '''409''' car je suis a la Zabeth 09), puis d’implanter les services exigés : '''DHCP''', '''DNS (forwarder + zone locale d’interception)''', '''NAT/mascarade''', et '''redirection réseau''' pour l’HTTP.  &lt;br /&gt;
&lt;br /&gt;
Des choix techniques sont explicités à chaque étape (pourquoi tel fichier, telle option, tel service), afin d’argumenter les décisions et permettre la reproductibilité.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur virtuel (17/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
La VM est créée sur &amp;lt;code&amp;gt;Xen&amp;lt;/code&amp;gt; depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec une unique interface reliée à &amp;lt;code&amp;gt;bridgeStudents&amp;lt;/code&amp;gt;, conformément au sujet (routage par &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt; côté salles projets).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image \&lt;br /&gt;
  --hostname=SE5.kelbachi \&lt;br /&gt;
  --dhcp \&lt;br /&gt;
  --bridge=bridgeStudents \&lt;br /&gt;
  --dir=/usr/local/xen \&lt;br /&gt;
  --size=10GB \&lt;br /&gt;
  --dist=daedalus \&lt;br /&gt;
  --memory=2G \&lt;br /&gt;
  --force&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi cette commande ?&lt;br /&gt;
: &amp;lt;code&amp;gt;--bridge=bridgeStudents&amp;lt;/code&amp;gt; impose l’unique attachement réseau demandé ; &amp;lt;code&amp;gt;--dist=daedalus&amp;lt;/code&amp;gt; assure une base Devuan stable (&amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; classique) ; les ressources (2 Gio RAM/10 Gio disque) suffisent pour DHCP/DNS/NAT.&lt;br /&gt;
&lt;br /&gt;
Démarrage et accès console :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xl create -c /etc/xen/SE5.kelbachi.cfg&lt;br /&gt;
# Ctrl+] pour détacher la console sans éteindre&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adresse routée (réseau des salles projets) ===&lt;br /&gt;
Configuration statique avec passerelle &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt;. On choisit une IP libre dans la plage fournie (exemple &amp;lt;code&amp;gt;172.26.145.109/24&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (extrait)&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.26.145.109/24&lt;br /&gt;
    gateway 172.26.145.251&lt;br /&gt;
    dns-nameservers 1.1.1.1 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi une IP statique ?&lt;br /&gt;
: Le sujet exige un adressage maîtrisé côté salles projets et une route par défaut vers le routeur NAT de la salle. C’est la base pour que la VM accède à Internet et puisse, ensuite, NATer les clients WiFi.&lt;br /&gt;
&lt;br /&gt;
=== Interface privée (VLAN 409) ===&lt;br /&gt;
Le réseau privé associé à &amp;lt;code&amp;gt;X=09&amp;lt;/code&amp;gt; est &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt;. La VM termine ce VLAN avec l’adresse &amp;lt;code&amp;gt;172.16.9.1/24&amp;lt;/code&amp;gt; (gateway &amp;amp; DNS pour les clients).  &lt;br /&gt;
Dans notre mise en place, l’interface privée est &amp;lt;code&amp;gt;eth1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (complément)&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 172.16.9.1/24&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifications :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip a&lt;br /&gt;
ip r&lt;br /&gt;
ping -c3 172.26.145.251&lt;br /&gt;
ping -c3 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Point d’accès Cisco – SSID WPA2-PSK (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Connexion '''console série''' (9600 8N1, sans control flow) avec Minicom.  &lt;br /&gt;
Après habilitation, création d’un SSID attaché au &amp;lt;code&amp;gt;VLAN 409&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dot11 ssid SE5-SSID09&lt;br /&gt;
  vlan 409&lt;br /&gt;
  authentication open&lt;br /&gt;
  authentication key-management wpa version 2&lt;br /&gt;
  wpa-psk ascii Cisco2025&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
interface dot11radio 0&lt;br /&gt;
  encryption mode ciphers aes-ccm&lt;br /&gt;
  ssid SE5-SSID09&lt;br /&gt;
  station-role root&lt;br /&gt;
  no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous laissons de cote cette partie car elle n'est pas bloquante pour la suite du TP.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur DHCP (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Distribution automatisée d’adresses &amp;lt;code&amp;gt;172.16.9.100–200&amp;lt;/code&amp;gt; aux clients du VLAN 409, avec routeur et DNS pointant vers la VM.&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install -y isc-dhcp-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/dhcp/dhcpd.conf&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
subnet 172.16.9.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 172.16.9.100 172.16.9.200;&lt;br /&gt;
  option routers 172.16.9.1;&lt;br /&gt;
  option domain-name-servers 172.16.9.1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Mascarade (NAT) – Accès Internet (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Activation du routage IPv4 et NAT du réseau &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt; vers &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
sed -i 's/^#\?net\.ipv4\.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi la mascarade ? &lt;br /&gt;
: Les clients WiFi utilisent des adresses privées. Le NAT traduit leurs paquets pour qu’ils sortent avec l’IP de la VM côté salles projets.  &lt;br /&gt;
: Sans NAT, pas d’Internet pour le VLAN 409.&lt;br /&gt;
&lt;br /&gt;
Persistance :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install -y iptables-persistent&lt;br /&gt;
netfilter-persistent save&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Interception de flux (04/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;Redirection par DNS (zone locale)&amp;lt;/span&amp;gt; ===&lt;br /&gt;
On implémente une '''zone primaire''' sur la VM pour rediriger &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt; et tous ses sous-domaines vers la VM.  &lt;br /&gt;
Service '''BIND''' sous Devuan : nom de service systemd = &amp;lt;code&amp;gt;named&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Déclaration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.local&lt;br /&gt;
zone &amp;quot;picoctf.org&amp;quot; {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.picoctf.org&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zone :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dns&amp;quot;&amp;gt;&lt;br /&gt;
$TTL  200&lt;br /&gt;
@  IN SOA ns.picoctf.org. admin.picoctf.org. (&lt;br /&gt;
    2025100403 ; Serial&lt;br /&gt;
    3600       ; Refresh&lt;br /&gt;
    1800       ; Retry&lt;br /&gt;
    604800     ; Expire&lt;br /&gt;
    86400 )    ; Minimum&lt;br /&gt;
&lt;br /&gt;
        IN NS  ns.picoctf.org.&lt;br /&gt;
ns      IN A   172.16.9.1&lt;br /&gt;
@       IN A   172.16.9.1&lt;br /&gt;
www     IN CNAME ns&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options (écoute VLAN) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.options (extrait)&lt;br /&gt;
options {&lt;br /&gt;
  directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
  recursion yes;&lt;br /&gt;
  allow-query { 172.16.9.0/24; 127.0.0.1; };&lt;br /&gt;
  forwarders { 1.1.1.1; 8.8.8.8; };&lt;br /&gt;
  listen-on { 172.16.9.1; 127.0.0.1; };&lt;br /&gt;
  dnssec-validation auto;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Service &amp;amp; vérifs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable named&lt;br /&gt;
systemctl restart named&lt;br /&gt;
named-checkconf&lt;br /&gt;
named-checkzone picoctf.org /etc/bind/db.picoctf.org&lt;br /&gt;
dig @127.0.0.1 picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 www.picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 test.picoctf.org +short   # wildcard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[Fichier:Screenshot from 2025-10-04 08-33-01.png|centré|sans_cadre|600x600px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Redirection réseau&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Mise en place d’une REDIRECT pour capter le HTTP et le diriger vers un service local.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Table nat propre&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
&lt;br /&gt;
# Interception HTTP&lt;br /&gt;
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080&lt;br /&gt;
&lt;br /&gt;
# NAT format TP (409)&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur Apache sécurisé (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Dans cette partie, l’objectif est de mettre en place un serveur web sécurisé en HTTPS avec un certificat signé par une autorité locale.  &lt;br /&gt;
J'utilise ici le domaine d’exemple &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;, déjà intercepté par notre DNS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Création d’un certificat auto-signé&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Avant toute chose, je génère un certificat auto-signé permettant à Apache de servir du HTTPS localement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -nodes -days 365 \&lt;br /&gt;
  -newkey rsa:2048 \&lt;br /&gt;
  -keyout /etc/ssl/apache/apache-selfsigned.key \&lt;br /&gt;
  -out /etc/ssl/apache/apache-selfsigned.crt \&lt;br /&gt;
  -subj &amp;quot;/C=FR/ST=Nord/L=Lille/O=Polytech/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Configuration d’Apache2&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je crée un nouveau fichier de configuration HTTPS dans &amp;lt;code&amp;gt;/etc/apache2/sites-available/secure-site.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName picoctf&lt;br /&gt;
    DocumentRoot /var/www/html&lt;br /&gt;
&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLCertificateFile /etc/apache2/sites-available/apache.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/apache2/sites-available/apache.key&lt;br /&gt;
&lt;br /&gt;
    # Logs SSL&lt;br /&gt;
    ErrorLog ${APACHE_LOG_DIR}/ssl-error.log&lt;br /&gt;
    CustomLog ${APACHE_LOG_DIR}/ssl-access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# HTTP vers HTTPS&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName picoctf.org&lt;br /&gt;
    Redirect permanent / https://picoctf.org/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette configuration active le service sur le port '''443''' et redirige automatiquement les connexions HTTP vers HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;3. Création d’une autorité de certification locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Afin de simuler un certificat signé par une autorité de confiance, je crée une CA interne appelée &amp;quot;Certif&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -new -nodes \&lt;br /&gt;
  -keyout ca.key -sha256 -days 365 \&lt;br /&gt;
  -out ca.crt -subj &amp;quot;/CN=Certif&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;4. Signature du certificat Apache avec l’autorité locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je commence par créer une demande de signature (CSR) pour le serveur Apache :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -new -newkey rsa:2048 -nodes \&lt;br /&gt;
  -keyout apache.key -out apache.csr \&lt;br /&gt;
  -subj &amp;quot;/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis je signe cette requête avec notre autorité &amp;lt;code&amp;gt;Certif&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl x509 -req -in apache.csr \&lt;br /&gt;
  -CA ca.crt -CAkey ca.key -CAcreateserial \&lt;br /&gt;
  -out apache.crt -days 365 -sha256&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je remplace ensuite dans la configuration Apache les fichiers de certificat auto-signés par ceux nouvellement générés :&lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.crt&amp;lt;/code&amp;gt;  &lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.key&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redémarrage du service :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
a2ensite secure-site.conf&lt;br /&gt;
systemctl reload apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Machine virtuelle Android&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Lorsque je tente d’accéder à &amp;lt;code&amp;gt;https://picoctf.org&amp;lt;/code&amp;gt; depuis un appareil Android récent, le certificat de l’autorité “Certif” n’est pas reconnu.[[Fichier:Screenshot from 2025-10-10 15-30-32.png|centré|sans_cadre|954x954px]]Pour contourner cela, il est possible d’installer une ancienne machine Android (par exemple sous '''Android 4.x'''), où l’ajout manuel d’une autorité de certification est encore possible.&lt;br /&gt;
&lt;br /&gt;
Sur cette Android, après quelques ajustements réseau, il est possible d’importer le certificat racine Certif et ainsi naviguer vers le faux site &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Appareil Android physique (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Enfin, le même test a été reproduit sur la tablette Android 4.4 de mon camarade, une version qui permet encore l’ajout d’autorités de certification manuellement.&lt;br /&gt;
&lt;br /&gt;
En important le fichier `ca.crt` dans les paramètres de sécurité, le site `https://picoctf.org` devient totalement “sécurisé” : le navigateur affiche le cadenas vert , confirmant que la connexion est chiffrée et que le certificat est reconnu par le système.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-10-04-04.png|droite|sans_cadre|419x419px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-09-21-51.png|sans_cadre|706x706px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Problèmes rencontrés&amp;lt;/span&amp;gt; ==&lt;br /&gt;
* Console Cisco muette : causée par le '''flow control'''. Solution : désactiver hardware &amp;amp; software flow control dans minicom (9600, 8N1, &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Erreur AP &amp;lt;code&amp;gt;cipher not configured&amp;lt;/code&amp;gt; : corriger en posant `authentication ... version 2` côté SSID et &amp;lt;code&amp;gt;encryption mode ciphers aes-ccm&amp;lt;/code&amp;gt; côté radio.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Partie 2 : Casse d'objets connectés - Alarme incendie (IoT)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
L'objectif est d'intercepter les communications HTTPS de l'application mobile Nedis SmartLife pour récupérer la localKey de l'alarme.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Approche Logicielle : Virtualisation Android&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
J'ai exploré plusieurs méthodes de virtualisation pour obtenir un environnement Android capable de faire tourner l'application tout en étant root pour injecter le certificat en mode système et non pas utilisateur comme cela se passerai sur des versions android plus récentes que celle de la tablette utilisée plus tot.&lt;br /&gt;
&lt;br /&gt;
==== Phase 1 : VM Android x86 sur Xen ====&lt;br /&gt;
Première tentative avec une image ISO Android-x86.&lt;br /&gt;
&lt;br /&gt;
'''Configuration Réseau (Lien avec le Cisco) :'''&lt;br /&gt;
&lt;br /&gt;
Pour que cette VM puisse communiquer avec notre infrastructure (VLAN, Accès Internet via notre passerelle), j'ai dû modifier la configuration réseau pour la lier au pont `bridgeStudents` et lui attribuer une IP statique dans notre plage.&lt;br /&gt;
&lt;br /&gt;
Modification du fichier &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; (ou configuration via console selon la version) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.16.9.150&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 172.16.9.1&lt;br /&gt;
    dns-nameservers 172.16.9.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.1 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
J'ai d'abord tenté d'émuler Android &amp;quot;à la main&amp;quot; via QEMU/KVM en utilisant plusieurs images ISO (Android x86 versions 6 à 9). Cette méthode légère permettait théoriquement un contrôle total sur les paramètres de lancement.Commandes utilisées pour les différents tests :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Test basique en mode user net&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw&lt;br /&gt;
&lt;br /&gt;
# Boot sur ISO pour installation&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw -cdrom android-x86-9.0.iso -boot d&lt;br /&gt;
&lt;br /&gt;
# Tentative avancée (USB passthrough et CPU host)&lt;br /&gt;
qemu-system-x86_64 \&lt;br /&gt;
    -m 2048 \&lt;br /&gt;
    -enable-kvm \&lt;br /&gt;
    -cpu host \&lt;br /&gt;
    -smp 2 \&lt;br /&gt;
    -display sdl \&lt;br /&gt;
    -drive file=android.img,format=raw,if=virtio \&lt;br /&gt;
    -usb \&lt;br /&gt;
    -device usb-host,vendorid=0x148f,productid=0x5370&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Problème rencontré &lt;br /&gt;
;L'application ne se lance pas&lt;br /&gt;
L'installation de l'OS fonctionne, le réseau fonctionne, l'APK Nedis se télécharge, mais l'application crashe immédiatement au lancement.&lt;br /&gt;
&lt;br /&gt;
; Analyse technique&lt;br /&gt;
Pour comprendre, j'ai analysé le fichier APK lui-même en le convertissant en archive ZIP pour explorer son contenu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Renommage pour extraction&lt;br /&gt;
mv nedis-smartlife.apk nedis-smartlife.zip&lt;br /&gt;
unzip nedis-smartlife.zip -d analyse_apk&lt;br /&gt;
&lt;br /&gt;
# Inspection des bibliothèques natives&lt;br /&gt;
ls -R analyse_apk/lib/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Résultat de l'analyse &lt;br /&gt;
Le dossier &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt; ne contient que des sous-dossiers &amp;lt;code&amp;gt;armeabi-v7a&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;arm64-v8a&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Conclusion : L'application est compilée avec des instructions natives pour processeurs ARM.&lt;br /&gt;
* Cause du crash : Notre VM tourne sur une architecture x86_64. Sans bibliothèques compatibles (x86) ni traducteur binaire (libhoudini) fonctionnel, l'application ne peut pas s'exécuter.&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.2 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
Pour pallier le problème d'architecture ou de version, j'ai testé l'émulation brute via QEMU.&lt;br /&gt;
&lt;br /&gt;
'''1. Tentative d'émulation ARM (Android 4.4)'''&lt;br /&gt;
&lt;br /&gt;
Sur conseil, j'ai tenté d'émuler une architecture ARM pour être compatible avec les librairies de l'application.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install qemu-system-arm&lt;br /&gt;
# Lancement de l'image Android 4.4 ARM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Résultat : L'architecture est bonne, mais la version d'Android (4.4 KitKat) est trop ancienne. L'application Nedis requiert une API plus récente (Android 6.0+) et refuse de s'installer.&lt;br /&gt;
&lt;br /&gt;
; Bilan des tests QEMU &lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 16-15-27.png|droite|sans_cadre|488x488px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 17-58-08.png|gauche|sans_cadre|494x494px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aucune VM n'a été exploitable pour des raisons variées :&lt;br /&gt;
* Pas de Google Play Services (impossible de télécharger l'app).&lt;br /&gt;
* Version trop ancienne.&lt;br /&gt;
* Impossibilité de passer root sur les versions récentes.&lt;br /&gt;
&lt;br /&gt;
==== Phase 3 : La Réussite avec Android Studio ====&lt;br /&gt;
Je suis passée à Android Studio pour créer un émulateur (AVD) stable et récent.&lt;br /&gt;
&lt;br /&gt;
'''1. Installation'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Décompression et déplacement dans /opt ou ~/&lt;br /&gt;
tar -xvf android-studio-*.tar.gz&lt;br /&gt;
sudo mv android-studio /opt/&lt;br /&gt;
/opt/android-studio/bin/studio.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le SDK s'installe dans &amp;lt;code&amp;gt;~/Android/Sdk/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''2. Création de l'AVD (Attention à l'architecture)'''&lt;br /&gt;
* Tentative initiale avec une image Pixel 4 / Android 10 ARM64.&lt;br /&gt;
* Erreur : &amp;lt;code&amp;gt;AVD's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host&amp;lt;/code&amp;gt;. L'émulation ARM sur x86 est trop lente ou non supportée par défaut.&lt;br /&gt;
* Correction : Choix d'une image Google APIs x86_64 (Android 12 / API 31).&lt;br /&gt;
&lt;br /&gt;
'''3. Installation de l'application'''&lt;br /&gt;
&lt;br /&gt;
L'APK officiel du Play Store ne fonctionnant pas toujours sur émulateur, j'ai récupéré l'APK compatible via Aptoide (&amp;lt;code&amp;gt;https://nedis-smartlife.en.aptoide.com/app&amp;lt;/code&amp;gt;). L'installation fonctionne.&lt;br /&gt;
&lt;br /&gt;
'''4. Root et Injection du Certificat (Succès avec Magisk)'''&lt;br /&gt;
&lt;br /&gt;
Pour injecter le certificat système sur Android 12 (où la partition &amp;lt;code&amp;gt;/system&amp;lt;/code&amp;gt; est en lecture seule via dm-verity), j'ai utilisé Magisk et un script d'automatisation (RootAVD).&lt;br /&gt;
&lt;br /&gt;
Commandes et procédure :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Commandes ADB classiques (insuffisantes seules)&lt;br /&gt;
adb root&lt;br /&gt;
adb shell avbctl disable-verification&lt;br /&gt;
adb reboot&lt;br /&gt;
adb wait-for-device root&lt;br /&gt;
adb remount&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'injection directe via &amp;lt;code&amp;gt;adb push&amp;lt;/code&amp;gt; échouait (`Read-only file system`)&lt;br /&gt;
&lt;br /&gt;
Solution : Installation d'un module Magisk spécifique via le script RootAVD. Ce module monte le certificat en &amp;quot;overlay&amp;quot; au démarrage, contournant la protection en écriture.&lt;br /&gt;
; Résultat Final&lt;br /&gt;
[[Fichier:Perso.png|centré|sans_cadre|547x547px]]&lt;br /&gt;
* La VM est rootée.&lt;br /&gt;
* Le certificat est reconnu par le système.&lt;br /&gt;
* L'application Nedis se lance.&lt;br /&gt;
* Nous pouvons désormais intercepter le trafic HTTPS.&lt;br /&gt;
&lt;br /&gt;
==== Changement de stratégie ====&lt;br /&gt;
Face à l'impasse technique de la virtualisation (problèmes d'architecture CPU et de droits Root persistants), j'ai décidé de réévaluer le vecteur d'attaque.&lt;br /&gt;
&lt;br /&gt;
En effectuant une inspection physique du détecteur de fumée (démontage du boîtier), j'ai repéré sur le circuit imprimé (PCB) une série de pistes et de broches non soudées ressemblant fortement à un port de programmation ou de débogage.&lt;br /&gt;
[[Fichier:1000096446.jpg|gauche|vignette|398x398px]]&lt;br /&gt;
[[Fichier:1000096443.jpg|centré|vignette|407x407px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plutôt que de continuer à lutter contre les sécurités logicielles d'Android, j'ai choisi de pivoter vers une analyse matérielle . L'hypothèse est simple : si le trafic réseau est chiffré, les données transitant en clair entre le microcontrôleur de l'alarme et son module Wi-Fi sont peut-être accessibles via ce port physique.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Approche Matérielle&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Devant les difficultés de l'attaque logicielle, j'ai ouvert le boîtier de l'alarme pour analyser son fonctionnement interne et tenter d'intercepter les communications avant qu'elles ne soient chiffrées par le module Wi-Fi.&lt;br /&gt;
[[Fichier:1000096443.jpg|droite|sans_cadre|285x285px]]&lt;br /&gt;
&lt;br /&gt;
==== 2.1 Inspection du PCB et Identification des composants ====&lt;br /&gt;
Après démontage, j'ai identifié deux éléments principaux sur le circuit imprimé (PCB) :&lt;br /&gt;
* Le Microcontrôleur principal (MCU) :  Il gère le capteur optique de fumée, le bouton de test et le buzzer piézoélectrique.&lt;br /&gt;
* Le Module de Communication (TYWE3S) : Il s'agit d'un module basé sur l'ESP8266, fabriqué par Tuya. Son rôle est uniquement de gérer la connexion Wi-Fi et l'envoi des données vers le Cloud (Nedis/Tuya).&lt;br /&gt;
&lt;br /&gt;
'''Découverte majeure :'''&lt;br /&gt;
&lt;br /&gt;
En observant les pistes reliant le MCU au module TYWE3S, j'ai repéré des broches non soudées mais clairement étiquetées : VCC, GND, RX, TX. &lt;br /&gt;
&lt;br /&gt;
Il s'agit d'un port série (UART) utilisé pour la communication entre le processeur de l'alarme et le module Wi-Fi. C'est notre vecteur d'attaque : si je regarde ce qui en sort, je peux voir ce que l'alarme &amp;quot;dit&amp;quot; au module Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
==== 2.2 Interception Série (UART) ====&lt;br /&gt;
J'ai soudé des connecteurs sur les pistes TX/RX et connecté un adaptateur USB-TTL pour lire le trafic sur notre PC.&lt;br /&gt;
&lt;br /&gt;
'''Recherche de la vitesse (Baudrate) avec Minicom :'''&lt;br /&gt;
&lt;br /&gt;
La première difficulté a été de trouver la vitesse de communication. J'ai testé les vitesses standards (9600, 115200) avec l'outil `minicom`.&lt;br /&gt;
* À des vitesses incorrectes, je recevais des caractères illisibles.&lt;br /&gt;
* En testant 38400 bauds, j'ai commencé à voir apparaître une structure répétitive cohérente en hexadécimal.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 15-57-04.png|néant|vignette|788x788px|Résultat a 9600 bauds]]&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 16-08-32.png|néant|vignette|790x790px|Résultat a 38400 bauds]]&lt;br /&gt;
'''Analyse de la parité (8N1 vs 7E1) :'''J'ai observé que l'affichage ASCII des données semblait corrompu par moment. Nous avons émis l'hypothèse d'un réglage de parité différent.&lt;br /&gt;
* Test en 7E1 (7 bits de données, Parité Paire) : L'octet d'en-tête `0xAA` (10101010 en binaire) était interprété comme le caractère `*` (0x2A), car le 8ème bit était pris pour un bit de parité.&lt;br /&gt;
* Conclusion : Le protocole est bien du 8N1 (8 bits de données, Pas de parité, 1 bit de stop)&lt;br /&gt;
&lt;br /&gt;
==== 2.3 Analyse des Trames (Reverse Engineering) ====&lt;br /&gt;
Pour analyser le flux plus efficacement qu'avec Minicom, j'ai développé un programme en C (`serial_reader.c`) utilisant la bibliothèque `termios` pour lire le port série octet par octet et afficher simultanément les valeurs Hexadécimales et ASCII.&lt;br /&gt;
&lt;br /&gt;
'''Observation du trafic :'''&lt;br /&gt;
&lt;br /&gt;
Grâce à ce programme, j'ai isolé deux comportements distincts :&lt;br /&gt;
&lt;br /&gt;
1.  État de Veille (Heartbeat) :&lt;br /&gt;
    Toutes les quelques secondes, une trame courte est envoyée. Elle contient l'octet `04`. Cela correspond au clignotement de la LED de l'alarme. Le système dit &amp;quot;Tout va bien&amp;quot;.&lt;br /&gt;
    &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Trame type : aa 23 ... 06 53 ... 04 ...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.  État d'Alarme (Choc Reset) :&lt;br /&gt;
    Lorsque j'appuie sur le bouton de test (Reset), le comportement change radicalement :&lt;br /&gt;
    * La fréquence des paquets augmente (flood).&lt;br /&gt;
    * L'octet de donnée change de `04` à **`24`**.&lt;br /&gt;
    * Un nouveau DPID (Data Point ID) `54` apparaît brièvement.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-33.png|sans_cadre|547x547px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-16.png|sans_cadre|1018x1018px]]&lt;br /&gt;
; Conclusion de l'analyse logique&lt;br /&gt;
: L'alarme communique en clair avec le module Wi-Fi. L'octet 0x23 est la commande &amp;quot;ALERTE&amp;quot;. Si je parvenons à injecter cette trame, je pourais déclencher une fausse alerte sur le téléphone sans fumée.&lt;br /&gt;
&lt;br /&gt;
==== 2.4 Validation Physique à l'Oscilloscope ====&lt;br /&gt;
Pour confirmer scientifiquement la vitesse de transmission (Baudrate) et valider nos réglages logiciels, j'ai utilisé un oscilloscope numérique sur la broche TX.&lt;br /&gt;
&lt;br /&gt;
'''Méthodologie de mesure :'''&lt;br /&gt;
&lt;br /&gt;
1.  Capture d'une trame de données en mode &amp;quot;Single Trigger&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.  Utilisation des curseurs pour mesurer la largeur du bit le plus étroit (le bit élémentaire).&lt;br /&gt;
[[Fichier:1000103578.jpg|centré|sans_cadre|582x582px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Calculs :'''&lt;br /&gt;
&lt;br /&gt;
Sur l'oscilloscope, j'ai mesuré une largeur de 52.00 µs pour une séquence de ce qui semblait être deux bits identiques consécutifs (un creux large).&lt;br /&gt;
* Durée d'un bit T&amp;lt;sub&amp;gt;bit&amp;lt;/sub&amp;gt; : 52 µs / 2 = 26 µs.&lt;br /&gt;
* Formule du Baudrate : Frequency = 1 / T&amp;lt;sub&amp;gt;bit&amp;lt;/sub&amp;gt;&lt;br /&gt;
* Application numérique : 1 / 0.000026 ≃ 38461 Bauds.&lt;br /&gt;
&lt;br /&gt;
'''Résultat :'''&lt;br /&gt;
&lt;br /&gt;
La valeur calculée (38461) est extrêmement proche de la valeur standard 38400 Bauds. Cette mesure physique confirme indiscutablement que notre configuration logicielle pour l'interception était correcte.&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:1000103578.jpg&amp;diff=11343</id>
		<title>Fichier:1000103578.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:1000103578.jpg&amp;diff=11343"/>
		<updated>2026-01-24T22:25:17Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;dddd&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11342</id>
		<title>SE5 IdO sécurité des objets 2025/2026 b2</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11342"/>
		<updated>2026-01-24T22:24:54Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* 2.4 Validation Physique à l'Oscilloscope */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;div class=&amp;quot;mcwiki-header&amp;quot; style=&amp;quot;border-radius: 40px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 130%; background: #14164f; vertical-align: top; width: 98%; font-family: 'Poppins', sans-serif;&amp;quot;&amp;gt;🌐 TP Infrastructure Réseau 🛜&amp;lt;/div&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Ce wiki documente la mise en place d’une petite infrastructure réseau pédagogique pour le TP 2025/2026.  &lt;br /&gt;
&lt;br /&gt;
L’objectif est de '''déployer un serveur virtuel''' sur ''capbreton'', d’y '''terminer un VLAN privé''' (ici '''409''' car je suis a la Zabeth 09), puis d’implanter les services exigés : '''DHCP''', '''DNS (forwarder + zone locale d’interception)''', '''NAT/mascarade''', et '''redirection réseau''' pour l’HTTP.  &lt;br /&gt;
&lt;br /&gt;
Des choix techniques sont explicités à chaque étape (pourquoi tel fichier, telle option, tel service), afin d’argumenter les décisions et permettre la reproductibilité.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur virtuel (17/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
La VM est créée sur &amp;lt;code&amp;gt;Xen&amp;lt;/code&amp;gt; depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec une unique interface reliée à &amp;lt;code&amp;gt;bridgeStudents&amp;lt;/code&amp;gt;, conformément au sujet (routage par &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt; côté salles projets).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image \&lt;br /&gt;
  --hostname=SE5.kelbachi \&lt;br /&gt;
  --dhcp \&lt;br /&gt;
  --bridge=bridgeStudents \&lt;br /&gt;
  --dir=/usr/local/xen \&lt;br /&gt;
  --size=10GB \&lt;br /&gt;
  --dist=daedalus \&lt;br /&gt;
  --memory=2G \&lt;br /&gt;
  --force&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi cette commande ?&lt;br /&gt;
: &amp;lt;code&amp;gt;--bridge=bridgeStudents&amp;lt;/code&amp;gt; impose l’unique attachement réseau demandé ; &amp;lt;code&amp;gt;--dist=daedalus&amp;lt;/code&amp;gt; assure une base Devuan stable (&amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; classique) ; les ressources (2 Gio RAM/10 Gio disque) suffisent pour DHCP/DNS/NAT.&lt;br /&gt;
&lt;br /&gt;
Démarrage et accès console :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xl create -c /etc/xen/SE5.kelbachi.cfg&lt;br /&gt;
# Ctrl+] pour détacher la console sans éteindre&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adresse routée (réseau des salles projets) ===&lt;br /&gt;
Configuration statique avec passerelle &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt;. On choisit une IP libre dans la plage fournie (exemple &amp;lt;code&amp;gt;172.26.145.109/24&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (extrait)&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.26.145.109/24&lt;br /&gt;
    gateway 172.26.145.251&lt;br /&gt;
    dns-nameservers 1.1.1.1 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi une IP statique ?&lt;br /&gt;
: Le sujet exige un adressage maîtrisé côté salles projets et une route par défaut vers le routeur NAT de la salle. C’est la base pour que la VM accède à Internet et puisse, ensuite, NATer les clients WiFi.&lt;br /&gt;
&lt;br /&gt;
=== Interface privée (VLAN 409) ===&lt;br /&gt;
Le réseau privé associé à &amp;lt;code&amp;gt;X=09&amp;lt;/code&amp;gt; est &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt;. La VM termine ce VLAN avec l’adresse &amp;lt;code&amp;gt;172.16.9.1/24&amp;lt;/code&amp;gt; (gateway &amp;amp; DNS pour les clients).  &lt;br /&gt;
Dans notre mise en place, l’interface privée est &amp;lt;code&amp;gt;eth1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (complément)&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 172.16.9.1/24&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifications :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip a&lt;br /&gt;
ip r&lt;br /&gt;
ping -c3 172.26.145.251&lt;br /&gt;
ping -c3 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Point d’accès Cisco – SSID WPA2-PSK (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Connexion '''console série''' (9600 8N1, sans control flow) avec Minicom.  &lt;br /&gt;
Après habilitation, création d’un SSID attaché au &amp;lt;code&amp;gt;VLAN 409&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dot11 ssid SE5-SSID09&lt;br /&gt;
  vlan 409&lt;br /&gt;
  authentication open&lt;br /&gt;
  authentication key-management wpa version 2&lt;br /&gt;
  wpa-psk ascii Cisco2025&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
interface dot11radio 0&lt;br /&gt;
  encryption mode ciphers aes-ccm&lt;br /&gt;
  ssid SE5-SSID09&lt;br /&gt;
  station-role root&lt;br /&gt;
  no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous laissons de cote cette partie car elle n'est pas bloquante pour la suite du TP.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur DHCP (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Distribution automatisée d’adresses &amp;lt;code&amp;gt;172.16.9.100–200&amp;lt;/code&amp;gt; aux clients du VLAN 409, avec routeur et DNS pointant vers la VM.&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install -y isc-dhcp-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/dhcp/dhcpd.conf&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
subnet 172.16.9.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 172.16.9.100 172.16.9.200;&lt;br /&gt;
  option routers 172.16.9.1;&lt;br /&gt;
  option domain-name-servers 172.16.9.1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Mascarade (NAT) – Accès Internet (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Activation du routage IPv4 et NAT du réseau &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt; vers &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
sed -i 's/^#\?net\.ipv4\.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi la mascarade ? &lt;br /&gt;
: Les clients WiFi utilisent des adresses privées. Le NAT traduit leurs paquets pour qu’ils sortent avec l’IP de la VM côté salles projets.  &lt;br /&gt;
: Sans NAT, pas d’Internet pour le VLAN 409.&lt;br /&gt;
&lt;br /&gt;
Persistance :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install -y iptables-persistent&lt;br /&gt;
netfilter-persistent save&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Interception de flux (04/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;Redirection par DNS (zone locale)&amp;lt;/span&amp;gt; ===&lt;br /&gt;
On implémente une '''zone primaire''' sur la VM pour rediriger &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt; et tous ses sous-domaines vers la VM.  &lt;br /&gt;
Service '''BIND''' sous Devuan : nom de service systemd = &amp;lt;code&amp;gt;named&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Déclaration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.local&lt;br /&gt;
zone &amp;quot;picoctf.org&amp;quot; {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.picoctf.org&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zone :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dns&amp;quot;&amp;gt;&lt;br /&gt;
$TTL  200&lt;br /&gt;
@  IN SOA ns.picoctf.org. admin.picoctf.org. (&lt;br /&gt;
    2025100403 ; Serial&lt;br /&gt;
    3600       ; Refresh&lt;br /&gt;
    1800       ; Retry&lt;br /&gt;
    604800     ; Expire&lt;br /&gt;
    86400 )    ; Minimum&lt;br /&gt;
&lt;br /&gt;
        IN NS  ns.picoctf.org.&lt;br /&gt;
ns      IN A   172.16.9.1&lt;br /&gt;
@       IN A   172.16.9.1&lt;br /&gt;
www     IN CNAME ns&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options (écoute VLAN) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.options (extrait)&lt;br /&gt;
options {&lt;br /&gt;
  directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
  recursion yes;&lt;br /&gt;
  allow-query { 172.16.9.0/24; 127.0.0.1; };&lt;br /&gt;
  forwarders { 1.1.1.1; 8.8.8.8; };&lt;br /&gt;
  listen-on { 172.16.9.1; 127.0.0.1; };&lt;br /&gt;
  dnssec-validation auto;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Service &amp;amp; vérifs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable named&lt;br /&gt;
systemctl restart named&lt;br /&gt;
named-checkconf&lt;br /&gt;
named-checkzone picoctf.org /etc/bind/db.picoctf.org&lt;br /&gt;
dig @127.0.0.1 picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 www.picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 test.picoctf.org +short   # wildcard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[Fichier:Screenshot from 2025-10-04 08-33-01.png|centré|sans_cadre|600x600px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Redirection réseau&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Mise en place d’une REDIRECT pour capter le HTTP et le diriger vers un service local.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Table nat propre&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
&lt;br /&gt;
# Interception HTTP&lt;br /&gt;
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080&lt;br /&gt;
&lt;br /&gt;
# NAT format TP (409)&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur Apache sécurisé (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Dans cette partie, l’objectif est de mettre en place un serveur web sécurisé en HTTPS avec un certificat signé par une autorité locale.  &lt;br /&gt;
J'utilise ici le domaine d’exemple &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;, déjà intercepté par notre DNS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Création d’un certificat auto-signé&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Avant toute chose, je génère un certificat auto-signé permettant à Apache de servir du HTTPS localement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -nodes -days 365 \&lt;br /&gt;
  -newkey rsa:2048 \&lt;br /&gt;
  -keyout /etc/ssl/apache/apache-selfsigned.key \&lt;br /&gt;
  -out /etc/ssl/apache/apache-selfsigned.crt \&lt;br /&gt;
  -subj &amp;quot;/C=FR/ST=Nord/L=Lille/O=Polytech/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Configuration d’Apache2&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je crée un nouveau fichier de configuration HTTPS dans &amp;lt;code&amp;gt;/etc/apache2/sites-available/secure-site.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName picoctf&lt;br /&gt;
    DocumentRoot /var/www/html&lt;br /&gt;
&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLCertificateFile /etc/apache2/sites-available/apache.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/apache2/sites-available/apache.key&lt;br /&gt;
&lt;br /&gt;
    # Logs SSL&lt;br /&gt;
    ErrorLog ${APACHE_LOG_DIR}/ssl-error.log&lt;br /&gt;
    CustomLog ${APACHE_LOG_DIR}/ssl-access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# HTTP vers HTTPS&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName picoctf.org&lt;br /&gt;
    Redirect permanent / https://picoctf.org/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette configuration active le service sur le port '''443''' et redirige automatiquement les connexions HTTP vers HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;3. Création d’une autorité de certification locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Afin de simuler un certificat signé par une autorité de confiance, je crée une CA interne appelée &amp;quot;Certif&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -new -nodes \&lt;br /&gt;
  -keyout ca.key -sha256 -days 365 \&lt;br /&gt;
  -out ca.crt -subj &amp;quot;/CN=Certif&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;4. Signature du certificat Apache avec l’autorité locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je commence par créer une demande de signature (CSR) pour le serveur Apache :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -new -newkey rsa:2048 -nodes \&lt;br /&gt;
  -keyout apache.key -out apache.csr \&lt;br /&gt;
  -subj &amp;quot;/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis je signe cette requête avec notre autorité &amp;lt;code&amp;gt;Certif&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl x509 -req -in apache.csr \&lt;br /&gt;
  -CA ca.crt -CAkey ca.key -CAcreateserial \&lt;br /&gt;
  -out apache.crt -days 365 -sha256&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je remplace ensuite dans la configuration Apache les fichiers de certificat auto-signés par ceux nouvellement générés :&lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.crt&amp;lt;/code&amp;gt;  &lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.key&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redémarrage du service :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
a2ensite secure-site.conf&lt;br /&gt;
systemctl reload apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Machine virtuelle Android&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Lorsque je tente d’accéder à &amp;lt;code&amp;gt;https://picoctf.org&amp;lt;/code&amp;gt; depuis un appareil Android récent, le certificat de l’autorité “Certif” n’est pas reconnu.[[Fichier:Screenshot from 2025-10-10 15-30-32.png|centré|sans_cadre|954x954px]]Pour contourner cela, il est possible d’installer une ancienne machine Android (par exemple sous '''Android 4.x'''), où l’ajout manuel d’une autorité de certification est encore possible.&lt;br /&gt;
&lt;br /&gt;
Sur cette Android, après quelques ajustements réseau, il est possible d’importer le certificat racine Certif et ainsi naviguer vers le faux site &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Appareil Android physique (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Enfin, le même test a été reproduit sur la tablette Android 4.4 de mon camarade, une version qui permet encore l’ajout d’autorités de certification manuellement.&lt;br /&gt;
&lt;br /&gt;
En important le fichier `ca.crt` dans les paramètres de sécurité, le site `https://picoctf.org` devient totalement “sécurisé” : le navigateur affiche le cadenas vert , confirmant que la connexion est chiffrée et que le certificat est reconnu par le système.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-10-04-04.png|droite|sans_cadre|419x419px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-09-21-51.png|sans_cadre|706x706px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Problèmes rencontrés&amp;lt;/span&amp;gt; ==&lt;br /&gt;
* Console Cisco muette : causée par le '''flow control'''. Solution : désactiver hardware &amp;amp; software flow control dans minicom (9600, 8N1, &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Erreur AP &amp;lt;code&amp;gt;cipher not configured&amp;lt;/code&amp;gt; : corriger en posant `authentication ... version 2` côté SSID et &amp;lt;code&amp;gt;encryption mode ciphers aes-ccm&amp;lt;/code&amp;gt; côté radio.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Partie 2 : Casse d'objets connectés - Alarme incendie (IoT)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
L'objectif est d'intercepter les communications HTTPS de l'application mobile Nedis SmartLife pour récupérer la localKey de l'alarme.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Approche Logicielle : Virtualisation Android&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
J'ai exploré plusieurs méthodes de virtualisation pour obtenir un environnement Android capable de faire tourner l'application tout en étant root pour injecter le certificat en mode système et non pas utilisateur comme cela se passerai sur des versions android plus récentes que celle de la tablette utilisée plus tot.&lt;br /&gt;
&lt;br /&gt;
==== Phase 1 : VM Android x86 sur Xen ====&lt;br /&gt;
Première tentative avec une image ISO Android-x86.&lt;br /&gt;
&lt;br /&gt;
'''Configuration Réseau (Lien avec le Cisco) :'''&lt;br /&gt;
&lt;br /&gt;
Pour que cette VM puisse communiquer avec notre infrastructure (VLAN, Accès Internet via notre passerelle), nous avons dû modifier la configuration réseau pour la lier au pont `bridgeStudents` et lui attribuer une IP statique dans notre plage.&lt;br /&gt;
&lt;br /&gt;
Modification du fichier &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; (ou configuration via console selon la version) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.16.9.150&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 172.16.9.1&lt;br /&gt;
    dns-nameservers 172.16.9.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.1 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
J'ai d'abord tenté d'émuler Android &amp;quot;à la main&amp;quot; via QEMU/KVM en utilisant plusieurs images ISO (Android x86 versions 6 à 9). Cette méthode légère permettait théoriquement un contrôle total sur les paramètres de lancement.Commandes utilisées pour les différents tests :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Test basique en mode user net&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw&lt;br /&gt;
&lt;br /&gt;
# Boot sur ISO pour installation&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw -cdrom android-x86-9.0.iso -boot d&lt;br /&gt;
&lt;br /&gt;
# Tentative avancée (USB passthrough et CPU host)&lt;br /&gt;
qemu-system-x86_64 \&lt;br /&gt;
    -m 2048 \&lt;br /&gt;
    -enable-kvm \&lt;br /&gt;
    -cpu host \&lt;br /&gt;
    -smp 2 \&lt;br /&gt;
    -display sdl \&lt;br /&gt;
    -drive file=android.img,format=raw,if=virtio \&lt;br /&gt;
    -usb \&lt;br /&gt;
    -device usb-host,vendorid=0x148f,productid=0x5370&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Problème rencontré &lt;br /&gt;
;L'application ne se lance pas&lt;br /&gt;
L'installation de l'OS fonctionne, le réseau fonctionne, l'APK Nedis se télécharge, mais l'application crashe immédiatement au lancement.&lt;br /&gt;
&lt;br /&gt;
; Analyse technique&lt;br /&gt;
Pour comprendre, nous avons analysé le fichier APK lui-même en le convertissant en archive ZIP pour explorer son contenu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Renommage pour extraction&lt;br /&gt;
mv nedis-smartlife.apk nedis-smartlife.zip&lt;br /&gt;
unzip nedis-smartlife.zip -d analyse_apk&lt;br /&gt;
&lt;br /&gt;
# Inspection des bibliothèques natives&lt;br /&gt;
ls -R analyse_apk/lib/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Résultat de l'analyse &lt;br /&gt;
Le dossier &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt; ne contient que des sous-dossiers &amp;lt;code&amp;gt;armeabi-v7a&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;arm64-v8a&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Conclusion : L'application est compilée avec des instructions natives pour processeurs ARM.&lt;br /&gt;
* Cause du crash : Notre VM tourne sur une architecture x86_64. Sans bibliothèques compatibles (x86) ni traducteur binaire (libhoudini) fonctionnel, l'application ne peut pas s'exécuter.&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.2 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
Pour pallier le problème d'architecture ou de version, nous avons testé l'émulation brute via QEMU.&lt;br /&gt;
&lt;br /&gt;
'''1. Tentative d'émulation ARM (Android 4.4)'''&lt;br /&gt;
&lt;br /&gt;
Sur conseil, j'ai tenté d'émuler une architecture ARM pour être compatible avec les librairies de l'application.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install qemu-system-arm&lt;br /&gt;
# Lancement de l'image Android 4.4 ARM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Résultat : L'architecture est bonne, mais la version d'Android (4.4 KitKat) est trop ancienne. L'application Nedis requiert une API plus récente (Android 6.0+) et refuse de s'installer.&lt;br /&gt;
&lt;br /&gt;
; Bilan des tests QEMU &lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 16-15-27.png|droite|sans_cadre|488x488px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 17-58-08.png|gauche|sans_cadre|494x494px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aucune VM n'a été exploitable pour des raisons variées :&lt;br /&gt;
* Pas de Google Play Services (impossible de télécharger l'app).&lt;br /&gt;
* Version trop ancienne.&lt;br /&gt;
* Impossibilité de passer root sur les versions récentes.&lt;br /&gt;
&lt;br /&gt;
==== Phase 3 : La Réussite avec Android Studio ====&lt;br /&gt;
Je suis passée à Android Studio pour créer un émulateur (AVD) stable et récent.&lt;br /&gt;
&lt;br /&gt;
'''1. Installation'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Décompression et déplacement dans /opt ou ~/&lt;br /&gt;
tar -xvf android-studio-*.tar.gz&lt;br /&gt;
sudo mv android-studio /opt/&lt;br /&gt;
/opt/android-studio/bin/studio.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le SDK s'installe dans &amp;lt;code&amp;gt;~/Android/Sdk/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''2. Création de l'AVD (Attention à l'architecture)'''&lt;br /&gt;
* Tentative initiale avec une image Pixel 4 / Android 10 ARM64.&lt;br /&gt;
* Erreur : &amp;lt;code&amp;gt;AVD's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host&amp;lt;/code&amp;gt;. L'émulation ARM sur x86 est trop lente ou non supportée par défaut.&lt;br /&gt;
* Correction : Choix d'une image Google APIs x86_64 (Android 12 / API 31).&lt;br /&gt;
&lt;br /&gt;
'''3. Installation de l'application'''&lt;br /&gt;
&lt;br /&gt;
L'APK officiel du Play Store ne fonctionnant pas toujours sur émulateur, j'ai récupéré l'APK compatible via Aptoide (&amp;lt;code&amp;gt;https://nedis-smartlife.en.aptoide.com/app&amp;lt;/code&amp;gt;). L'installation fonctionne.&lt;br /&gt;
&lt;br /&gt;
'''4. Root et Injection du Certificat (Succès avec Magisk)'''&lt;br /&gt;
&lt;br /&gt;
Pour injecter le certificat système sur Android 12 (où la partition &amp;lt;code&amp;gt;/system&amp;lt;/code&amp;gt; est en lecture seule via dm-verity), nous avons utilisé Magisk et un script d'automatisation (RootAVD).&lt;br /&gt;
&lt;br /&gt;
Commandes et procédure :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Commandes ADB classiques (insuffisantes seules)&lt;br /&gt;
adb root&lt;br /&gt;
adb shell avbctl disable-verification&lt;br /&gt;
adb reboot&lt;br /&gt;
adb wait-for-device root&lt;br /&gt;
adb remount&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'injection directe via &amp;lt;code&amp;gt;adb push&amp;lt;/code&amp;gt; échouait (`Read-only file system`)&lt;br /&gt;
&lt;br /&gt;
Solution : Installation d'un module Magisk spécifique via le script RootAVD. Ce module monte le certificat en &amp;quot;overlay&amp;quot; au démarrage, contournant la protection en écriture.&lt;br /&gt;
; Résultat Final&lt;br /&gt;
[[Fichier:Perso.png|centré|sans_cadre|547x547px]]&lt;br /&gt;
* La VM est rootée.&lt;br /&gt;
* Le certificat est reconnu par le système.&lt;br /&gt;
* L'application Nedis se lance.&lt;br /&gt;
* Nous pouvons désormais intercepter le trafic HTTPS.&lt;br /&gt;
&lt;br /&gt;
==== Changement de stratégie ====&lt;br /&gt;
Face à l'impasse technique de la virtualisation (problèmes d'architecture CPU et de droits Root persistants), j'ai décidé de réévaluer le vecteur d'attaque.&lt;br /&gt;
&lt;br /&gt;
En effectuant une inspection physique du détecteur de fumée (démontage du boîtier), j'ai repéré sur le circuit imprimé (PCB) une série de pistes et de broches non soudées ressemblant fortement à un port de programmation ou de débogage.&lt;br /&gt;
[[Fichier:1000096446.jpg|gauche|vignette|398x398px]]&lt;br /&gt;
[[Fichier:1000096443.jpg|centré|vignette|407x407px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plutôt que de continuer à lutter contre les sécurités logicielles d'Android, j'ai choisi de pivoter vers une analyse matérielle . L'hypothèse est simple : si le trafic réseau est chiffré, les données transitant en clair entre le microcontrôleur de l'alarme et son module Wi-Fi sont peut-être accessibles via ce port physique.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Approche Matérielle&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Devant les difficultés de l'attaque logicielle, j'ai ouvert le boîtier de l'alarme pour analyser son fonctionnement interne et tenter d'intercepter les communications avant qu'elles ne soient chiffrées par le module Wi-Fi.&lt;br /&gt;
[[Fichier:1000096443.jpg|droite|sans_cadre|285x285px]]&lt;br /&gt;
&lt;br /&gt;
==== 2.1 Inspection du PCB et Identification des composants ====&lt;br /&gt;
Après démontage, nous avons identifié deux éléments principaux sur le circuit imprimé (PCB) :&lt;br /&gt;
* Le Microcontrôleur principal (MCU) :  Il gère le capteur optique de fumée, le bouton de test et le buzzer piézoélectrique.&lt;br /&gt;
* Le Module de Communication (TYWE3S) : Il s'agit d'un module basé sur l'ESP8266, fabriqué par Tuya. Son rôle est uniquement de gérer la connexion Wi-Fi et l'envoi des données vers le Cloud (Nedis/Tuya).&lt;br /&gt;
&lt;br /&gt;
'''Découverte majeure :'''&lt;br /&gt;
&lt;br /&gt;
En observant les pistes reliant le MCU au module TYWE3S, j'ai repéré des broches non soudées mais clairement étiquetées : VCC, GND, RX, TX. &lt;br /&gt;
&lt;br /&gt;
Il s'agit d'un port série (UART) utilisé pour la communication entre le processeur de l'alarme et le module Wi-Fi. C'est notre vecteur d'attaque : si je regarde ce qui en sort, nous pouvons voir ce que l'alarme &amp;quot;dit&amp;quot; au module Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
==== 2.2 Interception Série (UART) ====&lt;br /&gt;
J'ai soudé des connecteurs sur les pistes TX/RX et connecté un adaptateur USB-TTL pour lire le trafic sur notre PC.&lt;br /&gt;
&lt;br /&gt;
'''Recherche de la vitesse (Baudrate) avec Minicom :'''&lt;br /&gt;
&lt;br /&gt;
La première difficulté a été de trouver la vitesse de communication. J'ai testé les vitesses standards (9600, 115200) avec l'outil `minicom`.&lt;br /&gt;
* À des vitesses incorrectes, je recevais des caractères illisibles.&lt;br /&gt;
* En testant 38400 bauds, j'ai commencé à voir apparaître une structure répétitive cohérente en hexadécimal.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 15-57-04.png|néant|vignette|788x788px|Résultat a 9600 bauds]]&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 16-08-32.png|néant|vignette|790x790px|Résultat a 38400 bauds]]&lt;br /&gt;
'''Analyse de la parité (8N1 vs 7E1) :'''J'ai observé que l'affichage ASCII des données semblait corrompu par moment. Nous avons émis l'hypothèse d'un réglage de parité différent.&lt;br /&gt;
* Test en 7E1 (7 bits de données, Parité Paire) : L'octet d'en-tête `0xAA` (10101010 en binaire) était interprété comme le caractère `*` (0x2A), car le 8ème bit était pris pour un bit de parité.&lt;br /&gt;
* Conclusion : Le protocole est bien du 8N1 (8 bits de données, Pas de parité, 1 bit de stop)&lt;br /&gt;
&lt;br /&gt;
==== 2.3 Analyse des Trames (Reverse Engineering) ====&lt;br /&gt;
Pour analyser le flux plus efficacement qu'avec Minicom, j'ai développé un programme en C (`serial_reader.c`) utilisant la bibliothèque `termios` pour lire le port série octet par octet et afficher simultanément les valeurs Hexadécimales et ASCII.&lt;br /&gt;
&lt;br /&gt;
'''Observation du trafic :'''&lt;br /&gt;
&lt;br /&gt;
Grâce à ce programme, nous avons isolé deux comportements distincts :&lt;br /&gt;
&lt;br /&gt;
1.  État de Veille (Heartbeat) :&lt;br /&gt;
    Toutes les quelques secondes, une trame courte est envoyée. Elle contient l'octet `04`. Cela correspond au clignotement de la LED de l'alarme. Le système dit &amp;quot;Tout va bien&amp;quot;.&lt;br /&gt;
    &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Trame type : aa 23 ... 06 53 ... 04 ...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.  État d'Alarme (Choc Reset) :&lt;br /&gt;
    Lorsque nous appuyons sur le bouton de test (Reset), le comportement change radicalement :&lt;br /&gt;
    * La fréquence des paquets augmente (flood).&lt;br /&gt;
    * L'octet de donnée change de `04` à **`24`**.&lt;br /&gt;
    * Un nouveau DPID (Data Point ID) `54` apparaît brièvement.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-33.png|sans_cadre|547x547px]][[Fichier:Screenshot 2025-12-16 17-56-16.png|sans_cadre|1018x1018px]]&lt;br /&gt;
; Conclusion de l'analyse logique&lt;br /&gt;
: L'alarme communique en clair avec le module Wi-Fi. L'octet 0x23 est la commande &amp;quot;ALERTE&amp;quot;. Si je parvenons à injecter cette trame, nous pourrions déclencher une fausse alerte sur le téléphone sans fumée.&lt;br /&gt;
&lt;br /&gt;
==== 2.4 Validation Physique à l'Oscilloscope ====&lt;br /&gt;
Pour confirmer scientifiquement la vitesse de transmission (Baudrate) et valider nos réglages logiciels, nous avons utilisé un oscilloscope numérique sur la broche TX.&lt;br /&gt;
&lt;br /&gt;
'''Méthodologie de mesure :'''&lt;br /&gt;
1.  Capture d'une trame de données en mode &amp;quot;Single Trigger&amp;quot;.&lt;br /&gt;
2.  Utilisation des curseurs pour mesurer la largeur du bit le plus étroit (le bit élémentaire).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Calculs :'''&lt;br /&gt;
Sur l'oscilloscope, nous avons mesuré une largeur de **52.00 µs** pour une séquence de ce qui semblait être deux bits identiques consécutifs (un creux large).&lt;br /&gt;
* Durée d'un bit ($T_{bit}$) : $52 \mu s / 2 = 26 \mu s$.&lt;br /&gt;
* Formule du Baudrate : $Frequency = 1 / T_{bit}$&lt;br /&gt;
* Application numérique : $1 / 0.000026 \approx 38461$ Bauds.&lt;br /&gt;
&lt;br /&gt;
'''Résultat :'''&lt;br /&gt;
La valeur calculée (38461) est extrêmement proche de la valeur standard **38400 Bauds**. Cette mesure physique confirme indiscutablement que notre configuration logicielle pour l'interception était correcte.&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11341</id>
		<title>SE5 IdO sécurité des objets 2025/2026 b2</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE5_IdO_s%C3%A9curit%C3%A9_des_objets_2025/2026_b2&amp;diff=11341"/>
		<updated>2026-01-24T22:24:32Z</updated>

		<summary type="html">&lt;p&gt;Kelbachi : /* 2. Approche Matérielle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;div class=&amp;quot;mcwiki-header&amp;quot; style=&amp;quot;border-radius: 40px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 130%; background: #14164f; vertical-align: top; width: 98%; font-family: 'Poppins', sans-serif;&amp;quot;&amp;gt;🌐 TP Infrastructure Réseau 🛜&amp;lt;/div&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Ce wiki documente la mise en place d’une petite infrastructure réseau pédagogique pour le TP 2025/2026.  &lt;br /&gt;
&lt;br /&gt;
L’objectif est de '''déployer un serveur virtuel''' sur ''capbreton'', d’y '''terminer un VLAN privé''' (ici '''409''' car je suis a la Zabeth 09), puis d’implanter les services exigés : '''DHCP''', '''DNS (forwarder + zone locale d’interception)''', '''NAT/mascarade''', et '''redirection réseau''' pour l’HTTP.  &lt;br /&gt;
&lt;br /&gt;
Des choix techniques sont explicités à chaque étape (pourquoi tel fichier, telle option, tel service), afin d’argumenter les décisions et permettre la reproductibilité.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur virtuel (17/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
La VM est créée sur &amp;lt;code&amp;gt;Xen&amp;lt;/code&amp;gt; depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec une unique interface reliée à &amp;lt;code&amp;gt;bridgeStudents&amp;lt;/code&amp;gt;, conformément au sujet (routage par &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt; côté salles projets).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image \&lt;br /&gt;
  --hostname=SE5.kelbachi \&lt;br /&gt;
  --dhcp \&lt;br /&gt;
  --bridge=bridgeStudents \&lt;br /&gt;
  --dir=/usr/local/xen \&lt;br /&gt;
  --size=10GB \&lt;br /&gt;
  --dist=daedalus \&lt;br /&gt;
  --memory=2G \&lt;br /&gt;
  --force&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi cette commande ?&lt;br /&gt;
: &amp;lt;code&amp;gt;--bridge=bridgeStudents&amp;lt;/code&amp;gt; impose l’unique attachement réseau demandé ; &amp;lt;code&amp;gt;--dist=daedalus&amp;lt;/code&amp;gt; assure une base Devuan stable (&amp;lt;code&amp;gt;ifupdown&amp;lt;/code&amp;gt; classique) ; les ressources (2 Gio RAM/10 Gio disque) suffisent pour DHCP/DNS/NAT.&lt;br /&gt;
&lt;br /&gt;
Démarrage et accès console :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xl create -c /etc/xen/SE5.kelbachi.cfg&lt;br /&gt;
# Ctrl+] pour détacher la console sans éteindre&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adresse routée (réseau des salles projets) ===&lt;br /&gt;
Configuration statique avec passerelle &amp;lt;code&amp;gt;172.26.145.251&amp;lt;/code&amp;gt;. On choisit une IP libre dans la plage fournie (exemple &amp;lt;code&amp;gt;172.26.145.109/24&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (extrait)&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.26.145.109/24&lt;br /&gt;
    gateway 172.26.145.251&lt;br /&gt;
    dns-nameservers 1.1.1.1 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi une IP statique ?&lt;br /&gt;
: Le sujet exige un adressage maîtrisé côté salles projets et une route par défaut vers le routeur NAT de la salle. C’est la base pour que la VM accède à Internet et puisse, ensuite, NATer les clients WiFi.&lt;br /&gt;
&lt;br /&gt;
=== Interface privée (VLAN 409) ===&lt;br /&gt;
Le réseau privé associé à &amp;lt;code&amp;gt;X=09&amp;lt;/code&amp;gt; est &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt;. La VM termine ce VLAN avec l’adresse &amp;lt;code&amp;gt;172.16.9.1/24&amp;lt;/code&amp;gt; (gateway &amp;amp; DNS pour les clients).  &lt;br /&gt;
Dans notre mise en place, l’interface privée est &amp;lt;code&amp;gt;eth1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/network/interfaces (complément)&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 172.16.9.1/24&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérifications :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip a&lt;br /&gt;
ip r&lt;br /&gt;
ping -c3 172.26.145.251&lt;br /&gt;
ping -c3 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Point d’accès Cisco – SSID WPA2-PSK (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Connexion '''console série''' (9600 8N1, sans control flow) avec Minicom.  &lt;br /&gt;
Après habilitation, création d’un SSID attaché au &amp;lt;code&amp;gt;VLAN 409&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dot11 ssid SE5-SSID09&lt;br /&gt;
  vlan 409&lt;br /&gt;
  authentication open&lt;br /&gt;
  authentication key-management wpa version 2&lt;br /&gt;
  wpa-psk ascii Cisco2025&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
interface dot11radio 0&lt;br /&gt;
  encryption mode ciphers aes-ccm&lt;br /&gt;
  ssid SE5-SSID09&lt;br /&gt;
  station-role root&lt;br /&gt;
  no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous laissons de cote cette partie car elle n'est pas bloquante pour la suite du TP.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur DHCP (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Distribution automatisée d’adresses &amp;lt;code&amp;gt;172.16.9.100–200&amp;lt;/code&amp;gt; aux clients du VLAN 409, avec routeur et DNS pointant vers la VM.&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install -y isc-dhcp-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/dhcp/dhcpd.conf&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
subnet 172.16.9.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 172.16.9.100 172.16.9.200;&lt;br /&gt;
  option routers 172.16.9.1;&lt;br /&gt;
  option domain-name-servers 172.16.9.1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Mascarade (NAT) – Accès Internet (29/09)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Activation du routage IPv4 et NAT du réseau &amp;lt;code&amp;gt;172.16.9.0/24&amp;lt;/code&amp;gt; vers &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
sed -i 's/^#\?net\.ipv4\.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Pourquoi la mascarade ? &lt;br /&gt;
: Les clients WiFi utilisent des adresses privées. Le NAT traduit leurs paquets pour qu’ils sortent avec l’IP de la VM côté salles projets.  &lt;br /&gt;
: Sans NAT, pas d’Internet pour le VLAN 409.&lt;br /&gt;
&lt;br /&gt;
Persistance :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install -y iptables-persistent&lt;br /&gt;
netfilter-persistent save&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Interception de flux (04/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;Redirection par DNS (zone locale)&amp;lt;/span&amp;gt; ===&lt;br /&gt;
On implémente une '''zone primaire''' sur la VM pour rediriger &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt; et tous ses sous-domaines vers la VM.  &lt;br /&gt;
Service '''BIND''' sous Devuan : nom de service systemd = &amp;lt;code&amp;gt;named&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Déclaration :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.local&lt;br /&gt;
zone &amp;quot;picoctf.org&amp;quot; {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.picoctf.org&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zone :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dns&amp;quot;&amp;gt;&lt;br /&gt;
$TTL  200&lt;br /&gt;
@  IN SOA ns.picoctf.org. admin.picoctf.org. (&lt;br /&gt;
    2025100403 ; Serial&lt;br /&gt;
    3600       ; Refresh&lt;br /&gt;
    1800       ; Retry&lt;br /&gt;
    604800     ; Expire&lt;br /&gt;
    86400 )    ; Minimum&lt;br /&gt;
&lt;br /&gt;
        IN NS  ns.picoctf.org.&lt;br /&gt;
ns      IN A   172.16.9.1&lt;br /&gt;
@       IN A   172.16.9.1&lt;br /&gt;
www     IN CNAME ns&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options (écoute VLAN) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;linux-config&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/bind/named.conf.options (extrait)&lt;br /&gt;
options {&lt;br /&gt;
  directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
  recursion yes;&lt;br /&gt;
  allow-query { 172.16.9.0/24; 127.0.0.1; };&lt;br /&gt;
  forwarders { 1.1.1.1; 8.8.8.8; };&lt;br /&gt;
  listen-on { 172.16.9.1; 127.0.0.1; };&lt;br /&gt;
  dnssec-validation auto;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Service &amp;amp; vérifs :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable named&lt;br /&gt;
systemctl restart named&lt;br /&gt;
named-checkconf&lt;br /&gt;
named-checkzone picoctf.org /etc/bind/db.picoctf.org&lt;br /&gt;
dig @127.0.0.1 picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 www.picoctf.org +short&lt;br /&gt;
dig @127.0.0.1 test.picoctf.org +short   # wildcard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[Fichier:Screenshot from 2025-10-04 08-33-01.png|centré|sans_cadre|600x600px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Redirection réseau&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Mise en place d’une REDIRECT pour capter le HTTP et le diriger vers un service local.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Table nat propre&lt;br /&gt;
iptables -t nat -F&lt;br /&gt;
&lt;br /&gt;
# Interception HTTP&lt;br /&gt;
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080&lt;br /&gt;
&lt;br /&gt;
# NAT format TP (409)&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.9.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
iptables -t nat -L -n -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Serveur Apache sécurisé (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Dans cette partie, l’objectif est de mettre en place un serveur web sécurisé en HTTPS avec un certificat signé par une autorité locale.  &lt;br /&gt;
J'utilise ici le domaine d’exemple &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;, déjà intercepté par notre DNS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Création d’un certificat auto-signé&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Avant toute chose, je génère un certificat auto-signé permettant à Apache de servir du HTTPS localement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -nodes -days 365 \&lt;br /&gt;
  -newkey rsa:2048 \&lt;br /&gt;
  -keyout /etc/ssl/apache/apache-selfsigned.key \&lt;br /&gt;
  -out /etc/ssl/apache/apache-selfsigned.crt \&lt;br /&gt;
  -subj &amp;quot;/C=FR/ST=Nord/L=Lille/O=Polytech/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Configuration d’Apache2&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je crée un nouveau fichier de configuration HTTPS dans &amp;lt;code&amp;gt;/etc/apache2/sites-available/secure-site.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    ServerName picoctf&lt;br /&gt;
    DocumentRoot /var/www/html&lt;br /&gt;
&lt;br /&gt;
    SSLEngine on&lt;br /&gt;
    SSLCertificateFile /etc/apache2/sites-available/apache.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/apache2/sites-available/apache.key&lt;br /&gt;
&lt;br /&gt;
    # Logs SSL&lt;br /&gt;
    ErrorLog ${APACHE_LOG_DIR}/ssl-error.log&lt;br /&gt;
    CustomLog ${APACHE_LOG_DIR}/ssl-access.log combined&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# HTTP vers HTTPS&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName picoctf.org&lt;br /&gt;
    Redirect permanent / https://picoctf.org/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette configuration active le service sur le port '''443''' et redirige automatiquement les connexions HTTP vers HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;3. Création d’une autorité de certification locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Afin de simuler un certificat signé par une autorité de confiance, je crée une CA interne appelée &amp;quot;Certif&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -new -nodes \&lt;br /&gt;
  -keyout ca.key -sha256 -days 365 \&lt;br /&gt;
  -out ca.crt -subj &amp;quot;/CN=Certif&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;4. Signature du certificat Apache avec l’autorité locale&amp;lt;/span&amp;gt; ===&lt;br /&gt;
Je commence par créer une demande de signature (CSR) pour le serveur Apache :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -new -newkey rsa:2048 -nodes \&lt;br /&gt;
  -keyout apache.key -out apache.csr \&lt;br /&gt;
  -subj &amp;quot;/CN=picoctf.org&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis je signe cette requête avec notre autorité &amp;lt;code&amp;gt;Certif&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
openssl x509 -req -in apache.csr \&lt;br /&gt;
  -CA ca.crt -CAkey ca.key -CAcreateserial \&lt;br /&gt;
  -out apache.crt -days 365 -sha256&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je remplace ensuite dans la configuration Apache les fichiers de certificat auto-signés par ceux nouvellement générés :&lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.crt&amp;lt;/code&amp;gt;  &lt;br /&gt;
&amp;lt;br&amp;gt;- &amp;lt;code&amp;gt;/etc/apache2/sites-available/apache.key&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redémarrage du service :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
a2ensite secure-site.conf&lt;br /&gt;
systemctl reload apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Machine virtuelle Android&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Lorsque je tente d’accéder à &amp;lt;code&amp;gt;https://picoctf.org&amp;lt;/code&amp;gt; depuis un appareil Android récent, le certificat de l’autorité “Certif” n’est pas reconnu.[[Fichier:Screenshot from 2025-10-10 15-30-32.png|centré|sans_cadre|954x954px]]Pour contourner cela, il est possible d’installer une ancienne machine Android (par exemple sous '''Android 4.x'''), où l’ajout manuel d’une autorité de certification est encore possible.&lt;br /&gt;
&lt;br /&gt;
Sur cette Android, après quelques ajustements réseau, il est possible d’importer le certificat racine Certif et ainsi naviguer vers le faux site &amp;lt;code&amp;gt;picoctf.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Appareil Android physique (08/10)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
Enfin, le même test a été reproduit sur la tablette Android 4.4 de mon camarade, une version qui permet encore l’ajout d’autorités de certification manuellement.&lt;br /&gt;
&lt;br /&gt;
En important le fichier `ca.crt` dans les paramètres de sécurité, le site `https://picoctf.org` devient totalement “sécurisé” : le navigateur affiche le cadenas vert , confirmant que la connexion est chiffrée et que le certificat est reconnu par le système.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-10-04-04.png|droite|sans_cadre|419x419px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-10-08-09-21-51.png|sans_cadre|706x706px]]&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Problèmes rencontrés&amp;lt;/span&amp;gt; ==&lt;br /&gt;
* Console Cisco muette : causée par le '''flow control'''. Solution : désactiver hardware &amp;amp; software flow control dans minicom (9600, 8N1, &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Erreur AP &amp;lt;code&amp;gt;cipher not configured&amp;lt;/code&amp;gt; : corriger en posant `authentication ... version 2` côté SSID et &amp;lt;code&amp;gt;encryption mode ciphers aes-ccm&amp;lt;/code&amp;gt; côté radio.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span style=&amp;quot;color:#34495E;font-weight: bold; font-size: 130%&amp;quot;&amp;gt;Partie 2 : Casse d'objets connectés - Alarme incendie (IoT)&amp;lt;/span&amp;gt; ==&lt;br /&gt;
L'objectif est d'intercepter les communications HTTPS de l'application mobile Nedis SmartLife pour récupérer la localKey de l'alarme.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;1. Approche Logicielle : Virtualisation Android&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
J'ai exploré plusieurs méthodes de virtualisation pour obtenir un environnement Android capable de faire tourner l'application tout en étant root pour injecter le certificat en mode système et non pas utilisateur comme cela se passerai sur des versions android plus récentes que celle de la tablette utilisée plus tot.&lt;br /&gt;
&lt;br /&gt;
==== Phase 1 : VM Android x86 sur Xen ====&lt;br /&gt;
Première tentative avec une image ISO Android-x86.&lt;br /&gt;
&lt;br /&gt;
'''Configuration Réseau (Lien avec le Cisco) :'''&lt;br /&gt;
&lt;br /&gt;
Pour que cette VM puisse communiquer avec notre infrastructure (VLAN, Accès Internet via notre passerelle), nous avons dû modifier la configuration réseau pour la lier au pont `bridgeStudents` et lui attribuer une IP statique dans notre plage.&lt;br /&gt;
&lt;br /&gt;
Modification du fichier &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; (ou configuration via console selon la version) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 172.16.9.150&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 172.16.9.1&lt;br /&gt;
    dns-nameservers 172.16.9.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.1 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
J'ai d'abord tenté d'émuler Android &amp;quot;à la main&amp;quot; via QEMU/KVM en utilisant plusieurs images ISO (Android x86 versions 6 à 9). Cette méthode légère permettait théoriquement un contrôle total sur les paramètres de lancement.Commandes utilisées pour les différents tests :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Test basique en mode user net&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw&lt;br /&gt;
&lt;br /&gt;
# Boot sur ISO pour installation&lt;br /&gt;
qemu-system-x86_64 -net nic -net user -m 1024 -enable-kvm -display sdl -drive file=android.img,format=raw -cdrom android-x86-9.0.iso -boot d&lt;br /&gt;
&lt;br /&gt;
# Tentative avancée (USB passthrough et CPU host)&lt;br /&gt;
qemu-system-x86_64 \&lt;br /&gt;
    -m 2048 \&lt;br /&gt;
    -enable-kvm \&lt;br /&gt;
    -cpu host \&lt;br /&gt;
    -smp 2 \&lt;br /&gt;
    -display sdl \&lt;br /&gt;
    -drive file=android.img,format=raw,if=virtio \&lt;br /&gt;
    -usb \&lt;br /&gt;
    -device usb-host,vendorid=0x148f,productid=0x5370&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Problème rencontré &lt;br /&gt;
;L'application ne se lance pas&lt;br /&gt;
L'installation de l'OS fonctionne, le réseau fonctionne, l'APK Nedis se télécharge, mais l'application crashe immédiatement au lancement.&lt;br /&gt;
&lt;br /&gt;
; Analyse technique&lt;br /&gt;
Pour comprendre, nous avons analysé le fichier APK lui-même en le convertissant en archive ZIP pour explorer son contenu.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Renommage pour extraction&lt;br /&gt;
mv nedis-smartlife.apk nedis-smartlife.zip&lt;br /&gt;
unzip nedis-smartlife.zip -d analyse_apk&lt;br /&gt;
&lt;br /&gt;
# Inspection des bibliothèques natives&lt;br /&gt;
ls -R analyse_apk/lib/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Résultat de l'analyse &lt;br /&gt;
Le dossier &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt; ne contient que des sous-dossiers &amp;lt;code&amp;gt;armeabi-v7a&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;arm64-v8a&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Conclusion : L'application est compilée avec des instructions natives pour processeurs ARM.&lt;br /&gt;
* Cause du crash : Notre VM tourne sur une architecture x86_64. Sans bibliothèques compatibles (x86) ni traducteur binaire (libhoudini) fonctionnel, l'application ne peut pas s'exécuter.&lt;br /&gt;
&lt;br /&gt;
==== Phase 2.2 : Tentatives d'Émulation QEMU  android ARM ====&lt;br /&gt;
Pour pallier le problème d'architecture ou de version, nous avons testé l'émulation brute via QEMU.&lt;br /&gt;
&lt;br /&gt;
'''1. Tentative d'émulation ARM (Android 4.4)'''&lt;br /&gt;
&lt;br /&gt;
Sur conseil, j'ai tenté d'émuler une architecture ARM pour être compatible avec les librairies de l'application.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install qemu-system-arm&lt;br /&gt;
# Lancement de l'image Android 4.4 ARM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Résultat : L'architecture est bonne, mais la version d'Android (4.4 KitKat) est trop ancienne. L'application Nedis requiert une API plus récente (Android 6.0+) et refuse de s'installer.&lt;br /&gt;
&lt;br /&gt;
; Bilan des tests QEMU &lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 16-15-27.png|droite|sans_cadre|488x488px]]&lt;br /&gt;
[[Fichier:Screenshot 2025-11-18 17-58-08.png|gauche|sans_cadre|494x494px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aucune VM n'a été exploitable pour des raisons variées :&lt;br /&gt;
* Pas de Google Play Services (impossible de télécharger l'app).&lt;br /&gt;
* Version trop ancienne.&lt;br /&gt;
* Impossibilité de passer root sur les versions récentes.&lt;br /&gt;
&lt;br /&gt;
==== Phase 3 : La Réussite avec Android Studio ====&lt;br /&gt;
Je suis passée à Android Studio pour créer un émulateur (AVD) stable et récent.&lt;br /&gt;
&lt;br /&gt;
'''1. Installation'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Décompression et déplacement dans /opt ou ~/&lt;br /&gt;
tar -xvf android-studio-*.tar.gz&lt;br /&gt;
sudo mv android-studio /opt/&lt;br /&gt;
/opt/android-studio/bin/studio.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Le SDK s'installe dans &amp;lt;code&amp;gt;~/Android/Sdk/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''2. Création de l'AVD (Attention à l'architecture)'''&lt;br /&gt;
* Tentative initiale avec une image Pixel 4 / Android 10 ARM64.&lt;br /&gt;
* Erreur : &amp;lt;code&amp;gt;AVD's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host&amp;lt;/code&amp;gt;. L'émulation ARM sur x86 est trop lente ou non supportée par défaut.&lt;br /&gt;
* Correction : Choix d'une image Google APIs x86_64 (Android 12 / API 31).&lt;br /&gt;
&lt;br /&gt;
'''3. Installation de l'application'''&lt;br /&gt;
&lt;br /&gt;
L'APK officiel du Play Store ne fonctionnant pas toujours sur émulateur, j'ai récupéré l'APK compatible via Aptoide (&amp;lt;code&amp;gt;https://nedis-smartlife.en.aptoide.com/app&amp;lt;/code&amp;gt;). L'installation fonctionne.&lt;br /&gt;
&lt;br /&gt;
'''4. Root et Injection du Certificat (Succès avec Magisk)'''&lt;br /&gt;
&lt;br /&gt;
Pour injecter le certificat système sur Android 12 (où la partition &amp;lt;code&amp;gt;/system&amp;lt;/code&amp;gt; est en lecture seule via dm-verity), nous avons utilisé Magisk et un script d'automatisation (RootAVD).&lt;br /&gt;
&lt;br /&gt;
Commandes et procédure :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Commandes ADB classiques (insuffisantes seules)&lt;br /&gt;
adb root&lt;br /&gt;
adb shell avbctl disable-verification&lt;br /&gt;
adb reboot&lt;br /&gt;
adb wait-for-device root&lt;br /&gt;
adb remount&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'injection directe via &amp;lt;code&amp;gt;adb push&amp;lt;/code&amp;gt; échouait (`Read-only file system`)&lt;br /&gt;
&lt;br /&gt;
Solution : Installation d'un module Magisk spécifique via le script RootAVD. Ce module monte le certificat en &amp;quot;overlay&amp;quot; au démarrage, contournant la protection en écriture.&lt;br /&gt;
; Résultat Final&lt;br /&gt;
[[Fichier:Perso.png|centré|sans_cadre|547x547px]]&lt;br /&gt;
* La VM est rootée.&lt;br /&gt;
* Le certificat est reconnu par le système.&lt;br /&gt;
* L'application Nedis se lance.&lt;br /&gt;
* Nous pouvons désormais intercepter le trafic HTTPS.&lt;br /&gt;
&lt;br /&gt;
==== Changement de stratégie ====&lt;br /&gt;
Face à l'impasse technique de la virtualisation (problèmes d'architecture CPU et de droits Root persistants), j'ai décidé de réévaluer le vecteur d'attaque.&lt;br /&gt;
&lt;br /&gt;
En effectuant une inspection physique du détecteur de fumée (démontage du boîtier), j'ai repéré sur le circuit imprimé (PCB) une série de pistes et de broches non soudées ressemblant fortement à un port de programmation ou de débogage.&lt;br /&gt;
[[Fichier:1000096446.jpg|gauche|vignette|398x398px]]&lt;br /&gt;
[[Fichier:1000096443.jpg|centré|vignette|407x407px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plutôt que de continuer à lutter contre les sécurités logicielles d'Android, j'ai choisi de pivoter vers une analyse matérielle . L'hypothèse est simple : si le trafic réseau est chiffré, les données transitant en clair entre le microcontrôleur de l'alarme et son module Wi-Fi sont peut-être accessibles via ce port physique.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;color:#6369e6;font-weight: bold;&amp;quot;&amp;gt;2. Approche Matérielle&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Devant les difficultés de l'attaque logicielle, j'ai ouvert le boîtier de l'alarme pour analyser son fonctionnement interne et tenter d'intercepter les communications avant qu'elles ne soient chiffrées par le module Wi-Fi.&lt;br /&gt;
[[Fichier:1000096443.jpg|droite|sans_cadre|285x285px]]&lt;br /&gt;
&lt;br /&gt;
==== 2.1 Inspection du PCB et Identification des composants ====&lt;br /&gt;
Après démontage, nous avons identifié deux éléments principaux sur le circuit imprimé (PCB) :&lt;br /&gt;
* Le Microcontrôleur principal (MCU) :  Il gère le capteur optique de fumée, le bouton de test et le buzzer piézoélectrique.&lt;br /&gt;
* Le Module de Communication (TYWE3S) : Il s'agit d'un module basé sur l'ESP8266, fabriqué par Tuya. Son rôle est uniquement de gérer la connexion Wi-Fi et l'envoi des données vers le Cloud (Nedis/Tuya).&lt;br /&gt;
&lt;br /&gt;
'''Découverte majeure :'''&lt;br /&gt;
&lt;br /&gt;
En observant les pistes reliant le MCU au module TYWE3S, j'ai repéré des broches non soudées mais clairement étiquetées : VCC, GND, RX, TX. &lt;br /&gt;
&lt;br /&gt;
Il s'agit d'un port série (UART) utilisé pour la communication entre le processeur de l'alarme et le module Wi-Fi. C'est notre vecteur d'attaque : si je regarde ce qui en sort, nous pouvons voir ce que l'alarme &amp;quot;dit&amp;quot; au module Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
==== 2.2 Interception Série (UART) ====&lt;br /&gt;
J'ai soudé des connecteurs sur les pistes TX/RX et connecté un adaptateur USB-TTL pour lire le trafic sur notre PC.&lt;br /&gt;
&lt;br /&gt;
'''Recherche de la vitesse (Baudrate) avec Minicom :'''&lt;br /&gt;
&lt;br /&gt;
La première difficulté a été de trouver la vitesse de communication. J'ai testé les vitesses standards (9600, 115200) avec l'outil `minicom`.&lt;br /&gt;
* À des vitesses incorrectes, je recevais des caractères illisibles.&lt;br /&gt;
* En testant 38400 bauds, j'ai commencé à voir apparaître une structure répétitive cohérente en hexadécimal.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 15-57-04.png|néant|vignette|788x788px|Résultat a 9600 bauds]]&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 16-08-32.png|néant|vignette|790x790px|Résultat a 38400 bauds]]&lt;br /&gt;
'''Analyse de la parité (8N1 vs 7E1) :'''J'ai observé que l'affichage ASCII des données semblait corrompu par moment. Nous avons émis l'hypothèse d'un réglage de parité différent.&lt;br /&gt;
* Test en 7E1 (7 bits de données, Parité Paire) : L'octet d'en-tête `0xAA` (10101010 en binaire) était interprété comme le caractère `*` (0x2A), car le 8ème bit était pris pour un bit de parité.&lt;br /&gt;
* Conclusion : Le protocole est bien du 8N1 (8 bits de données, Pas de parité, 1 bit de stop)&lt;br /&gt;
&lt;br /&gt;
==== 2.3 Analyse des Trames (Reverse Engineering) ====&lt;br /&gt;
Pour analyser le flux plus efficacement qu'avec Minicom, j'ai développé un programme en C (`serial_reader.c`) utilisant la bibliothèque `termios` pour lire le port série octet par octet et afficher simultanément les valeurs Hexadécimales et ASCII.&lt;br /&gt;
&lt;br /&gt;
'''Observation du trafic :'''&lt;br /&gt;
&lt;br /&gt;
Grâce à ce programme, nous avons isolé deux comportements distincts :&lt;br /&gt;
&lt;br /&gt;
1.  État de Veille (Heartbeat) :&lt;br /&gt;
    Toutes les quelques secondes, une trame courte est envoyée. Elle contient l'octet `04`. Cela correspond au clignotement de la LED de l'alarme. Le système dit &amp;quot;Tout va bien&amp;quot;.&lt;br /&gt;
    &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Trame type : aa 23 ... 06 53 ... 04 ...&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.  État d'Alarme (Choc Reset) :&lt;br /&gt;
    Lorsque nous appuyons sur le bouton de test (Reset), le comportement change radicalement :&lt;br /&gt;
    * La fréquence des paquets augmente (flood).&lt;br /&gt;
    * L'octet de donnée change de `04` à **`24`**.&lt;br /&gt;
    * Un nouveau DPID (Data Point ID) `54` apparaît brièvement.&lt;br /&gt;
[[Fichier:Screenshot 2025-12-16 17-56-33.png|sans_cadre|547x547px]][[Fichier:Screenshot 2025-12-16 17-56-16.png|sans_cadre|1018x1018px]]&lt;br /&gt;
; Conclusion de l'analyse logique&lt;br /&gt;
: L'alarme communique en clair avec le module Wi-Fi. L'octet 0x23 est la commande &amp;quot;ALERTE&amp;quot;. Si je parvenons à injecter cette trame, nous pourrions déclencher une fausse alerte sur le téléphone sans fumée.&lt;br /&gt;
&lt;br /&gt;
==== 2.4 Validation Physique à l'Oscilloscope ====&lt;br /&gt;
Pour confirmer scientifiquement la vitesse de transmission (Baudrate) et valider nos réglages logiciels, nous avons utilisé un oscilloscope numérique sur la broche TX.&lt;br /&gt;
&lt;br /&gt;
'''Méthodologie de mesure :'''&lt;br /&gt;
1.  Capture d'une trame de données en mode &amp;quot;Single Trigger&amp;quot;.&lt;br /&gt;
2.  Utilisation des curseurs pour mesurer la largeur du bit le plus étroit (le bit élémentaire).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:1000103576.jpg|vignette|gauche|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Calculs :'''&lt;br /&gt;
Sur l'oscilloscope, nous avons mesuré une largeur de **52.00 µs** pour une séquence de ce qui semblait être deux bits identiques consécutifs (un creux large).&lt;br /&gt;
* Durée d'un bit ($T_{bit}$) : $52 \mu s / 2 = 26 \mu s$.&lt;br /&gt;
* Formule du Baudrate : $Frequency = 1 / T_{bit}$&lt;br /&gt;
* Application numérique : $1 / 0.000026 \approx 38461$ Bauds.&lt;br /&gt;
&lt;br /&gt;
'''Résultat :'''&lt;br /&gt;
La valeur calculée (38461) est extrêmement proche de la valeur standard **38400 Bauds**. Cette mesure physique confirme indiscutablement que notre configuration logicielle pour l'interception était correcte.&lt;/div&gt;</summary>
		<author><name>Kelbachi</name></author>
	</entry>
</feed>