<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chronique d&rsquo;un Sys Admin &#8211; erwan.guillemard</title>
	<atom:link href="https://erwanguillemard.com/category/chronique-dun-sys-admin/feed/" rel="self" type="application/rss+xml" />
	<link>https://erwanguillemard.com</link>
	<description>Blog personnel</description>
	<lastBuildDate>Sun, 31 May 2026 08:06:53 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://erwanguillemard.com/wp-content/uploads/2024/02/cropped-Logo-sans-baseline-32x32.png</url>
	<title>Chronique d&rsquo;un Sys Admin &#8211; erwan.guillemard</title>
	<link>https://erwanguillemard.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cahier 4 : Charly &#038; GMI, Mémoire d&#8217;un BTS Industriel</title>
		<link>https://erwanguillemard.com/cahier-4-charly-gmi-memoire-dun-bts-industriel/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Sun, 31 May 2026 08:06:53 +0000</pubDate>
				<category><![CDATA[Chronique d'un Sys Admin]]></category>
		<category><![CDATA[Chronique]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=4072</guid>

					<description><![CDATA[Après une période de réflexion au sens de la vie (elle va souvent devant nous il parait, même si j&#8217;ai trouvé que le sens peut varier de 2°), je me suis dit pourquoi ne pas publier mes mémoires de fin de cycle ? Encore mieux pourquoi ne pas publier mes mémoires de fin d&#8217;étude en...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Après une période de réflexion au sens de la vie (elle va souvent devant nous il parait, même si j&rsquo;ai trouvé que le sens peut varier de 2°), je me suis dit pourquoi ne pas publier mes mémoires de fin de cycle ? Encore mieux pourquoi ne pas publier mes mémoires de fin d&rsquo;étude en l&rsquo;état ? </p>



<p class="wp-block-paragraph">J&rsquo;ai trouvé l&rsquo;idée excellente et c&rsquo;est par nostalgie et regard critique que je me lance à l&rsquo;aventure pour vous faire découvrir comment je suis arrivé là où j&rsquo;en suis aujourd&rsquo;hui. Je pense alors que vous comprendrez mon évolution à travers le temps 🙂</p>





<h2 class="wp-block-heading">Avant-Propos</h2>



<p class="wp-block-paragraph">Naturellement, le mémoire est repris en tant que tel. Je ne touche pas à son contenu. Les syntaxes et autres fautes d&rsquo;orthographes resteront à la postérité. 🙂</p>



<p class="wp-block-paragraph">Ce projet de fin de cycle est particulier car il a été réalisé à quatre main. Les deux mains de l&rsquo;auteur ainsi que les deux mains de Robin GRIVET, camarade avec qui le projet a été un pur plaisir de collaboration si ce n&rsquo;est plus. Cela sonne comme un petit air de remember 🙂</p>



<p class="wp-block-paragraph">La thématique du projet était de développer un banc de test pour réaliser des contrôles non destructifs par Magnéto Impédance Géante (GMI<sup data-fn="23e6b230-133b-46f6-b58e-13e66931512e" class="fn"><a href="#23e6b230-133b-46f6-b58e-13e66931512e" id="23e6b230-133b-46f6-b58e-13e66931512e-link">1</a></sup>). En partenariat avec le LPP<sup data-fn="68c9a134-b5e2-44e9-b091-1d64a3e522fd" class="fn"><a href="#68c9a134-b5e2-44e9-b091-1d64a3e522fd" id="68c9a134-b5e2-44e9-b091-1d64a3e522fd-link">2</a></sup> et le Lycée Eiffel de Dijon, (promotion 2012) et ARDPI<sup data-fn="02b9f9be-6755-4271-9095-7023ac70c205" class="fn"><a href="#02b9f9be-6755-4271-9095-7023ac70c205" id="02b9f9be-6755-4271-9095-7023ac70c205-link">3</a></sup>.</p>



<p class="wp-block-paragraph">Le document ci-dessous se déroule en 3 parties. Une partie commune, une partie propre à chacun de nous sur des tâches bien précises. Afin de ne pas tronquer le document la partie de mon binôme sera également présenté. Son droit d&rsquo;auteur lui appartenant et je me réserve sous son avis de retirer ce dernier.</p>



<p class="wp-block-paragraph">Attention, vous voilà parti pour un voyage de 67 pages 🙂</p>



<h2 class="wp-block-heading">Partie Commune</h2>



<h3 class="wp-block-heading">Analyse du cahier des charges</h3>



<h4 class="wp-block-heading">Présentation du projet</h4>



<p class="wp-block-paragraph">L’objectif de notre projet est de développer un système de contrôle non destructif (CND<sup data-fn="9430d9f2-26f9-4453-ad8a-4263150f00ec" class="fn"><a href="#9430d9f2-26f9-4453-ad8a-4263150f00ec" id="9430d9f2-26f9-4453-ad8a-4263150f00ec-link">4</a></sup>) par magnétoscopie avec un capteur à effet de magnéto impédance géante (MIG ou GMI en anglais) afin de réaliser un scan de la cible ferromagnétique pour contrôler la qualité de cette dernière.</p>



<p class="wp-block-paragraph">Le projet consiste à analyser par balayage les imperfections présentent dans les matériaux dans le domaine de l’industrie ou de localiser des tumeurs cancéreuses dans le domaine médical.</p>



<p class="wp-block-paragraph">Nous réaliserons le banc de test de ce capteur. Le capteur quand a lui est conçu par 2 partenaires. L’un de nos partenariats est établit avec le Laboratoire de Physique de Plasma situé à PALAISEAU (F-91128) pour qui nous allons développer le banc de test pour qu’ils puissent tester leurs capteurs GMI. Le second partenaire est l’entreprise ARDPI situé à SELONGEY&nbsp; (21260) qui commence à s’intéresser au développement de banc de test pour les capteurs de types CND et qui développe en même temps que nous un banc de test similaire. Seul le Laboratoire de Physique des Plasmas a pu nous fournir un capteur GMI. L’entreprise ARDPI, elle n’a pas encore eu le temps de développer son propre capteur. Nous nous baserons donc sur le capteur fourni par le LPP.</p>



<h4 class="wp-block-heading">Partenaire</h4>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img fetchpriority="high" decoding="async" width="550" height="252" class="wp-image-4078" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_001_Partenaires_0.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_001_Partenaires_0.jpg 314w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_001_Partenaires_0-300x138.jpg 300w" sizes="(max-width: 550px) 100vw, 550px" /></td><td class="has-text-align-center" data-align="center"><img decoding="async" width="550" height="230" class="wp-image-4079" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_001_Partenaires_1.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_001_Partenaires_1.jpg 321w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_001_Partenaires_1-300x125.jpg 300w" sizes="(max-width: 550px) 100vw, 550px" /></td><td class="has-text-align-center" data-align="center"><img decoding="async" width="550" height="280" class="wp-image-4080" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_001_Partenaires_2.jpg" alt=""></td></tr><tr><td class="has-text-align-center" data-align="center">Laboratoire de Physique des Plasmas<br>Ecole Polytechnique<br>Route de Saclay<br>F-91128 PALAISEAU Cedex</td><td class="has-text-align-center" data-align="center">Lycée Gustave Eiffel DIJON<br>15 Avenue Champollion 21000 DIJON</td><td class="has-text-align-center" data-align="center">Agence pour la Recherche et le<br>Développement de Produits Industriels<br>39 Bis Rue de la Roche 21260 SELONGEY</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"></p>



<h4 class="wp-block-heading">Cahier des charges</h4>



<p class="wp-block-paragraph">Nous sommes contraints d’après un cahier des charges bien définies de traiter un certain nombre de spécification.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="773" class="wp-image-4081" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_002_CDC.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_002_CDC.jpg 574w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_002_CDC-213x300.jpg 213w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td><strong><u>Objectif:</u></strong><br><strong>&nbsp;</strong><br>Faire une analyse de la pièce sans contact.<br>&nbsp;<br><strong><u>Fonctionnalités:</u></strong><br><strong>&nbsp;</strong><br><strong><u>Paramétrage personnalisable :</u></strong>&nbsp;<br>&nbsp;<br>Cette fonctionnalité permet de pouvoir définir des paramètres comme les paramètres d’alimentation du capteur GMI, d’acquisition, de l’alimentation de l’émetteur de champ et des paramètres du Robot 3 axes&nbsp; souhaitées. Ces données seront stockées dans un fichier au format XML.<br>&nbsp;<br><strong><u>Mode Manuel :</u></strong><br><strong>&nbsp;</strong><br>Ce mode doit permettre à l’utilisateur de pouvoir réaliser le paramétrage du capteur GMI par déplacement manuel (Joystick)<strong> </strong>&nbsp;de façon précise en concordance avec le capteur Z. Dans le cas de capteur de type CND au parle de contrôle du lift-off.<br>&nbsp;<br><strong><u>Mode Automatique :</u></strong><br><strong>&nbsp;</strong><br>Une fois avoir définie les paramètres souhaitées, l’on peut démarrer la séquence de balayage de la pièce en ayant positionné le capteur sur le début de la cible ferromagnétique. Une fois la séquence terminée, les données seront enregistrées.<br>&nbsp;<br><strong><u>Surveillance Vidéo :</u></strong><br><strong>&nbsp;</strong><br>Permet de vérifier qu’il n’y est pas de contact entre<br>le capteur CND et la cible afin d’éviter toute détérioration des deux instruments.<br>&nbsp;<br><strong><u>Sauvegarde &amp; Consultation des données :</u></strong><br><strong>&nbsp;</strong><br>Sauvegarde les données de l’acquisition ainsi qu’une copie de paramètres souhaités dans un fichier de type TXT. Le contenu de ce fichier doit être exploitable.<br>Lors d’une consultation de donnée, l’on doit pouvoir retranscrire dans un plot 3D les données et nous devons afficher les valeurs dans un tableau.<br>&nbsp;<br><strong><u>Affichage plot 3D :</u></strong><br><strong>&nbsp;</strong><br>Le plot 3D doit présenter une représentation du contenu de la pièce en affichant une image de la cible en fonction des données d’acquisition. De plus, les paramètres du Plot 3D doivent être modifiables par l’utilisateur.</td></tr></tbody></table></figure>



<h5 class="wp-block-heading">Contraintes</h5>



<p class="wp-block-paragraph">Ce projet est définis selon un certain nombre de contraintes, que ce soit des contraintes dû au développement du programme (contraintes logicielles) ainsi que du matériel imposé ou spécifier par le client (contraintes matérielles). Mais le plus important reste la contrainte budgétaire imposé par le client ainsi que le temps impartie pour élaborer le développement du système.</p>



<ul class="wp-block-list">
<li>Contrainte budgétaire :&nbsp; 2 500€.</li>



<li>Contrainte temporelle :&nbsp; 220 heures</li>
</ul>



<h6 class="wp-block-heading">Spécifications Logicielles</h6>



<ul class="wp-block-list">
<li>Le fichier de configuration système doit être au format de fichier XML.</li>



<li>L’enregistrement des données doit être au format TXT.</li>



<li>Doit comporter 2 modes de pilotage : Automatique et manuel. &#8211; Le pilotage doit être synchronisé avec l’acquisition.</li>
</ul>



<h6 class="wp-block-heading">Spécifications Matérielles</h6>


<div class="kb-table-container kb-table-container4072_344794-fc wp-block-kadence-table"><table class="kb-table kb-table4072_344794-fc">
<tr class="kb-table-row kb-table-row4072_53dbfd-65">
<th  scope="col" class="kb-table-data kb-table-data4072_ffc1a0-68">

<p class="has-text-align-center wp-block-paragraph"><strong>Matériels</strong></p>

</th>

<th  scope="col" class="kb-table-data kb-table-data4072_6b168d-a1">

<p class="has-text-align-center wp-block-paragraph"><strong>Etat</strong></p>

</th>

<th  scope="col" class="kb-table-data kb-table-data4072_b8b0a2-7a">

<p class="has-text-align-center wp-block-paragraph"><strong>Coûts</strong></p>

</th>
</tr>

<tr class="kb-table-row kb-table-row4072_97994f-96">
<td  class="kb-table-data kb-table-data4072_d0faae-50">

<p class="has-text-align-center wp-block-paragraph">Capteur CND</p>



<p class="has-text-align-center wp-block-paragraph">(AMR-GMI)</p>

</td>

<td  class="kb-table-data kb-table-data4072_9401a5-cf">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_ccc1d2-6e">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_f4c48e-3a">
<td  class="kb-table-data kb-table-data4072_fb495f-b5">

<p class="has-text-align-center wp-block-paragraph">Capteurs fin de course</p>



<p class="has-text-align-center wp-block-paragraph">(Axe X, Y)</p>

</td>

<td  class="kb-table-data kb-table-data4072_3f6e9a-4b">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">NON POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_4bd97c-88">

<p class="has-text-align-center wp-block-paragraph">8,35 €</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_d1cd17-42">
<td  class="kb-table-data kb-table-data4072_42f7a3-ad">

<p class="has-text-align-center wp-block-paragraph">Capteur Analogique</p>



<p class="has-text-align-center wp-block-paragraph">(Axe Z)</p>

</td>

<td  class="kb-table-data kb-table-data4072_6be74b-06">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">NON POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_057656-ca">

<p class="has-text-align-center wp-block-paragraph">31 €</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_b1450e-85">
<td  class="kb-table-data kb-table-data4072_2b9be1-0e">

<p class="has-text-align-center wp-block-paragraph">PC embarqué, contrôleur PXI</p>



<p class="has-text-align-center wp-block-paragraph">(NI PXI-1042)</p>

</td>

<td  class="kb-table-data kb-table-data4072_532f53-87">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_087614-63">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_21103e-21">
<td  class="kb-table-data kb-table-data4072_50e019-19">

<p class="has-text-align-center wp-block-paragraph">Contrôleur embarqué<br>(NI PXI-8187)</p>

</td>

<td  class="kb-table-data kb-table-data4072_6bf04c-78">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_026321-f8">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_4f98b0-41">
<td  class="kb-table-data kb-table-data4072_6f59c0-0c">

<p class="has-text-align-center wp-block-paragraph">Interface de connexion</p>



<p class="has-text-align-center wp-block-paragraph">(NI SCB-68)</p>

</td>

<td  class="kb-table-data kb-table-data4072_aafafb-b6">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_71bb77-1a">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_4b655f-db">
<td  class="kb-table-data kb-table-data4072_2d3702-77">

<p class="has-text-align-center wp-block-paragraph">GBF Agilent</p>



<p class="has-text-align-center wp-block-paragraph">(33220A)</p>

</td>

<td  class="kb-table-data kb-table-data4072_2ceedf-fd">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_7c8d3f-2d">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_bff1f0-96">
<td  class="kb-table-data kb-table-data4072_715d16-c4">

<p class="has-text-align-center wp-block-paragraph">Carte générateur de signaux arbitraires<br>(NI PXI-5412 avec câble SMB)</p>

</td>

<td  class="kb-table-data kb-table-data4072_c0e91d-1d">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_2e9ae6-c1">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_c47b64-2d">
<td  class="kb-table-data kb-table-data4072_236c14-59">

<p class="has-text-align-center wp-block-paragraph">Carte numériseur haute fréquence d’échantillonnage<br>(NI PXI-5112 avec câble SMB)</p>

</td>

<td  class="kb-table-data kb-table-data4072_5fa451-dd">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_362372-6c">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_6b3541-1c">
<td  class="kb-table-data kb-table-data4072_cc2c4b-9a">

<p class="has-text-align-center wp-block-paragraph">Carte d’acquisition multifonctions</p>



<p class="has-text-align-center wp-block-paragraph">(NI PXI-6251)</p>

</td>

<td  class="kb-table-data kb-table-data4072_424dbc-e2">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_e1a8a2-94">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_60cee6-cf">
<td  class="kb-table-data kb-table-data4072_9c8e01-55">

<p class="has-text-align-center wp-block-paragraph">Robot 3 axes</p>



<p class="has-text-align-center wp-block-paragraph">(Charlie Robot)</p>

</td>

<td  class="kb-table-data kb-table-data4072_b5963d-bc">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_b8015b-4d">

<p class="has-text-align-center wp-block-paragraph">&#8212;&#8211;</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_c23f55-0b">
<td  class="kb-table-data kb-table-data4072_15fa87-d4">

<p class="has-text-align-center wp-block-paragraph">WebCam</p>

</td>

<td  class="kb-table-data kb-table-data4072_e1e171-fd">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">NON POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_d964e6-9b">

<p class="has-text-align-center wp-block-paragraph">19,95 €</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_c6b7ee-9f">
<td  class="kb-table-data kb-table-data4072_9ff0ed-88">

<p class="has-text-align-center wp-block-paragraph">Joystick</p>

</td>

<td  class="kb-table-data kb-table-data4072_6607f2-8e">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">NON POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_8706b1-37">

<p class="has-text-align-center wp-block-paragraph">29,95 €</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_cab990-a9">
<td  class="kb-table-data kb-table-data4072_144e1e-89">

<p class="has-text-align-center wp-block-paragraph">Convertisseur 24 V / 5V</p>

</td>

<td  class="kb-table-data kb-table-data4072_75b470-ec">

<p class="has-text-align-center wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">NON POSSEDE</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_4bb0c8-fb">

<p class="has-text-align-center wp-block-paragraph">10,50 €</p>

</td>
</tr>
</table></div>


<h5 class="wp-block-heading">Besoins et fonctionnalités</h5>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="978" height="621" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF.jpg" alt="" class="wp-image-4087" style="aspect-ratio:1.574889674723091;width:565px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF.jpg 978w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF-300x190.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF-768x488.jpg 768w" sizes="auto, (max-width: 978px) 100vw, 978px" /></figure>
</div>


<h3 class="wp-block-heading">Présentation Matérielle</h3>



<p class="wp-block-paragraph">Nous allons présenter dans cette partie, le matérielle ainsi que les logiciels et autres softwares dont nous avons besoin de manière générale. Une présentation plus poussée du matérielle sera faite dans chacune des partie individuelles.</p>



<h4 class="wp-block-heading">Ressource Matérielle</h4>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="408" class="wp-image-4089" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_0.jpg" alt=""></td><td>PXI<sup data-fn="1161913b-51d6-4fd3-a90f-02d813e591f7" class="fn"><a href="#1161913b-51d6-4fd3-a90f-02d813e591f7" id="1161913b-51d6-4fd3-a90f-02d813e591f7-link">5</a></sup> NI-1042Q qui est notre PC<sup data-fn="f5d4db3d-979e-42bd-81bf-d529db7f7001" class="fn"><a href="#f5d4db3d-979e-42bd-81bf-d529db7f7001" id="f5d4db3d-979e-42bd-81bf-d529db7f7001-link">6</a></sup> embarqué.<br>Ainsi que les que celui-ci comporte.<br> <br><em>(cf Partie Individuelle)</em></td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="412" class="wp-image-4090" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_1.jpg" alt=""></td><td>Générateur Base Fréquence de nom Agilent 33220A. Pouvant être commandé à distance via le protocole GPIB<sup data-fn="3621b715-2cd5-4d26-bdee-23a57479cb46" class="fn"><a href="#3621b715-2cd5-4d26-bdee-23a57479cb46" id="3621b715-2cd5-4d26-bdee-23a57479cb46-link">7</a></sup>.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="318" class="wp-image-4091" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_2.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_2.jpg 547w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_2-300x173.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td>Le Charly Robot 3 axes et son contrôleur de puissance communicant via la liaison RS232<sup data-fn="bcebd0e3-fc42-426b-8ac7-c85bb81ff7b6" class="fn"><a href="#bcebd0e3-fc42-426b-8ac7-c85bb81ff7b6" id="bcebd0e3-fc42-426b-8ac7-c85bb81ff7b6-link">8</a></sup>.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="303" class="wp-image-4092" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_3.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_3.jpg 361w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_3-300x165.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td>Webcan de marque Hercule et un Joystick de chez Logitech en interface de connexion USB.<br><br><em>(cf Partie Individuelle)</em></td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="249" class="wp-image-4093" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_4.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_4.jpg 504w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_4-300x136.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td>Capteurs fin de course pour le Charly Robot 3 axes. Capteur Analogique pour l&rsquo;axe Z du Charly Robot 3 axes.<br>Différents capteurs CND de type GMI.<br><br>(Nous renvoyons pour plus d&rsquo;information vers les parties individuelles)</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Ressource Logicielle</h4>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="75" height="80" class="wp-image-4094" style="width: 75px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_0.jpg" alt=""></td><td>Lecteur Média player sous licence GPL<sup data-fn="8151d058-68e5-4eaf-be3c-b666d86357a0" class="fn"><a href="#8151d058-68e5-4eaf-be3c-b666d86357a0" id="8151d058-68e5-4eaf-be3c-b666d86357a0-link">9</a></sup> (gratuit). Permet d&rsquo;afficher la WebCam dans l&rsquo;application.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="250" height="97" class="wp-image-4095" style="width: 250px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_1.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_1.jpg 315w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_1-300x116.jpg 300w" sizes="auto, (max-width: 250px) 100vw, 250px" /></td><td>Logiciel de réalisation des diagrammes de type UML<sup data-fn="9e8b0f8a-9353-4d04-a963-b33a1834c3fa" class="fn"><a href="#9e8b0f8a-9353-4d04-a963-b33a1834c3fa" id="9e8b0f8a-9353-4d04-a963-b33a1834c3fa-link">10</a></sup>.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="118" height="116" class="wp-image-4097" style="width: 118px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_3.jpg" alt=""></td><td>Logiciel de réalisation des diagrammes de type UML et de dessin pour schéma électrique.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="250" height="73" class="wp-image-4096" style="width: 250px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_2.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_2.jpg 423w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_2-300x88.jpg 300w" sizes="auto, (max-width: 250px) 100vw, 250px" /></td><td>IDE<sup data-fn="4723fc88-2060-448a-9c0b-dcc1b4a759ad" class="fn"><a href="#4723fc88-2060-448a-9c0b-dcc1b4a759ad" id="4723fc88-2060-448a-9c0b-dcc1b4a759ad-link">11</a></sup> Labview Version 8.0, nécessaire pour exécuter l&rsquo;application.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="150" height="97" class="wp-image-4098" style="width: 150px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_005_RL_4.jpg" alt=""></td><td>OS<sup data-fn="156b4ddd-20c8-4f17-84ef-68525b27e3c1" class="fn"><a href="#156b4ddd-20c8-4f17-84ef-68525b27e3c1" id="156b4ddd-20c8-4f17-84ef-68525b27e3c1-link">12</a></sup> Windows XP Pack SP2<sup data-fn="1909fcc8-38a4-4549-acfe-16de9b8b75af" class="fn"><a href="#1909fcc8-38a4-4549-acfe-16de9b8b75af" id="1909fcc8-38a4-4549-acfe-16de9b8b75af-link">13</a></sup> présent sur le PC embarqué.</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Analyse et distribution des taches</h3>



<h4 class="wp-block-heading">Répartition des taches</h4>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="978" height="621" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF.jpg" alt="" class="wp-image-4087" style="aspect-ratio:1.574889674723091;width:424px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF.jpg 978w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF-300x190.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF-768x488.jpg 768w" sizes="auto, (max-width: 978px) 100vw, 978px" /></figure>
</div>


<h4 class="wp-block-heading">Analyse</h4>



<p class="wp-block-paragraph">Nous allons utiliser un boîtier de connexion National Instrument <em><u>Scb-68</u></em> pour connecter les différents capteurs présent sur le robot.</p>



<p class="wp-block-paragraph">Le déplacement de la colonne du robot se déroule sur 3 axes : X, Y, Z. Donc il est nécessaire d’ajouter des capteurs fin de course pour éviter de forcer le robot quand celui-ci arrive au maximum de sa position. Il nous faut donc :</p>



<ul class="wp-block-list">
<li>2 capteurs de positions de type TOR pour les axes X et Y.</li>



<li>1 capteur de position de type ANALOGIQUE pour l’axe Z afin de pouvoir gérer le lift-off du capteur GMI.</li>
</ul>



<p class="wp-block-paragraph">Dans un premier temps, nous utiliserons un PC pour les phases de prototypages. Puis nous travaillerons avec un <em><u>PXI 1042Q</u></em> contenant un système embarqué (dont LabView  comme plateforme de développement (IDE)), un oscilloscope, un GBF<sup data-fn="7cfd2634-e03b-4ff2-9eaa-36bd95f1c986" class="fn"><a href="#7cfd2634-e03b-4ff2-9eaa-36bd95f1c986" id="7cfd2634-e03b-4ff2-9eaa-36bd95f1c986-link">14</a></sup>, 2 ports USB, un port RJ45, comportant 8 slots possible pour pouvoir rajouter des cartes d’acquisitions. La possibilité de pouvoir rajouter plusieurs cartes d’acquisitions et un choix déterminant qui explique pourquoi nous utilisons pour le projet un PXI avec PC embarqué, et non un PC.</p>



<p class="wp-block-paragraph">Pour commander le robot, nous devons avoir un contrôleur de puissance pour faire l’intermédiaire entre le robot et le PXI, afin de pouvoir traduire les trames envoyées au Charlie Robot.</p>



<h4 class="wp-block-heading">Conception Générale</h4>



<h5 class="wp-block-heading">Configuration</h5>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Ce diagramme de flots de données représente le fonctionnement de la fonctionnalité « <strong>Configuration </strong>» en expliquant de manière générale le fonctionnement de réglage et de commande des instruments.</td><td><img loading="lazy" decoding="async" width="450" height="313" class="wp-image-4100" style="width: 450px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_006_Configuration.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_006_Configuration.jpg 822w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_006_Configuration-300x209.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_006_Configuration-768x534.jpg 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></td></tr><tr><td><img loading="lazy" decoding="async" width="550" height="191" class="wp-image-4101" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_007_Configuration.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_007_Configuration.jpg 822w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_007_Configuration-300x104.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_007_Configuration-768x266.jpg 768w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td>De façon plus détailler, l’on voit le fonctionnement plus détaillé de la « <strong>Configuration Emetteur</strong> ».</td></tr></tbody></table></figure>



<h5 class="wp-block-heading">Sauvegarde</h5>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-left" data-align="left">Ce diagramme de flots de données représente le fonctionnement de la fonctionnalité « <strong>Sauvegarde</strong>» en expliquant de manière générale le fonctionnement d’enregistrement des données.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="382" class="wp-image-4102" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_008_Configuration.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_008_Configuration.jpg 713w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_008_Configuration-300x208.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<h5 class="wp-block-heading">Mode Manuel</h5>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="384" class="wp-image-4103" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_009_Configuration.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_009_Configuration.jpg 709w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_009_Configuration-300x209.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td>Ce diagramme de flots de données représente le fonctionnement de la fonctionnalité «<strong>Mode Manuel</strong>» en expliquant de manière générale le fonctionnement du contrôle du robot 3 axes (via un Joystick) ainsi que de l’affichage des données.</td></tr></tbody></table></figure>



<h5 class="wp-block-heading">Mode Automatique</h5>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Ce diagramme de flots de données représente le fonctionnement de la fonctionnalité «<strong>Mode Automatique</strong>» en expliquant de manière générale le fonctionnement du contrôle du robot 3 axes ainsi que de l’affichage des données.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="382" class="wp-image-4104" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_010_Configuration.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_010_Configuration.jpg 830w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_010_Configuration-300x209.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_010_Configuration-768x534.jpg 768w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<h6 class="wp-block-heading">Synchronisation</h6>



<p class="wp-block-paragraph">Pour pouvoir réaliser l’acquisition suivant le mode de balayage automatique, nous devons réaliser une synchronisation entre ces deux fonctionnalités. Nous avons donc choisie de faire une synchronisation de type logicielle. C’est-à-dire que nous allons laisser le programme faire des acquisitions en continue. Mais si la position retournée par le Charly Robot est différente de la position actuelle, alors nous enregistrons la valeur acquise.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="984" height="616" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_011_Synchronisation.jpg" alt="" class="wp-image-4105" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_011_Synchronisation.jpg 984w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_011_Synchronisation-300x188.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_011_Synchronisation-768x481.jpg 768w" sizes="auto, (max-width: 984px) 100vw, 984px" /></figure>
</div>


<p class="wp-block-paragraph">Nous avons représenté à travers ce diagramme d’activité le fonctionnement général de notre application logicielle.&nbsp; Nous avons trois activités distinctes, qui sont les activités du Charly Robot 3 axes, les activités de l’application commandant le Charly Robot 3 axes et l’application qui commande l’acquisition.</p>



<p class="wp-block-paragraph">Nous démarrons les 3 activités en même temps.&nbsp;</p>



<p class="wp-block-paragraph">Dans un premier temps, nous allons initialiser le Charly Robot en générant une trame que nous allons envoyés. Le Charly Robot dés que celui-ci à été mis sous tension attend de recevoir une trame. Une fois cette trame reçue, il va exécuter la trame reçue. Si l’opération a échouée, le Charly Robot retourne un acknowledge d’erreur, à l’application commandant le Charly Robot. Celui ne peut continuer sans la réception de l’acquittement. Sinon, dans le cas où l’opération à réussi, le Charly Robot retournera un acknowledge valide.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">Auparavant, nous avons initialisé les paramètres d’acquisition. Puis l’on lance l’acquisition. Nous attentons l’acknowledge valide du Charly Robot pour valider l’acquisition des données. Puis, l’on enregistrera ces valeurs avant de recommencer l’opération c’est-àdire la réception d’un acquittement valide renvoyé par le Charly Robot.</p>



<h5 class="wp-block-heading">Consultation</h5>



<p class="wp-block-paragraph">Ce diagramme de flots de données représente le fonctionnement de la fonctionnalité «<strong>Consultation</strong>» en expliquant de manière générale le fonctionnement de la lecture et l’affichage du contenue des données sauvegardées.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="682" height="473" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_012_Consultation.jpg" alt="" class="wp-image-4106" style="width:420px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_012_Consultation.jpg 682w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_012_Consultation-300x208.jpg 300w" sizes="auto, (max-width: 682px) 100vw, 682px" /></figure>
</div>


<h3 class="wp-block-heading">Intégration Commune</h3>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="396" class="wp-image-4107" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_013_IC.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_013_IC.jpg 852w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_013_IC-300x216.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_013_IC-768x553.jpg 768w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td><strong><u>Légende :</u></strong><br><strong>&nbsp;</strong><br>&nbsp;<br>En <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#2f9c30" class="has-inline-color">vert</mark></strong> les fonctionnalités développées par l’étudiant 1 : Robin GRIVET<br>&nbsp;<br>En <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color">bleu</mark></strong> les fonctionnalités développées par l’étudiant 2 : Erwan GUILLEMARD<br>&nbsp;<br>En<mark style="background-color:rgba(0, 0, 0, 0);color:#f3f70c" class="has-inline-color"> <strong>jaune</strong></mark> les fonctionnalités principales de l’application<br>&nbsp;<br>En <mark style="background-color:rgba(0, 0, 0, 0);color:#f7a1a1" class="has-inline-color"><strong>rose</strong> </mark>: L’Application Générale<br>&nbsp;<br>En <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#ecd2b7" class="has-inline-color">saumon</mark></strong> la fonctionnalité de navigation de l’application générale.</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Développement</h4>



<h5 class="wp-block-heading">Interface</h5>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="845" height="564" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_0.jpg" alt="" class="wp-image-4110" style="aspect-ratio:1.4982622959935497;width:596px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_0.jpg 845w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_0-300x200.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_0-768x513.jpg 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></figure>
</div>


<p class="wp-block-paragraph">Voici le prototype de l’interface de notre application. La navigation dans cette application se passe sur une seule fenêtre. Nous avons caché les onglets de navigation, et choisie de naviguer dans l’interface à partir des boutons en haut de la fenêtre.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="842" height="52" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_1.jpg" alt="" class="wp-image-4111" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_1.jpg 842w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_1-300x19.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_014_Interface_1-768x47.jpg 768w" sizes="auto, (max-width: 842px) 100vw, 842px" /></figure>
</div>


<p class="wp-block-paragraph">En sélectionnant l’un des boutons, nous allons changer d’onglet. Il en est de même pour les sous onglets de navigation, mais nous ne jugeons pas nécessaire de s’étendre sur ce point car la méthode de navigation est la même.</p>



<h5 class="wp-block-heading">Mode User/Admin : Navigation</h5>



<p class="wp-block-paragraph">Comme dis plus haut, nous proposons un mode supplémentaire au cahier des charges. Nous voulons créer un mode utilisateur qui aurait accès a toutes les fonctionnalités décrites dans le cahier des charges, et créer un mode administrateur qui lui aurait accès à un onglet en plus, l’onglet OPTIONS <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">il faut donc l’appeler autrement (voir commentaire plus haut)</mark></strong>.</p>



<p class="wp-block-paragraph">Le contenu de cet onglet permet d’avoir accès à un affichage plus poussé et qui n’est pas nécessaire pour l’utilisateur. De plus, l’administrateur à la possibilité de configurer des paramètres de base de l’application auxquels l’utilisateur n’a pas l’utilité d’y avoir accès.&nbsp;</p>



<p class="wp-block-paragraph">C’est sur l’onglet ACCEUIL de notre application que nous sélectionnons le mode d’utilisation. Par défaut, le mode de connexion est paramétré pour se lancer en mode&nbsp; « <strong>USER</strong> ». Pour changer de mode d’utilisation, il suffit de sélectionner le mode « <strong>Administrateur</strong> ». Un mot de passe est alors demandé. Si l’identification de marche pas, « <strong>l’Accès est refusé </strong>». Si l’identification est valide, « <strong>l’Accès est autorisé </strong>». Le mot de passe est <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">password</mark></strong>.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="237" class="wp-image-4113" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_0.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_0.jpg 444w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_0-300x129.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="248" class="wp-image-4114" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_1.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_1.jpg 420w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_1-300x135.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Au début, nous effectuons une identification avec une structure conditionnelle. Se qui se traduirait en langage C par un Switch case. Nous avons attribué la valeur de <strong>0</strong> pour l’identifiant <strong>Utilisateur</strong>, et <strong>1</strong> pour l’identifiant <strong>Administrateur</strong>.</p>



<p class="wp-block-paragraph">L’on récupère l’état des boutons pour pouvoir savoir qu’elle onglet faire apparaitre. Nous utilisons ensuite un nœud de méthode du conteneur&nbsp; <strong>MenuPrincipal </strong>qui va par la suite nous permettre dans le cas d’un accès autorisé de faire apparaitre le sixième onglet du conteneur MenuPrincipal par l’utilisation d’un nœud de propriété en rendant le bouton visible et en autorisant l’accès à cette onglet&nbsp; « <strong>OPTIONS</strong> ».</p>



<p class="wp-block-paragraph">Le code dans le cas ou l’identifiant choisie est Utilisateur, nous masquons avec les nœuds de méthodes et de propriété l’onglet « <strong>OPTIONS</strong> » ainsi que le champ demandant le mot de passe et le bouton pour soumettre l’accès. Cependant, la navigation des onglets ne change pas.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1002" height="704" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_3.jpg" alt="" class="wp-image-4115" style="aspect-ratio:1.4233115871213122;width:561px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_3.jpg 1002w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_3-300x211.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_015_Navigatyion_3-768x540.jpg 768w" sizes="auto, (max-width: 1002px) 100vw, 1002px" /></figure>
</div>


<h3 class="wp-block-heading">Conclusion</h3>



<p class="wp-block-paragraph">Pour parfaire cette partie commune, nous pouvons donc dire que la quasi-totalité du projet qui nous à été donné à été réalisé. Nous avons seulement quelques fonctionnalités qui ne sont pas complètes.&nbsp;</p>



<p class="wp-block-paragraph">La partie <strong>Synchronisation</strong> est en cours de recherche et nous à posé et nous pose encore des problèmes.</p>



<p class="wp-block-paragraph">Pour ce qui est du <strong>Mode Automatique</strong>, il reste seulement à intégrer le code des capteurs fin de course du Charly Robot 3 axes.&nbsp;</p>



<p class="wp-block-paragraph">Le <strong>Mode Manuel</strong> est incomplet car nous ne traitons pas le positionnement du capteur Z pour contrôler le lift-off du capteur GMI. La fonction d’<strong>Acquisition</strong> est elle non complète du fait du problème d’interface de connexion entre la carte d’acquisition 6251 et l’oscilloscope 5112.</p>



<p class="wp-block-paragraph">Et la fonctionnalité du <strong>Capteur Z</strong> n’est pas complète, car l’on ne contrôle pas le positionnement de l’axe Z en fonction du lift-off souhaité pour le capteur GMI.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="497" class="wp-image-4116" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_016_Conclusion_0.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_016_Conclusion_0.jpg 742w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_016_Conclusion_0-300x271.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td><img loading="lazy" decoding="async" width="550" height="236" class="wp-image-4117" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_016_Conclusion_1.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_016_Conclusion_1.jpg 829w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_016_Conclusion_1-300x129.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_016_Conclusion_1-768x330.jpg 768w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Partie Individuelle : Travail Réalisé par GRIVET Robin</h2>



<h3 class="wp-block-heading">Analyse des Fonctionnalités</h3>



<p class="wp-block-paragraph">Pour pouvoir réaliser le déplacement du capteur magnétique<strong> </strong>(GMI : Giant Magneto Impédance), nous devons détacher les différentes fonctionnalités composant le système.</p>


<div class="kb-table-container kb-table-container4072_abe10c-2c wp-block-kadence-table"><table class="kb-table kb-table4072_abe10c-2c">
<tr class="kb-table-row kb-table-row4072_7845ec-13">
<td  class="kb-table-data kb-table-data4072_520498-63">

<p class="wp-block-paragraph">Je devrais réaliser les fonctions permettant le pilotage du robot, ainsi que son contrôle visuel :</p>



<ul class="wp-block-list">
<li><strong>Pilotage manuel du robot</strong>
<ul class="wp-block-list">
<li>Ce mode permet le déplacement du robot à partir d’un joystick</li>



<li>Il permet d’optimiser les paramètres du robot et a terme d’améliorer les acquisitions automatique</li>
</ul>
</li>



<li><strong>Scan magnétique automatique</strong>
<ul class="wp-block-list">
<li>Le scan sera effectué de façon automatique à partir des paramètres du mode manuel.</li>



<li>Les paramètres d’acquisition seront enregistrés dans un fichier XML (Etudiant 2) afin de garder une trace des paramètres de chaque acquisition.</li>
</ul>
</li>



<li><strong>Contrôle visuel caméra</strong>
<ul class="wp-block-list">
<li>Le contrôle visuel permettra de contrôler les déplacements du robot depuis le poste utilisateur.</li>



<li>Il sera possible de mettre en pause l’acquisition d’image.</li>
</ul>
</li>



<li><strong>Acquisition Distance Z et fin de course</strong>
<ul class="wp-block-list">
<li>Distance Z : L’acquisition du lift-off (distance entre le capteur et la pièce à scanner) sera nécessaire pour éviter la collision entre le capteur et la cible, ainsi que pour modifier la précision des acquisitions du capteur GMI.</li>



<li>Les capteurs fins de course seront utilisés pour protéger le robot : ils permettront d’avoir un contrôle logiciel des dépassements de la zone de déplacement du robot.</li>
</ul>
</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_a72561-f6">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="978" height="621" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF.jpg" alt="" class="wp-image-4087" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF.jpg 978w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF-300x190.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_003_BF-768x488.jpg 768w" sizes="auto, (max-width: 978px) 100vw, 978px" /></figure>

</td>
</tr>
</table></div>


<p class="wp-block-paragraph">Les capteurs fins de course seront utilisés pour protéger le robot : ils permettront d’avoir un contrôle logiciel des dépassements de la zone de déplacement du robot.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="776" height="149" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_000.jpg" alt="" class="wp-image-4121" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_000.jpg 776w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_000-300x58.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_000-768x147.jpg 768w" sizes="auto, (max-width: 776px) 100vw, 776px" /></figure>
</div>


<ul class="wp-block-list">
<li><strong><span style="text-decoration: underline;">Convertisseur 24V to 5V :</span></strong>&nbsp;Permet de réaliser l’alimentation de la carte interface des capteurs (Z et fin de course) en 5V depuis une alimentation 24V afin de réaliser l’acquisition des tensions des capteurs.</li>



<li><span style="text-decoration: underline;"><strong>Webcam :</strong></span> Permet l’acquisition d’images pour le contrôle visuel</li>



<li><span style="text-decoration: underline;"><strong>Joystick :</strong></span> Permet de faire l’acquisition des mouvements de l’utilisateur pour ensuite piloter le robot manuellement.</li>



<li><span style="text-decoration: underline;"><strong>Capteur de position optique :</strong></span> Permet de mesurer la distance entre le capteur GMI et la cible à analyser. Il sera utilisé pour la sécurité du robot et pour paramétrer les acquisitions.</li>



<li><span style="text-decoration: underline;"><strong>Interrupteur fin de course :</strong></span> Permet d’acquérir des signaux correspondant à un dépassement de la table du robot et à termes permettront de mettre hors tension le nouveau contrôleur du robot.</li>
</ul>



<h4 class="wp-block-heading">Pilotage manuel du Robot</h4>


<div class="kb-table-container kb-table-container4072_34b9ed-14 wp-block-kadence-table"><table class="kb-table kb-table4072_34b9ed-14">
<tr class="kb-table-row kb-table-row4072_8b35f5-13">
<td  class="kb-table-data kb-table-data4072_e1608b-b2">

<p class="wp-block-paragraph">Nous disposons d’un robot Charly pilotable sur 3axes. Il est alimenté par un module de puissance qui traduira les<br>commandes de l’utilisateur pour les&nbsp; moteurs pas à pas du robot. Le module est piloté par des trames de chaines de caractères via RS232.<br>&nbsp;<br>&nbsp;<br>&nbsp;&nbsp; Pour acquérir les déplacements que l’utilisateur désire réaliser, Nous devrons acquérir les données d’un joystick, pour ensuite traduire celles-ci en commande pour le robot.<br>&nbsp;</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="145" height="184" class="wp-image-4123" style="width: 145px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_002.jpg" alt=""></td><td><span style="text-decoration: underline;">Logitech Attack 3</span><br>&nbsp;<br>11 Boutons programmables<br>USB<br>Faible coût (30€)</td></tr></tbody></table></figure>

</td>

<td  class="kb-table-data kb-table-data4072_41694a-42">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="403" height="478" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_001.jpg" alt="" class="wp-image-4122" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_001.jpg 403w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_001-253x300.jpg 253w" sizes="auto, (max-width: 403px) 100vw, 403px" /></figure>

</td>
</tr>
</table></div>


<h4 class="wp-block-heading">Scan magnétique automatique</h4>



<p class="wp-block-paragraph">Ce scan devra permettre l’acquisition d’une cible de façon totalement autonome. L’utilisateur devra auparavant utiliser le mode manuel afin de paramétrer l’acquisition automatique.&nbsp; Pour cela, il faudra choisir plusieurs paramètres :</p>



<ul class="wp-block-list">
<li>La distance Z entre le capteur et la cible</li>



<li>Le pas de déplacement du robot (résolution)</li>



<li>Un point de référence</li>



<li>La surface de la zone à scanner</li>
</ul>



<p class="wp-block-paragraph">Le mode manuel permettra à l’utilisateur de définir et d’optimiser ses paramètres. Plusieurs mesures pourront être effectuées pour être ensuite comparer. On déduira ainsi les meilleurs paramètres de l’acquisition pour la cible en question, dans le but d’améliorer la rapidité entre chaque acquisition.</p>



<p class="wp-block-paragraph">Le scan va suivre une séquence de déplacement de type balayage :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="755" height="308" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_003.jpg" alt="" class="wp-image-4125" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_003.jpg 755w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_003-300x122.jpg 300w" sizes="auto, (max-width: 755px) 100vw, 755px" /></figure>
</div>


<h4 class="wp-block-heading">Contrôle visuel caméra</h4>



<p class="wp-block-paragraph">L’utilisateur disposera d’un contrôle visuel en temps réel sur le robot grâce à une caméra. Celle-ci permettra de contrôler les déplacements depuis le poste de commande des l’utilisateur en mode manuel. Ce contrôle permet également de surveiller le bon déroulement des acquisitions avec une certaine distance de sécurité entre le poste de contrôle le banc d’acquisition (Dans le&nbsp; cas de matériaux dangereux par exemple).</p>



<p class="wp-block-paragraph">Ce contrôle sera effectué avec les fonctions activeX ainsi qu’avec un programme de traitement vidéo compatible avec activeX. Nous avons donc choisi VLC 1.0.1 car la dernière version de ce logiciel pose des problèmes de compatibilité avec le plugin activeX. L’acquisition des images ce fera de façon permanente et ce dès le lancement du programme. Il sera possible de mettre en pause l’acquisition, et également de la relancer.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="132" height="191" class="wp-image-4126" style="width: 132px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_004.jpg" alt=""></td><td>Hercules Classic Silver<br>&nbsp;<br>30 Images par seconde<br>Résolution vidéo 800&#215;600<br>Pince de fixation<br>Faible coût (20€)<br>&nbsp;<br>La qualité de l’image n’étant pas la priorité de notre contrôle, nous avons donc choisi une webcam bon marché.</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Acquisition distance Z et fin de course</h4>



<p class="wp-block-paragraph">Nous disposons d’un capteur de type analogique sur l’axe Z, afin d’éviter que le capteur GMI entre en collision avec la cible à analyser ce capteur permettra de contrôler le lift-off. Pour faire l’acquisition de ce capteur, je devrai réaliser une carte d’interface. </p>



<p class="wp-block-paragraph">Elle permet l’acquisition :</p>



<ul class="wp-block-list">
<li>D’une tension analogique 0-3V du capteur Z</li>



<li>De 4 tensions logiques 0-5V des capteurs de fin de course</li>
</ul>



<p class="wp-block-paragraph">Les capteurs de fin de course tout-ou-rien (TOR<sup data-fn="9a936232-8b62-4dfb-a756-2a5bd30b3b7a" class="fn"><a href="#9a936232-8b62-4dfb-a756-2a5bd30b3b7a" id="9a936232-8b62-4dfb-a756-2a5bd30b3b7a-link">15</a></sup>) sont disposé sur le robot de façon à traduire un dépassement sur les axes X et Y (min et max). Nous ferons ensuite l’acquisition de ses tensions avec la carte SCB68 afin de les faire intervenir dans le programme.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="150" height="116" class="wp-image-4128" style="width: 150px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_005.jpg" alt=""><br>Interrupteur fin de course</td><td><strong><span style="text-decoration: underline;">Panasonic AZ7100</span></strong><br>&nbsp;<br>Grande résistance aux chocs<br>Faible coût (8€)<br>&nbsp;<br>Les capteurs de fin de course on été choisie selon un critère de solidité afin que les déplacements du robot n’endommage pas les capteurs.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="150" height="129" class="wp-image-4129" style="width: 150px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_006.jpg" alt=""><br>Capteur distance Z</td><td><strong><span style="text-decoration: underline;">Capteur optique Sharp</span></strong><br>&nbsp;<br>Plage de mesure ( 20 à 150cm )<br>Sortie analogique<br>Résolution : ± 1mm<br>Tension d’alimentation : 5V<br>&nbsp;<br>Nous avons choisi ce capteur car utilise une technologie compatible avec nôtre projet (Optique).<br>Il dispose d’une plage de mesure assez courte, qui correspond a notre besoin, ainsi qu’une bonne résolution.&nbsp;</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="150" height="137" class="wp-image-4130" style="width: 150px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_007.jpg" alt=""></td><td><strong><span style="text-decoration: underline;">Caractéristique de la carte :</span></strong><br>&nbsp;<br>Résolution 16 bits<br>16 voix analogiques/8 voix différentielles<br>Echantillonnage 1,25 M/s<br>&nbsp;<br>Cette carte sera intégrée dans le PXI afin de faire l’acquisition de la carte scb-68.</td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="150" height="154" class="wp-image-4131" style="width: 150px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_008.jpg" alt=""><br>SCB-68</td><td><strong><span style="text-decoration: underline;">Caractéristique de l’interface de connexion :</span></strong><br> <br>Communication I/O<sup data-fn="c92959a2-77ba-4fa0-a36b-1846ebd9ae60" class="fn"><a href="#c92959a2-77ba-4fa0-a36b-1846ebd9ae60" id="c92959a2-77ba-4fa0-a36b-1846ebd9ae60-link">16</a></sup> 68 broches<br>Un capteur de température<br>5 Switches<br>Compatible RSE<sup data-fn="be02cf0a-23da-4ccf-a4d8-f32ab5582dfc" class="fn"><a href="#be02cf0a-23da-4ccf-a4d8-f32ab5582dfc" id="be02cf0a-23da-4ccf-a4d8-f32ab5582dfc-link">17</a></sup> / Différentiel<br> <br>L’acquisition des tensions des capteurs (Z et fin de course) sera réalisée grâce à la carte d’acquisition scb-68.</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Codage des différentes fonctionnalités : Sous VI</h3>



<p class="wp-block-paragraph">Pour réaliser les différentes fonctions, nous devrons coder un programme Labview.</p>



<p class="wp-block-paragraph">J’utiliserai dans un premier temps une version antérieure (7.2, faute de licence 8.0 sur les postes de développement) pour développer mes prototypes.</p>



<p class="wp-block-paragraph">Ces prototypes ont pour but de prendre en main le logiciel de codage ainsi que ses nombreuses fonctions, mais également de mieux ce représenter comment réaliser les différentes fonctions pour optimiser chaque partie de code.</p>



<h4 class="wp-block-heading">Mode Manuel</h4>



<h5 class="wp-block-heading">Acquisition joystick</h5>



<p class="wp-block-paragraph">Dans cette partie, nous devrons réaliser l’acquisition des données du joystick afin de retranscrire son mouvement pour le robot. Nous ferons l’acquisition des boutons du joystick ainsi que ses 3 axes :</p>



<ul class="wp-block-list">
<li>Les 2 axes du manche représenteront les déplacements du robot sur les deux mêmes axes (XY).</li>



<li>De l’axes Z (roulette), Qui sera utiliser pour modifier la temporisation d’envoie de trame.</li>



<li>Les boutons, auxquelles nous attribuons des fonctions utiles tel que :
<ul class="wp-block-list">
<li>L’initialisation des axes du robot</li>



<li>Le marquage d’un point de référence</li>



<li>Un retour à l’origine</li>



<li>Fonction&nbsp; d’envoie de trame manuelle.</li>
</ul>
</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td><span style="text-decoration: underline;">Pour les axes :</span><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color">Integer</mark> </strong>: [-32768 | 32768]<br><br><span style="text-decoration: underline;">Pour les boutons :</span><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color">Bouléen</mark> </strong>: [0 | 1]</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="413" class="wp-image-4132" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_009.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_009.jpg 883w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_009-300x225.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_009-768x577.jpg 768w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<h5 class="wp-block-heading">Communication RS232</h5>



<p class="wp-block-paragraph">Nous devrons réaliser un code permettant la communication entre le module de puissance (robot) et le pc de développement.</p>



<p class="wp-block-paragraph">Pour cela, Je suis parti d’un exemple donné dans labview, pour l’adapter à nos besoins. J’ai commencé par étudier le .vi exemple fournit avec labview, afin de comprendre son fonctionnement, et ainsi de récupérer les blocs fonctionnel dont nous avons besoin.</p>



<p class="wp-block-paragraph">Blocs utilisés :</p>


<div class="kb-table-container kb-table-container4072_e0db37-12 wp-block-kadence-table"><table class="kb-table kb-table4072_e0db37-12">
<tr class="kb-table-row kb-table-row4072_4be162-08">
<td  class="kb-table-data kb-table-data4072_07deb5-6f">

<p class="has-text-align-center wp-block-paragraph"><span style="text-decoration: underline;">Création Communication Série</span></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="74" height="75" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_010.jpg" alt="" class="wp-image-4134"/></figure>
</div>
</td>

<td  class="kb-table-data kb-table-data4072_66f711-14">

<p class="wp-block-paragraph">Ce bloc correspond à la fonction qui va ouvrir la ligne série. On lui envoie les paramètres de communication :</p>



<p class="wp-block-paragraph"></p>



<ul class="wp-block-list">
<li>Parité &#8211; taille buffer &#8211; Bit de stop &#8211; bit de donnée &#8211; débit en baud</li>
</ul>



<p class="wp-block-paragraph">On peut désormais utiliser les fonctions série – Sortie d’erreur</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_c2bf68-b7">
<td  class="kb-table-data kb-table-data4072_0c47ec-33">

<p class="has-text-align-center wp-block-paragraph"><span style="text-decoration: underline;">Envoie Série</span></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="77" height="71" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_011.jpg" alt="" class="wp-image-4135"/></figure>
</div>
</td>

<td  class="kb-table-data kb-table-data4072_dc39d0-94">

<p class="wp-block-paragraph">Ce bloc permet l’envoie de caractères sur la ligne série. (Write)<br>On spécifie la ligne série utilisée et la chaîne à envoyer.<br>Sortie d’erreur</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_9a8c1e-15">
<td  class="kb-table-data kb-table-data4072_5a2903-4d">

<p class="has-text-align-center wp-block-paragraph"><span style="text-decoration: underline;">Réception Série</span></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="50" height="55" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_012.jpg" alt="" class="wp-image-4136"/></figure>
</div>
</td>

<td  class="kb-table-data kb-table-data4072_1e5be0-bd">

<p class="wp-block-paragraph">Ce bloc réceptionne les caractères de la ligne série. (Read)<br>On lui indique la ligne série a lire et le nombre de caractère à récupérer.<br>On obtient le(s) caractère(s) en sortie, ainsi que la sortie d’erreur.</p>

</td>
</tr>
</table></div>


<p class="wp-block-paragraph">Une fois les blocs repérés, on crée un code simplifié avec les fonctions importantes afin d’alléger le code et de faciliter l’intégration avec les autres fonctions.</p>


<div class="kb-table-container kb-table-container4072_7d0388-24 wp-block-kadence-table"><table class="kb-table kb-table4072_7d0388-24">
<tr class="kb-table-row kb-table-row4072_d67ca7-08">
<td  class="kb-table-data kb-table-data4072_51e10e-24">

<p class="has-text-align-center wp-block-paragraph"><img loading="lazy" decoding="async" width="550" height="373" class="wp-image-4138" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_013.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_013.jpg 578w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_013-300x203.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></p>

</td>

<td  class="kb-table-data kb-table-data4072_ca3323-f9">

<p class="has-text-align-center wp-block-paragraph"><span style="text-decoration: underline;">Test unitaire :</span></p>



<p class="has-text-align-center wp-block-paragraph"><img loading="lazy" decoding="async" width="250" height="332" class="wp-image-4139" style="width: 250px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_014.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_014.jpg 285w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_014-226x300.jpg 226w" sizes="auto, (max-width: 250px) 100vw, 250px" /></p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_3d32f8-56">
<td  class="kb-table-data kb-table-data4072_53aacc-5c">

<p class="wp-block-paragraph"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color"><strong><span style="text-decoration: underline;">En Rouge :</span></strong></mark> Les paramètres de la communication<br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color"><strong><span style="text-decoration: underline;">En Vert :</span></strong></mark> Spécifie un nom de ressource qui sera utilisé par les différentes fonctions de la ligne série<br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color"><strong><span style="text-decoration: underline;">En Bleu :</span></strong></mark> Affiche les informations circulant sur la ligne série</p>

</td>

<td  class="kb-table-data kb-table-data4072_482a79-b5">

<p class="wp-block-paragraph">On test la communication en envoyant une commande au robot, et on attend qu’il envoie une réponse<br>On constate qu’il nous répond « 0 » qui correspond à l’exécution avec succès de la commande.</p>

</td>
</tr>
</table></div>


<h5 class="wp-block-heading">Générateur de trame</h5>



<p class="wp-block-paragraph">Ce générateur de trame aura pour but de crée une trame de chaîne de caractère constituant une commande pour le robot. Nous réaliserons un générateur de trame suivant le modèle de la commande suivante :</p>



<p class="has-text-align-center has-small-font-size wp-block-paragraph"><strong><em>DistanceX | VitesseX | DistanceY | VitesseY | DistanceZ | VitesseZ | DistanceZ2 | VitesseZ2 | Fin trame</em></strong></p>



<p class="wp-block-paragraph">Cette commande (@0A) correspond a un déplacement relatif du robot, c’est-à-dire qu’il ce déplace suivant les mesures souhaitées à partir du point auquel il ce trouve. Le paramètre Z2 correspond au déplacement négatif en Z, c&rsquo;est-à-dire quand la tête dur robot remonte.<br>Ce paramètre peu être utile lorsque le robot est utilisée pour percer, ainsi on peut spécifier une vitesse de perçage différente de la vitesse de remonter de la perceuse. Cette option permet de gagner du temps lors de l’usinage. Nous n’aurons pas besoin d’exploiter cette fonction.</p>



<ul class="wp-block-list">
<li>Les variables DistanceX et DistanceY sont récupérées à partir de la position du manche du joystick. (On multipliera les valeurs acquises par un coefficient modifiable depuis l’interface).</li>



<li>La Distance Z sera définit manuellement dans l’interface, ou sera géré en fonction de la valeur du Capteur de distance optique sur l’axe Z.</li>



<li>La vitesse des axes est définit dans l’interface par l’utilisateur, elle sera la même pour tout les axes.
<ul class="wp-block-list">
<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">La vitesse de tous les axes (même Z2) doit être supérieure à 0, sinon la commande n’est pas validée.</mark></li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">On part d’une trame de base contenant la commande du robot en dur <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">[1]</mark> pour ensuite concaténer les informations nécessaires.<br>Chaque séquence <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">[2]</mark> correspond à une valeur (distance ou vitesse) convertie en chaîne de caractère puis concaténée avec la virgule qui sépare les différents champs.<br>On concatène ensuite les caractères CR<sup data-fn="28883047-f158-4409-ba73-e5098a14062a" class="fn"><a href="#28883047-f158-4409-ba73-e5098a14062a" id="28883047-f158-4409-ba73-e5098a14062a-link">18</a></sup> (Carriage Return) et LF<sup data-fn="cfac67e8-0f30-415b-911c-c0bed686d2ae" class="fn"><a href="#cfac67e8-0f30-415b-911c-c0bed686d2ae" id="cfac67e8-0f30-415b-911c-c0bed686d2ae-link">19</a></sup> (Line Feed) pour achever la trame <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">[3]</mark>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="903" height="335" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_015.jpg" alt="" class="wp-image-4141" style="aspect-ratio:2.6956130258616375;width:647px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_015.jpg 903w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_015-300x111.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_015-768x285.jpg 768w" sizes="auto, (max-width: 903px) 100vw, 903px" /></figure>
</div>


<p class="wp-block-paragraph">On obtient une chaîne de caractère correspondant à un déplacement relatif du robot qui prête à lui être envoyé.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td><img loading="lazy" decoding="async" width="550" height="215" class="wp-image-4143" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_016.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_016.jpg 442w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_016-300x117.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td>On réalise ensuite un test.<br>&nbsp;<br>On entre les paramètres, et on essaye de créer la trame.&nbsp;<br>On constate que la trame correspond aux paramètres choisi, la fonction est donc réalisée avec succès.</td></tr></tbody></table></figure>



<h5 class="wp-block-heading">Intégration des prototypes</h5>



<p class="wp-block-paragraph">Une fois les 3 fonctions de base réalisée, on va fusionner les codes afin d’obtenir un programme permettant le déplacement du robot par le joystick.</p>



<p class="wp-block-paragraph">On commence par faire l’acquisition du joystick, et on convertie la valeur des axes X et Y pour créer les trames. Les valeurs sont ensuite récupérer pour créer les trames avec le générateur.</p>



<p class="wp-block-paragraph">On crée ensuite une condition, si on appuie sur la gâchette du joystick, on rentre dans la boucle de condition qui contient la fonction d’envoie et de réception série. Ainsi, à chaque appuie de gâchette, on envoie une trame de déplacement correspondant à la position du joystick au moment de l’appuie et on récupère ensuite la réponse du robot.</p>


<div class="kb-table-container kb-table-container4072_e90598-b5 wp-block-kadence-table"><table class="kb-table kb-table4072_e90598-b5">
<tr class="kb-table-row kb-table-row4072_330827-ff">
<td  class="kb-table-data kb-table-data4072_547b0f-86">

<p class="wp-block-paragraph">En <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">Rouge</mark> : Les paramètres de la communication série</p>



<p class="wp-block-paragraph">En <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-1-color">Jaune</mark> : Les données circulant sur la ligne</p>



<p class="wp-block-paragraph">En <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color">Vert</mark> : Les données du joystick</p>



<p class="wp-block-paragraph">En <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color">Bleu</mark> : Paramètres déplacement et info programme :</p>



<ul class="wp-block-list">
<li><strong><span style="text-decoration: underline;">PasZ :</span></strong> On définit la distance minimum parcourue en Z</li>



<li><strong><span style="text-decoration: underline;">Coefficient :</span></strong> Modifie la distance à parcourir par rapport a la position du joystick</li>



<li><strong><span style="text-decoration: underline;">VitesseCharly :</span></strong> Modifie la vitesse de déplacement du robot sur les 3 axes.</li>



<li><strong><span style="text-decoration: underline;">Y Axis et X Axis :</span></strong> Position actuel du joystick (Int) • Tempo mS : Temps minimum entre chaque envoie de trame.</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_957398-12">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="956" height="575" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_017.jpg" alt="" class="wp-image-4144" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_017.jpg 956w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_017-300x180.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_017-768x462.jpg 768w" sizes="auto, (max-width: 956px) 100vw, 956px" /></figure>

</td>
</tr>
</table></div>


<p class="wp-block-paragraph">On test ensuite l’intégration des partie, on branche le joystick, et on essaye de déplacer le robot. Le test est un succès, le robot ce déplace suivant les instructions de l’utilisateur via le joystick.</p>



<h4 class="wp-block-heading">Mode automatique</h4>



<p class="wp-block-paragraph">Pour réaliser la séquence d’acquisition, il faut :</p>



<ul class="wp-block-list">
<li>La communication avec le robot</li>



<li>La séquence de déplacement</li>
</ul>



<p class="wp-block-paragraph">Le programme est composé en deux grandes parties exécutées successivement :</p>



<ul class="wp-block-list">
<li>La première partie qui consiste à initialiser la communication RS232 entre le PC et le robot et à réinitialiser les variables du programme pour recommencer un balayage.</li>



<li>Dans la seconde partie, On génère les trames nécessaires pour le balayage, puis ses trames seront envoyées de façon à décrire le plan de déplacement.</li>
</ul>



<p class="wp-block-paragraph"><span style="text-decoration: underline;">Boucle séquentielle principale :</span></p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="822" height="165" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_018.jpg" alt="" class="wp-image-4146" style="aspect-ratio:4.982035928143713;width:563px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_018.jpg 822w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_018-300x60.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_018-768x154.jpg 768w" sizes="auto, (max-width: 822px) 100vw, 822px" /></figure>
</div>


<h5 class="wp-block-heading">Initialisation communication série</h5>



<p class="wp-block-paragraph">Pour réaliser la communication, on commence par initialiser la liaison série :</p>



<ul class="wp-block-list">
<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">En rouge :</mark> On crée la liaison série avec le numéro de port.</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color">En vert :</mark> Paramètres pour la configuration de la liaison.</li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color">En bleu :</mark> Initialisation des variables local pour la suite de la séquence.</li>
</ul>



<ol class="wp-block-list">
<li>On récupère les paramètres de l’utilisateur pour paramétrer la communication
<ul class="wp-block-list">
<li>Numéro de port – Vitesse de transmissions &#8211; Bits de données – Parité – Bits de stop – taille du buffer</li>
</ul>
</li>



<li>On utilise un nœud de propriété pour modifier les paramètres (le contrôle de flot de donnée)</li>



<li>On indique la taille du buffer pour la réception.</li>
</ol>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="781" height="480" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_019.jpg" alt="" class="wp-image-4147" style="width:670px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_019.jpg 781w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_019-300x184.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_019-768x472.jpg 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></figure>
</div>


<h5 class="wp-block-heading">Envoie des trames &#8211; Réalisation du balayage</h5>



<p class="wp-block-paragraph">Une fois la liaison établie, on peut envoyer les commandes au robot. Pour envoyer les trames, on utilisera toujours la même structure :</p>



<ul class="wp-block-list">
<li>Boucle séquentielle : Envoie de la trame, puis réception de la réponse du robot.</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Pour communiquer sur la liaison série, on utilise les fonctions VISA :<br><br>Ces blocs fonctionnels sont comparables à des drivers et permettent de réaliser des fonctions de base sur un même matériel. On commence par ouvrir une session sur le périphérique spécifié par Nom de ressource VISA (input refnum) et la fonction renvoie un identificateur de session qui sera récupérer par les différentes fonctions afin d’agir sur le même périphérique.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="350" height="354" class="wp-image-4150" style="width: 350px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_020.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_020.jpg 695w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_020-297x300.jpg 297w" sizes="auto, (max-width: 350px) 100vw, 350px" /></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Le programme de déplacement est composé de 2 parties :</p>



<ul class="wp-block-list">
<li>Balayage de la zone (1 à 4)</li>



<li>Fin de balayage et retour a l’origine (5 et 6)</li>
</ul>


<div class="kb-table-container kb-table-container4072_bc3637-7c wp-block-kadence-table"><table class="kb-table kb-table4072_bc3637-7c">
<tr class="kb-table-row kb-table-row4072_6b185c-68">
<td  class="kb-table-data kb-table-data4072_dfdb38-32">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="297" height="268" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_021.jpg" alt="" class="wp-image-4151"/></figure>

</td>

<td  class="kb-table-data kb-table-data4072_9baf5a-2e">

<p class="has-text-align-center wp-block-paragraph">L’envoie des trames réalise le déplacement ci-contre. Le<br>principe est de répéter cette séquence jusqu’à atteindre la</p>



<p class="has-text-align-center wp-block-paragraph">valeur maximal sur l’axe Y.</p>



<p class="has-text-align-center wp-block-paragraph">On ajoute donc une condition à la suite de ses 4 trames :</p>



<p class="wp-block-paragraph"><br>Si « DistanceActuelY = DistanceY »<br>    Faire « Envoie trame fin de séquence »<br>    Faire « Envoie trame retour origine »<br>Sinon<br>    Recommencer la séquence</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_83890a-a1">
<td  class="kb-table-data kb-table-data4072_274eff-81">
<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="143" height="227" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_022.jpg" alt="" class="wp-image-4152" style="width:179px;height:auto"/></figure>
</div>
</td>

<td  class="kb-table-data kb-table-data4072_cdd081-f2">

<p class="has-text-align-center wp-block-paragraph">Une fois la distance maximal en Y atteinte,<br>on considère que la séquence est terminée, il ne reste plus<br>qu’a envoyer la dernière trame (Flèche bleu) qui finira le</p>



<p class="has-text-align-center wp-block-paragraph">balayage.</p>



<p class="has-text-align-center wp-block-paragraph">Cette dernière trame est la même que celle utilisé<br>précédemment pour l’incrémentation X (Flèche noir), On<br>reprend donc la même trame, que nous devrons envoyé le<br>même nombre de fois, afin de décrire le même déplacement.<br>Puis la trame de retour a l’origine du balayage, afin de</p>



<p class="has-text-align-center wp-block-paragraph">recommencer l’opération.</p>

</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="767" height="205" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_023.jpg" alt="" class="wp-image-4153" style="width:700px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_023.jpg 767w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_023-300x80.jpg 300w" sizes="auto, (max-width: 767px) 100vw, 767px" /></figure>
</div>

<div class="kb-table-container kb-table-container4072_07bc9e-26 wp-block-kadence-table"><table class="kb-table kb-table4072_07bc9e-26">
<tr class="kb-table-row kb-table-row4072_158230-26">
<td  class="kb-table-data kb-table-data4072_80faf9-98">

<p class="has-text-align-center wp-block-paragraph"><strong>1 &#8211; Incrémentation X</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="340" height="291" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_024.jpg" alt="" class="wp-image-4156" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_024.jpg 340w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_024-300x257.jpg 300w" sizes="auto, (max-width: 340px) 100vw, 340px" /></figure>
</div>


<p class="wp-block-paragraph">1 : C’est le nombre de fois que la trame sera envoyée :<br>    On calcul cette valeur : </p>



<p class="has-text-align-center wp-block-paragraph">    NbrBoucleX = DistanceX / PasX</p>



<p class="has-text-align-left wp-block-paragraph"><br>2 : C’est le PasX définit par l’utilisateur. Il est utilisé ici pour créer la trame de déplacement. Une fois la boucle de répétition terminée, on peut en déduire qu’on a atteint la distance X maximum du balayage, on peut donc incrémenter Y.</p>

</td>

<td  class="kb-table-data kb-table-data4072_5c8410-a5">

<p class="has-text-align-center wp-block-paragraph"><strong>2 &#8211;</strong> <strong>Incrémentation Y</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="330" height="304" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_025.jpg" alt="" class="wp-image-4157" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_025.jpg 330w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_025-300x276.jpg 300w" sizes="auto, (max-width: 330px) 100vw, 330px" /></figure>
</div>


<p class="wp-block-paragraph">1 : C’est le PasY définit par l’utilisateur. Il est utilisé ici pour créer<br>la trame de déplacement.</p>



<p class="wp-block-paragraph"><br>Une fois l’incrémentation Y faite, on peut recommencer le  déplacement sur l’axe X mais il sera négatif afin de revenir à la<br>position initiale (sur l’axe X).</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_b55e57-39">
<td  class="kb-table-data kb-table-data4072_a4c2b1-2f">

<p class="has-text-align-center wp-block-paragraph"><strong>3 &#8211; Incrémentation -X</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="357" height="323" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_026.jpg" alt="" class="wp-image-4158" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_026.jpg 357w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_026-300x271.jpg 300w" sizes="auto, (max-width: 357px) 100vw, 357px" /></figure>
</div>


<p class="wp-block-paragraph">1 : C’est le nombre de fois que la trame sera envoyée :<br>On calcul cette valeur :</p>



<p class="has-text-align-center wp-block-paragraph">NbrBoucleX = DistanceX / PasX</p>



<p class="has-text-align-left wp-block-paragraph"><br>2 : C’est le PasX définit par l’utilisateur. Il est utilisé ici pour créer la trame de déplacement mais celle-ci doit être négative. On utilisera donc l’opposé de PasX pour créer la trame. Une fois la boucle de répétition terminée, on peut en déduire qu’on est revenu à la position X=0, on peut donc incrémenter Y.</p>

</td>

<td  class="kb-table-data kb-table-data4072_b4d071-8e">

<p class="has-text-align-center wp-block-paragraph"> <strong>4 &#8211;</strong> <strong>Incrémentation Y</strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="352" height="193" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_027.jpg" alt="" class="wp-image-4159" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_027.jpg 352w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_027-300x164.jpg 300w" sizes="auto, (max-width: 352px) 100vw, 352px" /></figure>



<p class="wp-block-paragraph">On envoie a nouveau la trame d’incrémentation de l’axeY crée<br>précedement.</p>

</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="492" height="296" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_028.jpg" alt="" class="wp-image-4161" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_028.jpg 492w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_028-300x180.jpg 300w" sizes="auto, (max-width: 492px) 100vw, 492px" /></figure>
</div>

<div class="kb-table-container kb-table-container4072_4c8150-6b wp-block-kadence-table"><table class="kb-table kb-table4072_4c8150-6b">
<tr class="kb-table-row kb-table-row4072_607d1c-53">
<td  class="kb-table-data kb-table-data4072_c6cd43-86">

<p class="has-text-align-center wp-block-paragraph"><strong>Test de fin de balayage</strong></p>



<p class="has-text-align-left wp-block-paragraph"><br>On ajoute donc le test après la séquence, qui permettra de valider<br>l’envoie de la dernière trame. Pour cela, à chaque déplacement Y, on<br>incrémente une variable ValeurBoucleY. On compare ensuite le<br>nombre de trames envoyées avec le nombre de trame à envoyer.</p>



<p class="has-text-align-center wp-block-paragraph"><br>(NbrBoucleY = DistanceY / PasY)</p>

</td>

<td  class="kb-table-data kb-table-data4072_beec2b-72">

<p class="has-text-align-center wp-block-paragraph"><strong>5 &#8211; Déplacement final</strong></p>



<p class="has-text-align-left wp-block-paragraph"><br>Lorsque cette condition est vraie, on sait qu’on a atteint le<br>Ymax et que la séquence est terminée.<br>La boucle de condition validée et la dernière trame envoyée.</p>

</td>
</tr>
</table></div>

<div class="kb-table-container kb-table-container4072_ae09bc-47 wp-block-kadence-table"><table class="kb-table kb-table4072_ae09bc-47">
<tr class="kb-table-row kb-table-row4072_0356ac-88">
<td  class="kb-table-data kb-table-data4072_063167-38">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="487" height="472" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_029.jpg" alt="" class="wp-image-4162" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_029.jpg 487w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_029-300x291.jpg 300w" sizes="auto, (max-width: 487px) 100vw, 487px" /></figure>

</td>

<td  class="kb-table-data kb-table-data4072_f2ea5c-2d">

<p class="wp-block-paragraph">Le balayage est réalisé, il ne reste plus qu’a revenir au point d’origine de<br>l’acquisition.<br>On sort de la boucle de balayage et on<br>réalise un dernier test pour envoyé la<br>commande de retour :</p>



<ul class="wp-block-list">
<li>Le balayage est terminé (PositionY&gt;distanceY ? = Fin)</li>



<li>Le programme n’est pas terminé<br>(BouclePrincipal)</li>
</ul>



<p class="wp-block-paragraph">La flèche correspond à un test :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="218" height="196" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_030.jpg" alt="" class="wp-image-4163"/></figure>
</div>


<p class="wp-block-paragraph">L’envoie de la trame de retour est validé<br>lorsque le balayage est terminer, mais<br>pas la boucle principal.<br>On envoie la trame de retour, et on<br>modifie les variables afin que le<br>programme ce termine.</p>

</td>
</tr>

<tr class="kb-table-row kb-table-row4072_e06ad6-4c">
<td  class="kb-table-data kb-table-data4072_5f6178-89">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="480" height="422" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_031.jpg" alt="" class="wp-image-4164" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_031.jpg 480w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_031-300x264.jpg 300w" sizes="auto, (max-width: 480px) 100vw, 480px" /></figure>

</td>

<td  class="kb-table-data kb-table-data4072_cf8a29-9c">

<p class="wp-block-paragraph">L’interface du prototype :<br>Dans un premier temps on définit<br>les paramètres du balayage :</p>



<ul class="wp-block-list">
<li>La surface
<ul class="wp-block-list">
<li>DistanceX</li>



<li>DistanceY</li>
</ul>
</li>



<li>La résolution
<ul class="wp-block-list">
<li>PasX</li>



<li>PasY</li>
</ul>
</li>



<li>La vitesse de déplacement<br>du robot</li>



<li>La tempo
<ul class="wp-block-list">
<li>Temps entre chaque<br>envoie de trame</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Les paramètres Z ne sont pas<br>utilisés dans ce prototype.<br>Dans un second temps on affiche<br>des informations utiles au<br>déroulement du programme tel que<br>les trames qui vont être envoyées,<br>ou le nombre de boucle à effectuer.</p>

</td>
</tr>
</table></div>


<p class="wp-block-paragraph">Le programme est fait de telle façon que, lorsqu’on l’exécute, il réalise une séquence de déplacement avec retour à l’origine et prend fin (afin de faciliter l’intégration).</p>



<p class="wp-block-paragraph"><br>On fait ensuite un test unitaire pour de valider le déplacement du robot :<br>Pour ce faire, on fixe un marqueur à la place du capteur GMI, et on maintient une feuille de papier avec du scotch sur le plateau du robot. On démarre ensuite le balayage, et on vérifie si le chemin parcouru correspond à celui désiré.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="406" class="wp-image-4165" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_032.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_032.jpg 367w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_032-300x222.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td class="has-text-align-center" data-align="center">On crée un graphe XY représentant le déplacement du robot<br><img loading="lazy" decoding="async" width="550" height="330" class="wp-image-4166" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_033.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_033.jpg 323w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_033-300x180.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /><br>On voit que les déplacements sont similaires.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Le 3eme essaie correspond bien au balayage demandé, le code est donc opérationnel, la fonction est validée.</p>



<h4 class="wp-block-heading">Contrôle visuel par webcam</h4>



<p class="wp-block-paragraph">Pour faire l’acquisition des images de la webcam, nous avons besoins d’un logiciel de traitement vidéo.<br>Pour ça, on utilise le logiciel VLC media player (Gratuit). Nous utilisons la version 1.0.1 car la dernière version (1.2) est incompatible avec le contrôle activeX. L’installation de ce logicielle est précisé dans la notice d’utilisation.<br>La webcam est disposée sur le robot afin d’avoir un contrôle visuel sur ses déplacements.<br>Le flux vidéo est acquis et affiché dans l’interface utilisateur. Ce contrôle permettra de garder un œil sur les déplacements du robot pendant un balayage afin de prévenir tout<br>incident.<br>Nous aurons donc besoin d’une webcam afin de faire l’acquisition des images. Le programme d’acquisition de la webcam ce compose en 2 parties exécutées successivement :</p>



<ul class="wp-block-list">
<li>Initialisation du contrôle ActiveX avec VLC et lancement acquisition</li>



<li>Arrêt acquisition</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>A l’origine, on crée un contrôle ActiveX vide.<br>On appel ensuite le programme d’acquisition vidéo souhaité.<br>Pour réaliser des modifications sur le contrôle ActiveX, on utilise des nœuds de propriétés permettant d’avoir accès aux propriétés et méthodes d’une application.<br>On indique au contrôle que nous allons utiliser le module VLC, avec le chemin local de la webcam.<br>On lance ensuite le mode « play », et on reste dans cette état jusqu&rsquo;à ce que l’utilisateur appuis sur le bouton.<br>Ce mode va faire l’acquisition des images et afficher celle-ci dans le contrôle ActiveX de<br>l’interface.</td><td>Si le bouton est enfoncé, on démarre la<br>deuxième partie de la séquence, et on<br>demande le mode « stop ».<br>L’acquisition de la webcam est alors<br>suspendue, et on reste dans cette état jusqu’au prochaine appuie sur le bouton Play/Pause.<br>Si on appuie à nouveau, on sort de la boucle et on ferme le contrôle ActiveX.</td></tr></tbody></table></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="604" height="556" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_034.jpg" alt="" class="wp-image-4167" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_034.jpg 604w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_034-300x276.jpg 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>
</div>


<h4 class="wp-block-heading">Acquisition du capteur Z et des capteurs fin de course</h4>



<p class="wp-block-paragraph">Nous avons fixé les capteurs de fin de course aux extrémités du robot ainsi que des butées réglables. Le capteur Z est amarré à la tête du robot, et pointe en direction du plateau.</p>


<div class="kb-table-container kb-table-container4072_d9f25e-25 wp-block-kadence-table"><table class="kb-table kb-table4072_d9f25e-25">
<tr class="kb-table-row kb-table-row4072_1fcf15-4d">
<td  class="kb-table-data kb-table-data4072_30dfa0-b1">

<p class="wp-block-paragraph">Nous disposons d’une alimentation 24V continu pour alimenter les capteurs.<br>Les fin de courses sont des interrupteurs, il n’y a donc pas de tension d’alimentation max.<br>Le capteur Z doit être alimenté en 5V pour fonctionner.<br><br>En <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color">Vert</mark> : Les capteurs fin de course<br>En <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">Rouge</mark> : Le capteur Z<br>En <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color">Bleu</mark> : Les butées<br><br>La carte d’interface devra donc :</p>



<ul class="wp-block-list">
<li>Transformer le 24V en 5V</li>



<li>Faire l’acquisition de 4 tensions logique 0 ou 5V des fins de courses</li>



<li>Faire l’acquisition d’une tension analogique variant entre 0 et 3V correspondant à la distance Z</li>



<li>Avoir un minimum de sécurité (ajout d’un fusible)</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_fdfd3a-01">

<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="550" height="654" class="wp-image-4168" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_035.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_035.jpg 503w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_035-252x300.jpg 252w" sizes="auto, (max-width: 550px) 100vw, 550px" /></p>

</td>
</tr>
</table></div>


<p class="wp-block-paragraph"><span style="text-decoration: underline;">Choix des composants :</span></p>



<p class="wp-block-paragraph">On utilise des résistances (1.5Kohms) afin de fixé un faible courant :</p>



<figure class="wp-block-table has-small-font-size"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center">U=RxI</td><td class="has-text-align-center" data-align="center">U=5V</td><td class="has-text-align-center" data-align="center">On prend des résistances 1.5Kohms.</td></tr><tr><td class="has-text-align-center" data-align="center">I=U/R</td><td class="has-text-align-center" data-align="center">I=5/1500</td><td class="has-text-align-center" data-align="center">I=33mA</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">  <br>On a donc un courant d’environ 33mA, ce qui est suffisant au fonctionnement, sans trop consommer d’énergie.<br>On dessine un schéma de la carte à réaliser (Le fusible n’apparaît pas, il sera a la sortie du convertisseur de tension)</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="316" class="wp-image-4169" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_036.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_036.jpg 598w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_036-300x173.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td class="has-text-align-center" data-align="center">On utilise un bornier faisant office d’entrée et sorties.<br>Câblage du bornier :<br><img loading="lazy" decoding="async" width="250" height="201" class="wp-image-4175" style="width: 250px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_039.jpg" alt=""></td></tr></tbody></table></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="740" height="166" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_040.jpg" alt="" class="wp-image-4176" style="width:740px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_040.jpg 740w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_040-300x67.jpg 300w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure>
</div>


<p class="wp-block-paragraph">On réalise ensuite la carte, et on branche les capteurs afin d’effectuer des tests unitaires.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="594" height="361" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_037.jpg" alt="" class="wp-image-4170" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_037.jpg 594w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_037-300x182.jpg 300w" sizes="auto, (max-width: 594px) 100vw, 594px" /></figure>
</div>


<p class="wp-block-paragraph">Le test de la carte a été réalisé avec un voltmètre, Chaque tension à été testées avec succès.<br>Nous ferons ensuite l’acquisition de ces tensions avec la carte SCB68 pour intégrer ces informations dans le programme. Cette partie est traitée par mon binôme.</p>



<p class="wp-block-paragraph"><br>Après intégration, on réalise un test depuis labview afin de valider l’acquisition des données.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Sur le graphe de gauche :<br>La tension du capteur Z, correspondant au lift-off.<br>Entre 0 et 3V.<br><br>Sur le graphe de droite :<br>On a les 4 tensions des capteurs fins de courses.<br>Ici, on appuie sur l’un des capteurs, et on peut voir que la tension bleu correspondante est à 5V.</td><td><img loading="lazy" decoding="async" width="550" height="240" class="wp-image-4171" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_038.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_038.jpg 656w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_038-300x131.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Partie Individuelle : Travail Réalisé par GUILLEMARD Erwan</h2>



<h3 class="wp-block-heading">Présentation des fonctionnalités à Réaliser</h3>



<p class="wp-block-paragraph">Pour pouvoir réaliser le banc de test du capteur GMI (Giant Magneto Impédance), nous devons détacher les différentes fonctionnalités composant le système.<br>Pour ma part, je devrais développer et réaliser les fonctionnalités suivantes du banc de test :</p>



<ul class="wp-block-list">
<li>Acquisition du signal</li>



<li>Visualisation du signal</li>



<li>Configuration des paramètres</li>



<li>Capteurs de position Axe Z</li>



<li>Accessibilité aux données enregistrées</li>
</ul>



<h4 class="wp-block-heading">Acquisition du signal</h4>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Nous recherchons à déduire<br>l’impédance dégager par le capteur<br>CND. Pour cela, nous allons effectuer<br>plusieurs opérations sur les deux<br>tensions acquises.<br>Pour cela, nous allons déduire l’image<br>du courant à partir de la tension aux<br>bornes de la résistance. Puis avec la<br>tension aux bornes de la bobine, nous<br>pourrons l’impédance du capteur GMI.<br>Ensuite selon la fréquence<br>d’acquisition, l’on choisira d’orienté le<br>signal vers la carte d’acquisition 6251<br>(dans le cas de fréquence inférieur à<br>20MHz ou la carte d’acquisition 5112<br>(dans le cas de fréquence supérieur à<br>20MHz).</td><td><img loading="lazy" decoding="async" width="550" height="217" class="wp-image-4178" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_EG_000.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_EG_000.jpg 382w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_EG_000-300x119.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Visualisation du signal</h4>



<p class="wp-block-paragraph">Le signal une fois traité (de manière physique) doit être affiché dans un historique en fonction de ces coordonnées spatiales puis les valeurs seront affichées dans un graphique tridimensionnel.</p>



<h4 class="wp-block-heading">Configuration des paramètres</h4>



<p class="wp-block-paragraph">L’utilisateur doit pouvoir configurer divers paramètres selon le type de pièce que le banc de test doit analyser.<br>Pour cela l’utilisateur doit pouvoir sélectionner le type de signal pour alimenter le capteur GMI (émetteur et récepteur) ainsi que la fréquence et la tension. L’utilisateur peut configurer les paramètres d’acquisitions de la carte d’acquisition 6251 et 5112 (Tension Max-Min, Fréquence, échantillonnage, noms voie physique d’acquisition). Il doit aussi pouvoir configurer l’emplacement de l’enregistrement des fichiers de données.<br>Le fichier de configuration doit être en format XML<sup data-fn="f815d721-051e-4f6e-bbfb-267b39409ffb" class="fn"><a href="#f815d721-051e-4f6e-bbfb-267b39409ffb" id="f815d721-051e-4f6e-bbfb-267b39409ffb-link">20</a></sup> et une copie de ce fichier doit être présente en en-tête de chaque fichier de sauvegarde au format TXT<sup data-fn="a496ae13-be34-499b-b6e2-7e392c4173ef" class="fn"><a href="#a496ae13-be34-499b-b6e2-7e392c4173ef" id="a496ae13-be34-499b-b6e2-7e392c4173ef-link">21</a></sup>.</p>



<h4 class="wp-block-heading">Capteurs de position Axe Z</h4>



<p class="wp-block-paragraph">Pour le lift-off, il est nécessaire d’installer un capteur de type analogique sur l’axe Z du Robot 3 axes à proximité du capteur GMI.<br>Cependant, la première fonction de ce capteur est de permettre d’obtenir une meilleure précision pour l’acquisition du capteur GMI en contrôlant la position verticale de ce dernier par rapport à la pièce à tester.</p>



<h4 class="wp-block-heading">Accessibilité aux données enregistrées</h4>



<p class="wp-block-paragraph">L’utilisateur doit pouvoir charger et exploiter un fichier sauvegardé antérieurement. Restituant les données t’elle que les valeurs de l’acquisition ainsi que les paramètres de configurations propre à cette acquisition.</p>



<h3 class="wp-block-heading">Présentation des périphériques et instruments utilisés</h3>



<h4 class="wp-block-heading">PC Embarqué : NI-PXI 1042Q</h4>



<p class="wp-block-paragraph">Pour notre projet de développement d’un banc de test par contrôle non destructif par magnétoscopie, il est imposé par le cahier des charges que nous devons utiliser un pc embarqué de chez National Instrument « NI-PXI 1042Q ».<br>Pour commencer le PC embarqué est imposé par le cahier des charges. Cependant, l’on aurait pu réaliser le banc de test à partir d’un simple PC. Mais l’avantage qu’offre le PC embarqué de chez National Instrument se situe au niveau du nombre de port PXI ainsi que son port GPIB et de la liaison série (RS232) directement intégré à l’appareil. Les cartes peuvent quant à elles communiquer par le bus PXI (routage de signaux en fond de panier).</p>



<h5 class="wp-block-heading">PC Embarqué</h5>


<div class="kb-table-container kb-table-container4072_b9cc35-ef wp-block-kadence-table"><table class="kb-table kb-table4072_b9cc35-ef">
<tr class="kb-table-row kb-table-row4072_771aa3-be">
<td  class="kb-table-data kb-table-data4072_bfe998-18">

<p class="wp-block-paragraph">Le PC embarqué contient le système<br>d’exploitation Windows XP SP2 et nous utilises<br>la version de développement 8.0 de LabView.<br>Il comporte :</p>



<ul class="wp-block-list">
<li>2 Ports RS 232 (1 entrée / 1 sortie)</li>



<li>2 Ports USB</li>



<li>1 Port GPIB</li>



<li>1 Port PS2</li>



<li>1Port VGA</li>



<li>1 Port Eternet</li>



<li>8 Slots Disponibles dont 7 Slots PXI</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_0bd751-d0">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="516" height="308" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_001.jpg" alt="" class="wp-image-4179" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_001.jpg 516w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_001-300x179.jpg 300w" sizes="auto, (max-width: 516px) 100vw, 516px" /></figure>

</td>
</tr>
</table></div>


<h6 class="wp-block-heading">Carte d&rsquo;Acquisition NI-PXI 6251</h6>


<div class="kb-table-container kb-table-container4072_ea2bb2-21 wp-block-kadence-table"><table class="kb-table kb-table4072_ea2bb2-21">
<tr class="kb-table-row kb-table-row4072_a7f2ac-c5">
<td  class="kb-table-data kb-table-data4072_1772c0-fb">

<p class="wp-block-paragraph"><span style="text-decoration: underline;">Caractéristique de la carte :</span></p>



<ul class="wp-block-list">
<li>Résolution 16 bits</li>



<li>16 voix analogiques/8 voix différentielles</li>



<li>Echantillonnage 1,25 M/s</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_e91520-1b">
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="333" height="270" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_002.jpg" alt="" class="wp-image-4181" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_002.jpg 333w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_002-300x243.jpg 300w" sizes="auto, (max-width: 333px) 100vw, 333px" /></figure>
</div>
</td>
</tr>
</table></div>


<h6 class="wp-block-heading">Carte d&rsquo;Acquisition NI-PXI 5412</h6>


<div class="kb-table-container kb-table-container4072_fe48a0-82 wp-block-kadence-table"><table class="kb-table kb-table4072_fe48a0-82">
<tr class="kb-table-row kb-table-row4072_af28e2-1e">
<td  class="kb-table-data kb-table-data4072_a7dd43-47">

<p class="wp-block-paragraph"><span style="text-decoration: underline;">Caractéristique de la carte :</span></p>



<ul class="wp-block-list">
<li>Résolution 14 bits</li>



<li>Tension Max -6V à 6V</li>



<li>Plage de Fréquence 0 à 20 MHz</li>



<li>Signaux: Carre, Sinus, Triangle, Aléatoire, DC</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_54d1a9-7b">
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="240" height="300" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_003.jpg" alt="" class="wp-image-4182"/></figure>
</div>
</td>
</tr>
</table></div>


<h6 class="wp-block-heading">Carte d&rsquo;Acquisition NI-PXI 5112</h6>


<div class="kb-table-container kb-table-container4072_2a71b1-14 wp-block-kadence-table"><table class="kb-table kb-table4072_2a71b1-14">
<tr class="kb-table-row kb-table-row4072_6ebc19-2e">
<td  class="kb-table-data kb-table-data4072_4fa675-dd">

<p class="wp-block-paragraph"><span style="text-decoration: underline;">Caractéristique de la carte :</span></p>



<ul class="wp-block-list">
<li>Résolution 8 bits</li>



<li>2 voix</li>



<li>Bande Passante Max 100Mhz</li>



<li>Echantillonnage 1M/s</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_443b14-b2">
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="227" height="286" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_004.jpg" alt="" class="wp-image-4183"/></figure>
</div>
</td>
</tr>
</table></div>


<h4 class="wp-block-heading">GBF Agilent 33220A</h4>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><strong>APPLY: &lt;fonction&gt; [&lt;fréquence&gt;[,&lt;amplitude&gt;[,&lt;décalage&gt;] ]]</strong><br><br>Par exemple, l&rsquo;instruction suivante émise depuis l&rsquo;ordinateur commande au générateur de fournir en sortie un signal sinusoïdal de 3 Vpp avec une fréquence de 5 kHz et une tension de décalage de -2.5V.<br><br><strong>APPL:SIN 5 KHZ, 3.0 VPP, -2.5 V</strong></td><td><img loading="lazy" decoding="async" width="550" height="412" class="wp-image-4090" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_1.jpg" alt=""></td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Interface de Connexion : SCB-68</h4>


<div class="kb-table-container kb-table-container4072_986962-40 wp-block-kadence-table"><table class="kb-table kb-table4072_986962-40">
<tr class="kb-table-row kb-table-row4072_e0d57f-93">
<td  class="kb-table-data kb-table-data4072_3b85c1-73">

<p class="wp-block-paragraph"><span style="text-decoration: underline;">Caractéristique de l&rsquo;interface de connexion :</span></p>



<ul class="wp-block-list">
<li>Interface I/O 68 broches</li>



<li>Un capteur de température</li>



<li>5 Switches</li>



<li>Compatible RSE (mode commun)/ Différentiel</li>
</ul>

</td>

<td  class="kb-table-data kb-table-data4072_e3a245-5a">

<p class="wp-block-paragraph"><img loading="lazy" decoding="async" width="350" height="358" class="wp-image-4131" style="width: 350px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_008.jpg" alt=""></p>

</td>
</tr>
</table></div>


<h4 class="wp-block-heading">Capteurs</h4>



<h5 class="wp-block-heading">Capteur CND</h5>



<h6 class="wp-block-heading">Définition</h6>



<p class="wp-block-paragraph">Les capteurs par contrôle non destructifs (CND) sont composés de deux parties.&nbsp;</p>



<p class="wp-block-paragraph">Une partie émettrice qui va générer un signale qui aura pour conséquence de créer une perturbation sur la cible, la pièce que l’on souhaite contrôler.</p>



<p class="wp-block-paragraph">Et une partie réceptrice qui est chargé de récupérer les perturbations émis par la cible que l’on a excitée.&nbsp; C’est le signal récupéré par la partie réceptrice du capteur qui nous intéresse.&nbsp;</p>



<p class="wp-block-paragraph">Dans l’industrie, il existe une multitude de capteur par contrôle non destructif. Ces capteurs ce départage en plusieurs familles chacun ayant ces avantages et inconvénients et des propriétés propres.</p>



<p class="wp-block-paragraph">Il y a les capteurs par ultrasons, les capteurs par micro-ondes, les capteurs par thermographies, les capteurs par radiographies, les capteurs par courants de Foucault ou capteurs par magnétoscopies que nous utilisons comme capteur de notre banc de test.&nbsp;</p>



<p class="wp-block-paragraph">L’avantage qu’offrent les capteurs par contrôle non destructifs est assez intéressant d’un point de vue économique et technologique.</p>



<p class="wp-block-paragraph">Ces capteurs permettent la caractérisation de l’état d’une pièce, d’un matériau sans l’endommager et permet la détection de défaut comme des microfissures, imperfections etc. Ils permettent aussi de mesurer des paramètres dimensionnels et ou constitutifs comme par exemple l’épaisseur, la longueur, la largueur d’une pièce ou d’un matériau. Ou encore de pouvoir définir ces états de contraintes. De plus ces capteurs, répondent à des enjeux de sécurité, de coûts, de précision sur les mesures etc. Ce qui justifie leurs applications et leurs utilisations dans des domaines varier comme les Transports, l’Industrie, l’Energétique, le Médical, etc</p>



<h6 class="wp-block-heading">Capteur GMI (Giant Magneto Impedance)</h6>


<div class="kb-table-container kb-table-container4072_a150b5-2d wp-block-kadence-table"><table class="kb-table kb-table4072_a150b5-2d">
<tr class="kb-table-row kb-table-row4072_997d73-28">
<td  class="kb-table-data kb-table-data4072_a574fd-d2">

<p class="wp-block-paragraph">Les capteurs par contrôle non destructifs (CND) sont composés de deux parties.&nbsp;<br>Une partie émettrice qui va générer un signale qui aura pour conséquence de créer une perturbation sur la cible, la pièce que l’on souhaite contrôler.<br>Et une partie réceptrice qui est chargé de récupérer les perturbations émis par la cible que l’on a excitée.&nbsp; C’est le signal récupéré par la partie réceptrice du capteur qui nous intéresse.&nbsp;<br>&nbsp;<br>Dans l’industrie, il existe une multitude de capteur par contrôle non destructif. Ces capteurs ce départage en plusieurs familles chacun ayant ces avantages et inconvénients et des propriétés propres.<br>Il y a les capteurs par ultrasons, les capteurs par micro-ondes, les capteurs par thermographies, les capteurs par radiographies, les capteurs par courants de Foucault ou capteurs par magnétoscopies que nous utilisons comme capteur de notre banc de test.&nbsp;<br>&nbsp;<br>L’avantage qu’offrent les capteurs par contrôle non destructifs est assez intéressant d’un point de vue économique et technologique.<br>Ces capteurs permettent la caractérisation de l’état d’une pièce, d’un matériau sans l’endommager et permet la détection de défaut comme des microfissures, imperfections etc. Ils permettent aussi de mesurer des paramètres dimensionnels et ou constitutifs comme par exemple l’épaisseur, la longueur, la largueur d’une pièce ou d’un matériau. Ou encore de pouvoir définir ces états de contraintes.<br>De plus ces capteurs, répondent à des enjeux de sécurité, de coûts, de précision sur les mesures etc. Ce qui justifie leurs applications et leurs utilisations dans des domaines varier comme les Transports, l’Industrie, l’Energétique, le Médical, etc<br><br><em>Il est important de savoir que même en l’absence d’une cible ferromagnétique, l’on peut avoir des variations dans les valeurs de notre Impédance. Cela est dû à la réception par le capteur GMI du champ magnétique terrestre</em>.</p>

</td>

<td  class="kb-table-data kb-table-data4072_8a7501-ac">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="578" height="671" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_005.jpg" alt="" class="wp-image-4185" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_005.jpg 578w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_005-258x300.jpg 258w" sizes="auto, (max-width: 578px) 100vw, 578px" /></figure>

</td>
</tr>
</table></div>


<h5 class="wp-block-heading">Capteur Axe Z</h5>



<p class="wp-block-paragraph">Nous devons alors choisir un capteur selon plusieurs caractéristiques :</p>



<ul class="wp-block-list">
<li>La plage de précision</li>



<li>Le coût</li>



<li>Le type de capteur</li>



<li>L’interface de communication</li>
</ul>



<p class="wp-block-paragraph">Pour la famille de capteur, nous avons après réflexion choisit de prendre un capteur de type « optique ». La raison de se choix se fait selon la logique suivante. Nous ne pouvons pas prendre un capteur de type magnétique, car cela pourrait créer des interférences magnétiques avec notre capteur.</p>



<p class="wp-block-paragraph">Nous aurions pu choisir d’utiliser un capteur de type « sonore » basé sur le principe d’écho, mais cela nous paraissait moins précis que le capteur de type optique (infrarouge).</p>



<p class="wp-block-paragraph">Nous avons donc cherché un capteur correspondant au critère demandé puis avons demandé un devis auprès du constructeur.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Nous avons donc trouvé un capteur optique d’une grande précision (20 mm) sur une plage de mesure convenant à notre système. De plus l’interface de communication est en liaison série ce qui ne pose aucun problème car le PXI possède de port RS 232.<br>Cependant, ce capteur étant très performant, son prix ne nous permet pas de le choisir du fait de la contrainte budgétaire.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="208" class="wp-image-4188" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_006.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_006.jpg 484w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_006-300x113.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr><tr><td>Finalement, nous garderons dans notre choix le capteur fourni par la plateforme de distribution Conrad.<br>&nbsp;<br>Bien que ce capteur soit moins performant que le capteur précédent, celui-ci reste abordable au niveau du prix. Il a une sorti de type analogique, et son interface de connexion peut être directement connecté à un PC, il ne nécessite pas d’interface de connexion pour fonctionner. Nous le connecterons par la suite à l’interface de connexion SCB-68</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="405" class="wp-image-4189" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_007.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_007.jpg 392w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_007-300x221.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Codage des différentes fonctionnalités : Sous VI</h3>



<p class="wp-block-paragraph">Avant de commencer à coder directement l’application du banc de test du capteur, il est nécessaire développer chacune des fonctionnalités dont nous aurons besoin pour le fonctionnement de l’application. Pour cela, nous allons créer plusieurs dossiers dans notre dossier projet. Chaque dossier comportant exclusivement les codes nécessaires pour chaque fonction qui composera le logiciel notre banc de test.</p>



<h4 class="wp-block-heading">Acquisition</h4>



<h5 class="wp-block-heading">Carte d&rsquo;acquisition 6251</h5>



<p class="wp-block-paragraph">Cette carte de chez National Instrument va nous permettre d’acquérir directement le signal depuis l’interface de connexion SCB-68 de chez National Instrument. Nous utiliserons cette carte dans le cas où la fréquence d’acquisition est inférieure ou égale à 20 MHz.</p>



<p class="wp-block-paragraph">Nous l’utiliserons aussi pour contrôler l’état des capteurs fin de course et le capteur de l’axe Z présent sur le Charly Robot 3 axes. Pour cela nous devons définir en fonction des différents capteurs les voies d’acquisition sur l’interface de connexion SCB-68 suivant le mode d’acquisition, c’est-à-dire Différentiel ou Commun (RSE) d’après les caractéristiques des capteurs.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="740" height="166" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_040.jpg" alt="" class="wp-image-4176" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_040.jpg 740w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_017_RG_040-300x67.jpg 300w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure>
</div>


<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Cette partie de code se déroule sur deux niveaux. Nous utilisons un assistant DaQmx en paramétrant les paramètres des voies d’acquisitions suivants les caractéristiques du tableau ci-dessus. Cependant nous devons laisser le choix à l’utilisateur de pouvoir modifier les paramètres d’acquisition pour le capteur GMI.<br>Pour cela, nous allons récupérer les valeurs entrées par l’utilisateur. Ces valeurs, vont être transmises grâce à des variables partagés, à l’assistant DaqMx que nous avons modifié, donc à notre sous-VI « Carte_6251 » qui est un VI-Standard (couleur Jaune).<br> <br>La différence entre un VI-Express (couleur Bleu) et un VIStandard est que l’on peut modifier les paramètres de la fonction standard, se qui n’est pas possible lors de l’utilisation de la fonction express. <em>(Identique à la surcharge de fonction).</em></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="306" class="wp-image-4190" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_008.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_008.jpg 379w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_008-300x167.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="595" height="394" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_009.jpg" alt="" class="wp-image-4191" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_009.jpg 595w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_009-300x199.jpg 300w" sizes="auto, (max-width: 595px) 100vw, 595px" /></figure>
</div>


<p class="wp-block-paragraph">Donc l’acquisition se fait en fonction des paramètres contenue dans les variables partagées que nous avons définis dans le fichier projet de notre code. De cette façon, l’on peut voir les variables partagées comme un espace mémoire partagé gérer par une machine virtuelle</p>



<p class="wp-block-paragraph">(service sous LabView utilisant la MVP<sup data-fn="f08e8fb5-6c89-4aa9-9661-bdf963a231c4" class="fn"><a href="#f08e8fb5-6c89-4aa9-9661-bdf963a231c4" id="f08e8fb5-6c89-4aa9-9661-bdf963a231c4-link">22</a></sup> : Machine à variable partagé). Lors de la communication et du passage de variable entre les VI, l’on va charger dans la variable partagé nos valeurs, puis lors de la lecture de ces valeurs, le MVP va mettre à jour la variable partagée appelée et va fournir le contenu chargé précédemment.</p>



<p class="wp-block-paragraph">L’avantage de l’utilisation des variables partagées est dans la transmission de valeur entre les VI.</p>



<p class="wp-block-paragraph">Dans le corps du notre VI « Carte_6251 », nous définissons le nombre de voie, ainsi que la tension d’acquisition, le mode, le nom des voies etc. Puis l’on définit la fréquence d’acquisition ainsi que le taux d’échantillonnage.&nbsp; Ensuite, nous appelons diverses fonctions afin de finaliser les paramètres de l’acquisition que nous allons faire.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="715" height="287" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_010.jpg" alt="" class="wp-image-4192" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_010.jpg 715w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_010-300x120.jpg 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /></figure>
</div>

<div class="kb-table-container kb-table-container4072_798536-59 wp-block-kadence-table"><table class="kb-table kb-table4072_798536-59">
<tr class="kb-table-row kb-table-row4072_749cd9-7e">
<td  class="kb-table-data kb-table-data4072_c6dd38-ce">

<p class="wp-block-paragraph">Plusieurs capteurs sont acquis par la carte d’acquisition NI-PXI 6251. Nous nous intéressons seulement ici au capteur GMI.&nbsp;</p>



<p class="wp-block-paragraph">Donc une fois avoir acquis nos deux tensions, nous allons traiter les 2 signaux afin de pouvoir calculer l’Impédance.</p>



<p class="wp-block-paragraph">Pour cela, nous allons dans un premier temps désassembler les signaux. Le premier signal qui est désassemblé correspond à <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color">Ugmi</mark></strong>. Le second signal correspond lui à la tension <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-14-color">Vr(t) = R*i(t)</mark></strong>.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Nous allons calculer la tension efficace du signal <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color">Ugmi</mark></strong> grâce à la fonction « <strong>Mesures d’amplitudes et de niveau</strong> » que l’on configure pour que celui-ci applique le calcule de la moyenne Quadratique (RMS<sup data-fn="ff7066cf-1f92-43c3-a461-5135573e5166" class="fn"><a href="#ff7066cf-1f92-43c3-a461-5135573e5166" id="ff7066cf-1f92-43c3-a461-5135573e5166-link">23</a></sup>).</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Ensuite, nous allons traiter la seconde voie désassemblée afin de transformer le signal <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-14-color">Vr(t)</mark></strong> en <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-14-color">i(t)</mark></strong>.</p>



<p class="wp-block-paragraph">L’on sait que :</p>



<p class="wp-block-paragraph"></p>



<p class="has-text-align-center wp-block-paragraph"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-14-color"><strong>Vr(t)=Ri(t)</strong>          <strong>i(t)=Vr(t)/R</strong>        <strong>i(t)=Vr(t)/50</strong></mark></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Une fois avoir calculé l’intensité, nous allons calculer le courant efficace grâce à la même fonction utilisé précédemment « <strong>Mesures d’amplitudes et de niveau</strong> » pour laquelle nous choisissons la fonctionnalité calcule de moyenne Quadratique (RMS).</p>



<p class="wp-block-paragraph">Afin de pouvoir déterminer l’impédance, il suffit de fait le quotient de la tension efficace sur le courant efficace soit :</p>



<p class="wp-block-paragraph"></p>



<p class="has-text-align-center wp-block-paragraph">|<strong>Zgmi|  =  <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-11-color">Ugmieff</mark>   /   <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-14-color">Igmieff</mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_875b3a-91">
<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="293" height="447" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_011.jpg" alt="" class="wp-image-4193" style="width:346px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_011.jpg 293w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_011-197x300.jpg 197w" sizes="auto, (max-width: 293px) 100vw, 293px" /></figure>
</div>
</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="732" height="289" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_012.jpg" alt="" class="wp-image-4194" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_012.jpg 732w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_012-300x118.jpg 300w" sizes="auto, (max-width: 732px) 100vw, 732px" /></figure>
</div>


<h5 class="wp-block-heading">Carte d&rsquo;acquisition 5112</h5>



<p class="wp-block-paragraph">Cette carte de chez National Instrument va nous permettre comme précédemment d’acquérir le signal dans le cas où la fréquence d’acquisition est quant à elle supérieur à 20MHz afin d’obtenir une meilleur précision au niveau de l’acquisition.</p>



<p class="wp-block-paragraph">Cependant, il était nécessaire d’après le cahier des charges de passée avant par la carte multiplexeur 2503. Cette carte de multiplexage ayant pour but d’orienter selon la fréquence d’acquisition voulue de basculer les 2 signaux du capteur GMI vers la carte d’acquisition 6251 ou la carte d’acquisition (oscilloscope) 5112.</p>



<p class="wp-block-paragraph">Malheureusement, nous ne pouvons pas utiliser ce module multiplexeur du fait qu’il n’y a qu’un seul relai que l’on puisse commander.</p>



<p class="wp-block-paragraph">Donc nous ne pouvons pas sélectionner le type de carte d’acquisition. La solution que nous avons retenue est de laisser à l’utilisateur de choisir lui-même la carte qu’il souhaite utiliser pour l’acquisition.</p>



<p class="wp-block-paragraph">Il reste à revoir le schéma de connexion entre le capteur et la carte oscilloscope 5112. Et là se trouve un autre problème. Car l’acquisition des signaux fournit par le capteur GMI vers la carte d’acquisition 6251 se fait en mode Différentiel. Or comme nous souhaitons faire l’acquisition sur la carte 5112 qui n’est autre qu’un oscilloscope, les masses sont reliées (entrées en mode commun ou RSE).&nbsp;</p>



<p class="wp-block-paragraph">Pour le moment, nous ne somme pas en possession d’une solution qui nous permet de réaliser le schéma de câblage pour effectuer cette acquisition.  Cependant, comme précédemment, nous utiliserons une fonction express de LabView <strong>« NiScope – Express</strong> » que nous allons transformer en Fonction Standard pour que l’on puisse modifier les paramètres d’acquisitions de la carte.</p>



<h4 class="wp-block-heading">Alimentation du Capteur GMI</h4>



<h5 class="wp-block-heading">Alimentation Emetteur</h5>



<h6 class="wp-block-heading">GBF Agilent 33220A</h6>



<p class="wp-block-paragraph">Le Générateur Base Fréquence (GBF) Agilent 33220A est un Générateur qui peut être utilisé directement par un technicien de manière direct ou qui peut être commandé à distance depuis un poste fixe. La communication du générateur est basé sur le protocole GPIB dans les commandes de contrôle sont spécifié dans la documentation fournit avec l’appareil.</p>


<div class="kb-table-container kb-table-container4072_bece3d-e8 wp-block-kadence-table"><table class="kb-table kb-table4072_bece3d-e8">
<tr class="kb-table-row kb-table-row4072_caf064-21">
<td  class="kb-table-data kb-table-data4072_07cca2-09">

<p class="wp-block-paragraph">Donc pour commander le GBF à via la liaison GPIB, il suffira de saisir la commande suivante :<br>APPL : Signal Frequence Tension<br>Comme type de signal nous pouvons choisir entre :</p>



<figure class="wp-block-table has-small-font-size"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center">SINUS</td><td class="has-text-align-center" data-align="center">SIN</td></tr><tr><td class="has-text-align-center" data-align="center">CARRE</td><td class="has-text-align-center" data-align="center">SQR</td></tr><tr><td class="has-text-align-center" data-align="center">TRIANGLE</td><td class="has-text-align-center" data-align="center">RAMP</td></tr><tr><td class="has-text-align-center" data-align="center">BRUIT</td><td class="has-text-align-center" data-align="center">NOIS</td></tr><tr><td class="has-text-align-center" data-align="center">CONTINUE</td><td class="has-text-align-center" data-align="center">DC</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><br>Pour la fréquence, il suffit d’envoyer la valeur. Par défaut, l’unité est en Hertz.<br>Pour la tension, comme pour la fréquence, il suffit d’entrer une valeur. L’unité par défaut est VPP<sup data-fn="36c99bde-9e72-47cd-bfcb-74364650a28d" class="fn"><a href="#36c99bde-9e72-47cd-bfcb-74364650a28d" id="36c99bde-9e72-47cd-bfcb-74364650a28d-link">24</a></sup>.</p>

</td>

<td  class="kb-table-data kb-table-data4072_bbe0a1-d7">
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="414" height="105" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_013.jpg" alt="" class="wp-image-4195" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_013.jpg 414w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_013-300x76.jpg 300w" sizes="auto, (max-width: 414px) 100vw, 414px" /></figure>
</div>
</td>
</tr>
</table></div>


<h6 class="wp-block-heading">Contrôle Port GPIB</h6>



<p class="wp-block-paragraph">Sous LabView, nous réalisons le code qui permet de créer la séquence qui va permettre de contrôler le type de signal, la tension et la fréquence que nous voulons obtenir en sorti du GBF.</p>



<p class="wp-block-paragraph">Cependant, il faudra pour la communication spécifier l’adresse de l’appareil. A la mise sous tension de celui-ci, l’adresse de connexion est indiquée sur l’interface du GBF (Si celui-ci est connecté à un PC).</p>


<div class="kb-table-container kb-table-container4072_935185-32 wp-block-kadence-table"><table class="kb-table kb-table4072_935185-32">
<tr class="kb-table-row kb-table-row4072_cc0cac-82">
<td  class="kb-table-data kb-table-data4072_42862f-ef">

<p class="wp-block-paragraph">Dans un premier temps nous allons construire la séquence qui va nous permettre de prendre le contrôle du GBF. En suivant  la syntaxe fournit par la documentation technique de l’appareil (voir parti ci-dessus).<br>Donc nous laissons  l’utilisateur  renseigner les paramètres de tension, fréquence et le type de signaux voulue.<br>Donc nous construisons la chaine de caractère suivante en concaténant les paramètres :<br> <br>APPL : « TypeSignaux »_«Fréquence »,_«Tension »<br> <br>Les valeurs de Fréquence et de Tension étant de type Double, il est nécessaire de les convertir en chaine de caractère. <br> <br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">Attention : ‘_’ dans la syntaxe de la séquence que nous construisons est considérer comme le caractère espace.</mark></em></p>

</td>

<td  class="kb-table-data kb-table-data4072_d76f61-19">
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="267" height="200" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_004_RM_1.jpg" alt="" class="wp-image-4090"/></figure>
</div>
</td>
</tr>

<tr class="kb-table-row kb-table-row4072_581e73-aa">
<td  class="kb-table-data kb-table-data4072_f55ef7-79">

<p class="wp-block-paragraph">Ensuite, nous rentrons dans une structure de type séquence.</p>



<p class="wp-block-paragraph">Premièrement, nous utilisons une fonction GPIB de communication propre à LabView pour se connecter au GBF Agilent. Nous définissons l’adresse de l’appareil, et nous transmettons la syntaxe que nous avons crée auparavant. Nous ajoutons un « time out » de 5 secondes dans le cas d’une incapacité au PXI de se connecter au GBF.</p>



<p class="wp-block-paragraph">Puis l’on récupère en sortie de cette fonction un booléen qui certifie le bonne envoie de la syntaxe à l’appareil ainsi que le bonne état de connexion.</p>



<p class="wp-block-paragraph">Ensuite dans la seconde partie de notre structure séquentielle, nous ajoutons une temporisation d’une seconde.</p>



<p class="wp-block-paragraph">Puis dans la dernière partie de notre séquentielle, nous récupérons l’acquittement en vérifiant si la syntaxe envoyé à bien été lu et interprété par le GPIB. Nous devons récupérer en cas de succès le message suivant :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="235" height="70" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_015.jpg" alt="" class="wp-image-4197"/></figure>
</div>


<p class="wp-block-paragraph">Et en cas d&rsquo;échec, ce type de message :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="236" height="60" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_016.jpg" alt="" class="wp-image-4198"/></figure>
</div>
</td>

<td  class="kb-table-data kb-table-data4072_9c41fe-54">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="377" height="521" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_014.jpg" alt="" class="wp-image-4196" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_014.jpg 377w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_014-217x300.jpg 217w" sizes="auto, (max-width: 377px) 100vw, 377px" /></figure>

</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="682" height="307" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_017.jpg" alt="" class="wp-image-4199" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_017.jpg 682w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_017-300x135.jpg 300w" sizes="auto, (max-width: 682px) 100vw, 682px" /></figure>
</div>


<h5 class="wp-block-heading">Alimentation du récepteur</h5>



<h6 class="wp-block-heading">Carte alimentation 5412</h6>



<p class="wp-block-paragraph">Pour alimenter le capteur GMI, nous utilisons la carte NI-PXI 5412 qui est un Générateur Base Fréquence (GBF). Pour cela, nous avons été confrontés à un problème assez important du fait que nous ne pouvons configurer le GBF de façon continue dû a des commutations intempestifs générer par la fonction d’initialisation de la carte. Les conséquences de vouloir configurer le GBF en continue, sont que sur le long terme nous risquons d’endommager la carte d’alimentation et deuxièmement, la carte ne délivre pas de courant car elle est s’initialise en boucle.</p>



<p class="wp-block-paragraph">Pour parer ce problème et permettre à l’utilisateur de pouvoir gérer l’alimentation de la carte en tant réel, nous avons ajouté un bouton qui une fois activée transmet les paramètres au Sous VI « Carte_5412 ». Nous avons essayé de faire notre propre alimentation, mais cela n’a jamais été concluant. Alors nous avons utilisé une fonction LabView NI_FGEN EXPRESS que nous avons modifié.&nbsp;</p>



<p class="wp-block-paragraph">L’avantage de modifier un module EXPRESS de LabView nous permet de pouvoir passer des arguments en paramètre, et donc de changer les paramètres d’alimentation. Car un VI-Expresse ne contient que des paramètres prédéfinis par l’utilisateur et ne peux être changé via la face avant de notre programme.</p>



<p class="wp-block-paragraph">Un VI-EXPRESS d’origine est de facilement reconnaissable par ça couleur bleue. Une fois modifier, celui-ci peut-être renommé et doit être enregistrer comme sous-vi indépendant. Sa couleur est jaune pastel.</p>


<div class="kb-table-container kb-table-container4072_70ed00-43 wp-block-kadence-table"><table class="kb-table kb-table4072_70ed00-43">
<tr class="kb-table-row kb-table-row4072_2e11b4-4e">
<td  class="kb-table-data kb-table-data4072_f9bd4d-d0">

<p class="wp-block-paragraph">Le code comporte deux niveaux :<br> <br>Le premier niveau permet de recueillir les données saisies par l’utilisateur depuis l’interface de la face avant. Si l’utilisateur appuie sur le bouton d’alimentation,  les paramètres sont envoyés au second niveau du programme.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="356" height="245" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_018.jpg" alt="" class="wp-image-4200" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_018.jpg 356w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_018-300x206.jpg 300w" sizes="auto, (max-width: 356px) 100vw, 356px" /></figure>
</div>


<p class="wp-block-paragraph">Le second niveau représente les fonctions de bas niveau de LabView permettant d’alimenter la carte d’alimentation NI-PXI 5412. Dans un premier temps, nous allons contrôler s’il existe des erreurs avant d’initialiser la carte. S’il existe des erreurs, un message s’affichera. Dans un second temps, nous récupérons les paramètres que nous avons transmis.&nbsp;</p>



<p class="wp-block-paragraph">Seulement à partir de maintenant, nous allons interagir avec la carte d’alimentation. Nous allons l’initialiser, puis la mettre en état d’arrêt. Cela est nécessaire du fait que l’étape qui suit définie la fonction standard de la carte ainsi que la définition d’une impédance interne (50 ohms par défaut).</p>



<p class="wp-block-paragraph">Puis l’on va transmettre nos paramètres d’amplitude, fréquence et le type de signal que nous voulons avoir en sortie de notre carte.&nbsp;</p>



<p class="wp-block-paragraph">Avant de remettre la carte sous tension, l’on va configurer les propriétés niFgen du rapport cyclique de la carte d’alimentation NI-PXI – 5412.</p>

</td>

<td  class="kb-table-data kb-table-data4072_708b6e-f4">
<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="236" height="427" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_019.jpg" alt="" class="wp-image-4201" style="width:320px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_019.jpg 236w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_019-166x300.jpg 166w" sizes="auto, (max-width: 236px) 100vw, 236px" /></figure>
</div>
</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="705" height="265" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_020.jpg" alt="" class="wp-image-4202" style="width:764px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_020.jpg 705w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_020-300x113.jpg 300w" sizes="auto, (max-width: 705px) 100vw, 705px" /></figure>
</div>


<h4 class="wp-block-heading">Capteur Optique Axe Z</h4>



<p class="wp-block-paragraph">Les problèmes que nous avons rencontrés sur cette fonctionnalité se trouve au niveau de la traduction de la tension que nous fourni le capteur en distance. La documentation fournit par le fournisseur ne nous donne pas d’expression mathématique pour nous permettre de faire le lien entre la tension fournie et la distance entre le capteur et la cible.</p>



<p class="wp-block-paragraph">Après avoir longtemps médité sur le meilleur moyens de déterminer cette valeur, nous avons décidé de crée un tableau de valeur afin de pouvoir vérifier l’allure de la courbe fournie par le constructeur et surtout pour avoir un tableau de référence de la tension fournie par le capteur en fonction de la distance.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td><img loading="lazy" decoding="async" width="550" height="389" class="wp-image-4204" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_022.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_022.jpg 310w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_022-300x212.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td><td>Nous avons donc réalisé notre table en faisant varier un carton devant le capteur avec un pas de 1cm sur une plage de 0 à 60 cm.<br>L’acquisition des données nous a permis de confirmer la courbe<br>fournit par le fournisseur. <br><img loading="lazy" decoding="async" width="550" height="278" class="wp-image-4203" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_021.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_021.jpg 399w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_021-300x152.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>


<div class="kb-table-container kb-table-container4072_ebd4f8-91 wp-block-kadence-table"><table class="kb-table kb-table4072_ebd4f8-91">
<tr class="kb-table-row kb-table-row4072_fe45fb-70">
<td  class="kb-table-data kb-table-data4072_dcc9bc-07">

<p class="wp-block-paragraph">Pour déterminer la position entre le capteur optique et la cible, nous avons utilisé le tableau de valeur déterminé précédemment comme valeur de référence.<br>Ayant un tableau bidimensionnel, nous allons désassembler ce tableau 2D en deux tableaux 1D. Le premier tableau contenant les distances, le second contenant les tensions. Ainsi, nous sommes sures que l’indexation des 2 tableaux est la même.<br>De cette façon, il suffit de comparer la valeur de la tension acquise avec les tensions contenues dans le tableau. De façon générale l’on recherche l’indexation de notre tableau via la condition :<br> <br><strong>(U Max > U Acqui) ET (U Acqui > U Min)</strong><br> <br>Soit de façon pratique :<br> <br><strong>(U(ref)[i] >U Acqui) &amp;&amp; ((U Acqui >U (ref)[i+1] )</strong><br> <br>Si la condition n’est pas réalisée, nous continuons notre séquence qui va se répéter tant que la condition n’est pas réalisée (soit l’indice de notre tableau).<br>Une fois la condition réalisée, l’on va extraire la plage de distance grâce à notre tableau de référence. Il suffit pour cela d’utiliser les mêmes indices qui ont validés la condition. Ensuite, nous faisons la valeur moyenne des distances maximale et minimale. Nous venons donc de déterminer la distance entre la cible et le capteur Z.</p>

</td>

<td  class="kb-table-data kb-table-data4072_7b563c-0c">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="400" height="445" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_023.jpg" alt="" class="wp-image-4205" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_023.jpg 400w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_023-270x300.jpg 270w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure>

</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="728" height="442" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_024.jpg" alt="" class="wp-image-4206" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_024.jpg 728w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_024-300x182.jpg 300w" sizes="auto, (max-width: 728px) 100vw, 728px" /></figure>
</div>


<p class="wp-block-paragraph">Cependant, cette manière de déterminer la distance en fonction de la tension renvoyée n’est pas aussi précise qu’elle ne pourrait l’être. Notre capteur pouvant donner une précision de l’ordre du millimètre, nous ne donnons avec cette méthode qu’une précision de l’ordre du centimètre. Pour obtenir cette précision, il aurait été nécessaire d’établir un tableau de référence avec un pas de 1mm. Chose plutôt ardu et longue.</p>



<p class="wp-block-paragraph">Il nous reste maintenant à gérer l’axe Z du Charly Robot 3 axes avec la position du Capteur Optique sur ce même axe pour le mode Manuel. Pour cela, nous allons laisser à l’utilisateur de choisir de gérer l’axe via le contrôle de l’axe Z par le joystick ou par un champ de commande. Dans le cas du contrôle de l’axe Z par un champ de commande, l’utilisateur devra saisir une distance comprise entre 33cm&nbsp; et 38,5cm. Il nous suffira de comparer la distance souhaitée avec la distance lue.</p>


<div class="kb-table-container kb-table-container4072_699418-d3 wp-block-kadence-table"><table class="kb-table kb-table4072_699418-d3">
<tr class="kb-table-row kb-table-row4072_75a8b6-fb">
<td  class="kb-table-data kb-table-data4072_10e42c-4d">

<p class="has-text-align-center wp-block-paragraph"><strong><span style="text-decoration: underline;">Algorithme</span></strong></p>



<p class="has-small-font-size wp-block-paragraph">DEBUT<br>        …<br>        LIRE « Distance Souhaitée par l’utilisateur »<br>        FAIRE TANT QUE « Distance souhaitée = ! Distance Calculée »</p>



<p class="has-small-font-size wp-block-paragraph">        REPETER        <br>                   FAIRE « Calcule de la distance »<br>                   SI « Distance souhaitée > Distance Calculée »<br>                             FAIRE « Descendre l’Axe Z »<br>                   FIN SI<br>                   SI « Distance souhaitée &lt; Distance Calculée »<br>                             FAIRE « Monter l’Axe Z »</p>



<p class="has-small-font-size wp-block-paragraph">                   FIN SI<br>                   SI « Distance souhaitée = Distance Calculée »<br>                             FAIRE « Ne pas bouger l’Axe Z »<br>                   FIN SI<br>           FIN TANT QUE<br>          …<br>FIN   </p>

</td>

<td  class="kb-table-data kb-table-data4072_5431a9-63">

<p class="wp-block-paragraph">Malheureusement, nous ne sommes pas encore en état de pouvoir fournir une solution de codage pour gérer le lift-off du capteur GMI en fonction du déplacement de l’axe Z du Charly robot 3 axes.</p>

</td>
</tr>
</table></div>


<h3 class="wp-block-heading">Plot 3D</h3>



<p class="wp-block-paragraph">Les résultats doivent être affichés dans un graphique tridimensionnel afin de représenter la pièce scannée. Pour cela, nous devons tracer les points de coordonnée X ; Y ; Z. Les coordonnées de l’axe X et l’axe Y correspondent au positionnement du Charly Robot 3 axes. Les coordonnées de l’axe Z correspondent aux variations du capteur GMI.</p>


<div class="kb-table-container kb-table-container4072_f0509c-71 wp-block-kadence-table"><table class="kb-table kb-table4072_f0509c-71">
<tr class="kb-table-row kb-table-row4072_97bd9f-0d">
<td  class="kb-table-data kb-table-data4072_b422ce-b9">

<p class="wp-block-paragraph">Dans ce prototypage, nous simulons les variations des valeurs en X, Y  via deux potentiomètres. Les variations de l’axe Z sont obtenus en créant un tableau 2 dimensions des variations des variables X et Y.<br>Les valeurs simulées sont affichées dans un historique afin de pouvoir connaître les valeurs composant la surface représenté.<br>La représentation graphique des données comporte plusieurs choix d’ergonomie. L’utilisateur peut donc modifier la mise à l’échelle automatique, l’affichage des axes ainsi qu’une mise à l’échelle manuelle.<br>Il est aussi possible de choisir le style de courbe voulue (nuage de point,  surface pleine avec trait, etc) ainsi que le système de coordonnée souhaitée (Cartésienne, Cylindrique, Sphérique).</p>

</td>

<td  class="kb-table-data kb-table-data4072_e34aee-29">
<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="365" height="313" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_025.jpg" alt="" class="wp-image-4207" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_025.jpg 365w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_025-300x257.jpg 300w" sizes="auto, (max-width: 365px) 100vw, 365px" /></figure>
</div>
</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="740" height="469" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_026.jpg" alt="" class="wp-image-4208" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_026.jpg 740w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_026-300x190.jpg 300w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure>
</div>


<h4 class="wp-block-heading">Fichier de Configuration XML</h4>



<p class="wp-block-paragraph">Les paramètres saisis par l’utilisateur doivent être sauvegardés dans un fichier portant l’extension .xml (Extensible Markup Language). La caractéristique de ce langage est basée sur l’arborescence et l’organisation des données dans le fichier. Ainsi, nous pouvons donc créer des balises personnalisées ayant pour contenu ce que nous souhaitons lui donner en guise de valeur.</p>



<h5 class="wp-block-heading">Ecriture dans un fichier XML</h5>



<p class="wp-block-paragraph">Le problème rencontré dans cette partie, ce situe dans l’écriture des données à l’intérieur du fichier.</p>



<p class="wp-block-paragraph">Car il existe plusieurs méthodes possibles pour écrire dans un fichier au format XML.&nbsp;</p>



<p class="wp-block-paragraph">La première méthode qui a été utilisé, était réalisable sous la version 8.0 de LabView alors que l’exemple était extrait d’une version supérieur.</p>



<p class="wp-block-paragraph">Cependant, bien que la méthode soit bonne, elle ne permet pas d’exploiter le contenu du fichier. Car la méthode de lecture associée à cette écriture ne peut-être réalisée sous la version 8.0 de LabView. En conclusion la méthode d’écriture est basé sur l’exemple fournit par LabView version 8.0.</p>


<div class="kb-table-container kb-table-container4072_e4f363-3b wp-block-kadence-table"><table class="kb-table kb-table4072_e4f363-3b">
<tr class="kb-table-row kb-table-row4072_072b49-00">
<td  class="kb-table-data kb-table-data4072_564b0c-55">

<p class="wp-block-paragraph">Il suffit d’aplanir les donnés d’un type en format XML. Dans notre cas, nous allons donc aplanir 18 fois des données puis  l’on va concaténer ces valeurs  et écrire ces dernières dans un fichier XML.</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="948" class="wp-image-4210" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_028.jpg" alt=""></td><td>L’on peut voir ici le résultat de l’écriture des données dans le un éditeur de texte.<br>L’arborescence du fichier est faite de façon automatique. L’on voit que nous avons pour chaque valeur :<br> <br>-Le type de donnée entre balise<br> <br>-Le nom du champ<br> <br>-La valeur que contient ce champ.</td></tr></tbody></table></figure>

</td>

<td  class="kb-table-data kb-table-data4072_61ecb1-20">

<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="302" height="285" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_027.jpg" alt="" class="wp-image-4209" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_027.jpg 302w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_027-300x283.jpg 300w" sizes="auto, (max-width: 302px) 100vw, 302px" /></figure>

</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="468" height="284" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_029.jpg" alt="" class="wp-image-4211" style="width:554px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_029.jpg 468w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_029-300x182.jpg 300w" sizes="auto, (max-width: 468px) 100vw, 468px" /></figure>
</div>


<h5 class="wp-block-heading">Lecture d&rsquo;un fichier XML</h5>


<div class="kb-table-container kb-table-container4072_4d531e-d0 wp-block-kadence-table"><table class="kb-table kb-table4072_4d531e-d0">
<tr class="kb-table-row kb-table-row4072_e2736c-6e">
<td  class="kb-table-data kb-table-data4072_7d61aa-10">

<p class="wp-block-paragraph">Pour la lecture du fichier XML, nous devons dans la première phase renseigner le chemin où se trouve le fichier XML. Puis pour lancer la lecture, il suffit de cliquer sur le bouton « Ouvrir ».</p>



<p class="wp-block-paragraph">L’on utilise la fonction lire dans un fichier XML. Puis dans une boucle conditionnel, si la lecture du fichier c’est passé sans erreur nous allons extraire les valeurs correspondants aux paramètres que nous souhaitons. Sinon, dans le cas d’une erreur dans la lecture du fichier, l’on affiche qu’une erreur est survenue lors de cette action. Dans le cas d’aucune erreur, nous allons afficher le contenu du fichier dans un indicateur de façon à pouvoir vérifier la présence de tous les champs. Les données fournies par le fichier XML vont être traités ensuite dans une structure séquentielle. Au totale, la structure séquentielle comporte autant d’étape qu’il y a de valeur à extraire. La méthode que nous utilisons pour extraire ces données consiste à rechercher les valeurs contenues entre les balises en utilisant l’indexation du fichier XML.</p>



<p class="wp-block-paragraph">Donc dans un premier temps, nous recherchons dans les données extraites qu’elle information nous voulons en précisant son indexation. Puis l’on utilise la fonction « <strong>Redresser à partir d’un fichier XML </strong>» en indiquant le type de donnée que l’on souhaite redresser :</p>



<ul class="wp-block-list">
<li>0 de couleur Orange pour un DOUBLE</li>



<li>champ  vide de couleur Violet pour un string</li>
</ul>



<p class="wp-block-paragraph">Ensuite pour facilité la transmission des données entre les Sous VI, nous assemblons ces valeurs dans un cluster indicateur. Cependant, si lors du redressement une erreur subvient, l’on affiche un message d’erreur à l’utilisateur en lui spécifiant l’origine de l’erreur.&nbsp;</p>

</td>

<td  class="kb-table-data kb-table-data4072_18f43b-37">
<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="354" height="390" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_030.jpg" alt="" class="wp-image-4212" style="width:388px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_030.jpg 354w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_030-272x300.jpg 272w" sizes="auto, (max-width: 354px) 100vw, 354px" /></figure>
</div>
</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="723" height="404" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_031.jpg" alt="" class="wp-image-4213" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_031.jpg 723w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_031-300x168.jpg 300w" sizes="auto, (max-width: 723px) 100vw, 723px" /></figure>
</div>


<h4 class="wp-block-heading">Fichier de Sauvegarde TXT</h4>



<p class="wp-block-paragraph">Pour le fichier de sauvegarde. L’on va définir une structure pour le contenu de données composants le fichier. De plus, nous proposons une modification du cahier des charges en incluant dans le fichier de sauvegarde une copie de données composants le fichier XML afin que l’utilisateur puisse retrouver les paramètres choisies lors de l’acquisition effectuée par le passé.  Ainsi, nous proposons la structure suivante :</p>


<div class="kb-table-container kb-table-container4072_73b73a-45 wp-block-kadence-table"><table class="kb-table kb-table4072_73b73a-45">
<tr class="kb-table-row kb-table-row4072_cd4a59-c2">
<td  class="kb-table-data kb-table-data4072_bc67fc-09">

<p class="wp-block-paragraph"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-2-color">&lt;Nombre d’Acquisition></mark></strong><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-14-color"><strong>&lt;TensionEmetteur></strong><br><strong>&lt;FrequenceEmetteur></strong><br><strong>&lt;TypeSignalEmetteur></strong><br><strong>&lt; TensionCapteur></strong><br><strong>&lt;FrequenceCapteur></strong><br><strong>&lt;TypeSignalCapteur></strong><br><strong>&lt;TensionMaxVoie1></strong><br><strong>&lt;TensionMinVoie1></strong><br><strong>&lt;NomVoie1></strong><br><strong>&lt;TensionMaxVoie2></strong><br><strong>&lt;TensionMinVoie2></strong><br><strong>&lt;NomVoie2></strong><br><strong>&lt;SeuilJoystick></strong><br><strong>&lt;PasZ></strong><br><strong>&lt;%ValeurAxe></strong><br><strong>&lt;VitesseRobot></strong><br><strong>&lt;TempoMs></strong></mark><br><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color">&lt;HH:MM:SS___X___Y___Val></mark></strong></p>

</td>

<td  class="kb-table-data kb-table-data4072_574979-94">

<p class="wp-block-paragraph">L’on sait donc que notre fichier comporte en première ligne le nombre de point d’acquisition.<br>Puis nous avons les paramètres définis par l’utilisateur sur 18 lignes.<br>C’est seulement à partir de la 19 lignes que nous avons accès à nos données sous la forme :</p>



<p class="wp-block-paragraph"></p>



<figure class="wp-block-table has-small-font-size"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-12-color">HH:MM:SS___X___Y___Val</mark></td><td>HH    : correspond aux heures<br>MM  : correspond aux minutes<br>SS     : correspond aux secondes<br>___   : représente une tabulation<br>X : correspond à la position de l’axe X<br>Y : correspond à la position de l’axe Y<br>Val   : correspond à l’impédance du capteur<br>GMI</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">Attention, à la fin de chaque ligne, nous avons les caractères « Fin de ligne et Retour à la ligne ».</mark></em></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Cependant, nous ne connaissons pas le nombre de ligne car le nombre de ligne de data dépend du nombre d’acquisition.</p>

</td>
</tr>
</table></div>


<p class="wp-block-paragraph">Nous proposons comme nom de fichier par défaut le modèle suivant :</p>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td class="has-text-align-center" data-align="center">Acqui_JJ_MM_AAAA.txt</td><td class="has-text-align-center" data-align="center">JJ : correspond au jour de l’acquisition<br>MM : correspond au mois de l’acquisition<br>AAAA : correspond à l’année de l’acquisition<br>_ : représente un underscore</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Après avoir définie la structure de notre fichier TXT ainsi que son nom, nous pouvons maintenant écrire dans ce fichier et lire ce fichier.</p>



<h5 class="wp-block-heading">Ecriture dans un fichier TXT</h5>



<figure class="wp-block-table"><table class="has-fixed-layout" style="border-style:none;border-width:0px"><tbody><tr><td>Dans un premier temps, l’on récupère la date de la machine. Puis l’on crée la chaine de caractère correspondant à notre nom du fichier sous le format « Acqui_JJ_MM_AAAA ».<br> <br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-theme-palette-13-color">Attention, à la fin de chaque ligne, nous avons les caractères « Fin de ligne et Retour à la ligne ».</mark></em><br> <br>Puis nous utilisons une fonction « <strong>Boite de Dialogue Fichier</strong> » pour laisser le choix à l’utilisateur de modifier l’emplacement ou va être enregistré le fichier ainsi que de modifier le nom du fichier. Puis nous utilisons une fonction « <strong>Ouvrir/créer/remplacer un fichier</strong> » dans lequel nous spécifions que nous voulons Ouvrir ou créer un nouveau fichier avec seulement les droits d’écritures.<br>L’on rentre ensuite les paramètres de la pièce qui va définir le nombre de point d’acquisition qui va définir le nombre de ligne d’expression régulière. Nous convertissons ensuite la valeur de nombre d’acquisition en un type chaine de caractère que nous allons concaténer avec le caractère fin de ligne et retour charriot. Puis l’on utilise la fonction « <strong>Ecrire dans un fichier TXT</strong> » pour écrire la valeur du nombre d’acquisition en guise de première valeur de notre fichier.<br> <br>Dans la seconde section de notre structure séquentielle, nous allons récupérer les valeurs de configurations souhaitées par l’utilisateur et convertir les valeurs de type entier ou double en type string. Puis nous allons concaténer ces valeurs en intercalant entre chaque valeur le caractère fin de ligne et retour chariot. Ce qui nous fait au total 18 valeurs donc ce qui va prendre 18 lignes au total dans notre fichier de la ligne 2 à la ligne 19. Il nous reste plus qu’à relier le contenu de la chaine créer vers une nouvelle fonction « <strong>Ecrire dans un fichier TXT</strong> » relié au même fichier.<br> <br>Dans la dernière partie de notre boucle séquentielle, nous traitons et simulons l’enregistrement des valeurs acquissent d’une pièce ferromagnétique selon le modèle énoncé plus haut :<br> <br>HH:MM:SS___X___Y___Val<br> <br>Dans cette structure séquentielle, nous récupérons le nombre d’acquisition que nous allons réaliser et nous allons décrémenter cette valeur avant de faire entrer cette valeur dans une boucle DoWhile. La condition de fin de cette boucle est établie tant que la valeur d’itération de la boucle est supérieur ou égale au nombre d’acquisition que l’on décrémente.<br>Dans cette boucle DoWhile, nous avons mis une temporisation de 100 ms pour avoir des valeurs différentes et pour simuler une synchronisation. L’on réalise des traitements sur l’affichage de l’horodatage de façon à formaliser l’heure est la date sur le format que nous souhaitons.<br>Puis l’on va concaténer les valeurs HH:MM:SS avec les valeurs simulées en ajoutant entre les valeurs un caractère de tabulation et de finir la chaine avec les caractères de fin de ligne et de retour chariot. L’opération sera réalisée tant que nous n’avons pas atteint la condition de fin de boucle.<br>Une fois être sortie de la boucle DoWhile nous mettons fin à la structure séquentielle. Nous appelons la fonction « <strong>Fermer un fichier</strong> ».<br>Nous venons ainsi de générer notre fichier de sauvegarde d’on un exemple de contenu est visible ci-contre.</td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="550" height="495" class="wp-image-4214" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_032.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_032.jpg 332w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_032-300x270.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /><br><img loading="lazy" decoding="async" width="550" height="402" class="wp-image-4215" style="width: 550px;" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_033.jpg" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_033.jpg 302w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_033-300x220.jpg 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></td></tr></tbody></table></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="736" height="676" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_034.jpg" alt="" class="wp-image-4216" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_034.jpg 736w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_034-300x276.jpg 300w" sizes="auto, (max-width: 736px) 100vw, 736px" /></figure>
</div>


<h5 class="wp-block-heading">Lecture dans un fichier TXT</h5>


<div class="kb-table-container kb-table-container4072_76956d-38 wp-block-kadence-table"><table class="kb-table kb-table4072_76956d-38">
<tr class="kb-table-row kb-table-row4072_298766-8c">
<td  class="kb-table-data kb-table-data4072_45ff47-9a">

<p class="wp-block-paragraph">Pour la lecture d’un fichier d’acquisition, nous allons dans un premier temps ouvrir une boite de dialogue permettant à l’utilisateur de sélectionner le fichier qu’il souhaite consulter.<br>Pour cela avant de rentrer dans la structure séquentielle, nous utilisons une fonction « <strong>Boite de Dialogue Fichier</strong> » pour laisser le choix à l’utilisateur de choisir quel fichier consulter. Puis nous utilisons une fonction « <strong>Ouvrir/créer/remplacer un fichier</strong> » dans lequel nous spécifions que nous voulons seulement ouvrir un fichier seulement la lecture de disponible. Ensuite nous relions cette fonction à une fonction qui va nous fournir la taille du fichier texte que l’on souhaite ouvrir. Cette fonction est indispensable pour lire un fichier. Puis l’on va utiliser la fonction « <strong>Lire dans un fichier texte</strong> » en précisant la taille du fichier. Nous récupérons en sorti de cette fonction une chaine de caractère qui contient toutes les données contenu dans notre fichier texte. Ayant accès au contenu du fichier, nous pouvons maintenant refermer le fichier texte grâce à la fonction « <strong>Fermer un fichier</strong> ».<br> <br>A partir de maintenant, nous allons traiter le contenu du fichier que nous venons de lire.<br>Dans un premier temps, nous allons lire les expressions qui ne sont de forme régulière. C’est-à-dire les 19 premières lignes qui contiennent le nombre d’acquisition ainsi que les configurations souhaitées lors de l’acquisition.<br>Pour cela nous allons utiliser la fonction « <strong>Balayer un fichier</strong> » en indiquant le chemin du fichier et en précisant le type des données que l’on veut extraire. Dans notre cas, nous recherchons des données de type chaine de caractère. Une fois ces données extraient, nous les affichons. Seule la donnée correspondante au nombre d’acquisition est converti en entier 32 bit.<br> <br>Dans la seconde partie de notre structure séquentielle, nous allons traiter les expressions régulières, soit dans notre cas les données d’acquisition. Nous allons utiliser la fonction « <strong>Chaîne au format tableur en tableau</strong> » en indiquant que nous souhaitons avoir en sorti un tableau 2 Dimensions et que notre séparateur tableur est le caractère tabulation.<br>Ensuite, nous allons faire plusieurs opérations pour supprimer les expressions irrégulières. Pour cela nous allons supprimer les 19 premières lignes de notre tableau 2 dimensions. Ainsi, nous récupérons un tableau 2D contenant exclusivement des données :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="369" height="90" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_036.jpg" alt="" class="wp-image-4218" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_036.jpg 369w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_036-300x73.jpg 300w" sizes="auto, (max-width: 369px) 100vw, 369px" /></figure>
</div>


<p class="wp-block-paragraph">Après avoir obtenue ce tableau, nous allons décimer celui-ci de</p>



<p class="wp-block-paragraph">façon à obtenir 3 tableaux 1D contenant les valeurs de X, les valeurs de Y, les valeurs Val. Pour cela, nous utilisons la fonction « <strong>Sous ensemble d’un tableau</strong> » pour isoler les colonnes que l’on souhaite avoir, puis l’on va utiliser la fonction « <strong>Redimensionner un tableau</strong> » pour obtenir un tableau 1 dimension de nos valeurs. Une fois les tableaux 1D obtenue,&nbsp; l’on convertie les tableaux de type string en tableau de type entier 32 bit, puis en type double.&nbsp; Dans la dernière partie de notre séquence il ne reste plus alors à afficher le résultat du fichier dans un plot 3D à partir des tableaux. Seul les données de l’axe Z doivent être sous la forme d’une matrice, ou les données de l’axe Z sont exprimées en fonction des données de l’axe Y.</p>

</td>

<td  class="kb-table-data kb-table-data4072_18f760-e7">
<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="318" height="838" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_035.jpg" alt="" class="wp-image-4217" style="width:354px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_035.jpg 318w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_035-114x300.jpg 114w" sizes="auto, (max-width: 318px) 100vw, 318px" /></figure>
</div>
</td>
</tr>
</table></div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="738" height="311" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_037.jpg" alt="" class="wp-image-4219" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_037.jpg 738w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_037-300x126.jpg 300w" sizes="auto, (max-width: 738px) 100vw, 738px" /></figure>
</div>


<h3 class="wp-block-heading">Intégration Individuelle</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="716" height="268" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_038.jpg" alt="" class="wp-image-4220" style="width:842px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_038.jpg 716w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_038-300x112.jpg 300w" sizes="auto, (max-width: 716px) 100vw, 716px" /></figure>
</div>


<h3 class="wp-block-heading">Conclusion</h3>



<p class="wp-block-paragraph">Pour faire un point sur cette partie individuelle, nous pouvons dire que cette dernière à été menée à environ 92% de l’objectif finale. Les phases qui ne sont pas réalisées se situent au niveau de l’intégration finale avec la partie individuelle de l’Etudiant 1 (Robin GRIVET).</p>



<p class="wp-block-paragraph">Pour la fonctionnalité du <strong>Capteur Z</strong> tous a été réalisé au niveau du prototypage. Cette fonctionnalité est donc opérationnelle. Cependant, nous avons rencontré de nombreux dilemme dans la phase d’intégration intermédiaire avec la fonctionnalité Mode Manuel. Donc l’intégration à échouer, et nous ne sommes pas en mesure de réaliser le contrôle de l’axe Z du Charly robot en fonction du lift-off du capteur GMI.</p>



<p class="wp-block-paragraph">L’intégration de la fonctionnalité de Sauvegarde n’est pas complète du fait que pour générer un fichier TXT, nous devons réaliser une <strong>Acquisition</strong> du capteur GMI en <strong>Mode Automatique</strong>. Or nous sommes en cours de recherche de solution pour créer la synchronisation entre ces deux fonctionnalités. Une fois la synchronisation réalisée, nous pourrons écrire le fichier de sauvegarde.</p>



<p class="wp-block-paragraph">Cependant, la fonction d’écriture dans un fichier texte est bien opérationnel mais ne fonctionne quand simulant des valeurs.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="743" height="309" src="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_039.jpg" alt="" class="wp-image-4221" srcset="https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_039.jpg 743w, https://erwanguillemard.com/wp-content/uploads/2026/05/MM_004_018_EG_039-300x125.jpg 300w" sizes="auto, (max-width: 743px) 100vw, 743px" /></figure>
</div>


<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">C&rsquo;est marrant de retomber sur ce projet de fin de cycle par hasard 14 ans plus tard. Avec le recul j&rsquo;aurais choisi d&rsquo;autres technologies 🙂 Les fautes d&rsquo;orthographes sont légion et le style, parlons du style. C&rsquo;est lourdingue à souhait. Mais ne faut il pas commencer quelque part ? 🙂 J&rsquo;ai volontairement fait sauter les plannings car comme tout le monde le sait, les plannings sont bidons car saisie aux derniers moments et n&rsquo;apporte aucune plus valu. </p>



<p class="wp-block-paragraph">La nostalgie me reprend. Je revois le travail effectué avec mon binôme Robin, le temps passé chez lui et au labo. De notre machine à café qui finira par partir avec el grande Zini, café qui lorsqu&rsquo;il était préparé par mes soins était tout simplement imbuvable. De l&rsquo;engueulade qui nous avions pris lors de la présentation de notre projet à mi-parcours par Joël MOUTOUSSAMY, alors que pour nous notre rendu était correct. Le souvenir lors de notre soutenance du reboot le PC qui avait planté après le passage de Robin.</p>



<p class="wp-block-paragraph">Ce projet m&rsquo;aura rapporté la note de 14/20.</p>



<p class="wp-block-paragraph">Au-delà de la note c&rsquo;est à ce moment précis que j&rsquo;ai compris mon projet professionnel. Je voulais m&rsquo;orienter dans la R&amp;D, rester dans le milieu industriel et devenir enseignant. Chose qui par la suite changera quelque peu 🙂</p>



<p class="wp-block-paragraph">Le mot de la fin :</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Vous convoitez ma banane Monsieur GRIVET ?</em></p>
<cite>Un professeur à R. GRIVET durant un contrôle sur table</cite></blockquote>



<p class="wp-block-paragraph">  </p>


<ol class="wp-block-footnotes"><li id="23e6b230-133b-46f6-b58e-13e66931512e"><strong>GMI :</strong> Geant Magneto-Impedant <a href="#23e6b230-133b-46f6-b58e-13e66931512e-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="68c9a134-b5e2-44e9-b091-1d64a3e522fd"><strong>LPP :</strong> Laboratoire de Physique et Plasma <a href="#68c9a134-b5e2-44e9-b091-1d64a3e522fd-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="02b9f9be-6755-4271-9095-7023ac70c205"><strong>ARDPI :</strong> Agence pour la Recherche et le Développement de Produits Industriels <a href="#02b9f9be-6755-4271-9095-7023ac70c205-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="9430d9f2-26f9-4453-ad8a-4263150f00ec"><strong>CND :</strong> Contrôle Non Destructif <a href="#9430d9f2-26f9-4453-ad8a-4263150f00ec-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="1161913b-51d6-4fd3-a90f-02d813e591f7"><strong>PXI :</strong> Extension for Instrumentation <a href="#1161913b-51d6-4fd3-a90f-02d813e591f7-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="f5d4db3d-979e-42bd-81bf-d529db7f7001"><strong>PC :</strong> Personal Computer <a href="#f5d4db3d-979e-42bd-81bf-d529db7f7001-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="3621b715-2cd5-4d26-bdee-23a57479cb46"><strong>GPIB :</strong> General Purpose Interface Bus <a href="#3621b715-2cd5-4d26-bdee-23a57479cb46-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="bcebd0e3-fc42-426b-8ac7-c85bb81ff7b6"><strong>RS232 :</strong> Recommended Standard 232 <a href="#bcebd0e3-fc42-426b-8ac7-c85bb81ff7b6-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="8151d058-68e5-4eaf-be3c-b666d86357a0"><strong>GPL : </strong>General Public License <a href="#8151d058-68e5-4eaf-be3c-b666d86357a0-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="9e8b0f8a-9353-4d04-a963-b33a1834c3fa"><strong>UML :</strong> Unified Modeling Language <a href="#9e8b0f8a-9353-4d04-a963-b33a1834c3fa-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li><li id="4723fc88-2060-448a-9c0b-dcc1b4a759ad"><strong>IDE :</strong> Interface de DEveloppement <a href="#4723fc88-2060-448a-9c0b-dcc1b4a759ad-link" aria-label="Aller à la note de bas de page 11">↩︎</a></li><li id="156b4ddd-20c8-4f17-84ef-68525b27e3c1"><strong>OS :</strong> Operating System <a href="#156b4ddd-20c8-4f17-84ef-68525b27e3c1-link" aria-label="Aller à la note de bas de page 12">↩︎</a></li><li id="1909fcc8-38a4-4549-acfe-16de9b8b75af"><strong>SP2 :</strong> Service Pack 2 <a href="#1909fcc8-38a4-4549-acfe-16de9b8b75af-link" aria-label="Aller à la note de bas de page 13">↩︎</a></li><li id="7cfd2634-e03b-4ff2-9eaa-36bd95f1c986"><strong>GBF :</strong> Générateur Base Fréquence <a href="#7cfd2634-e03b-4ff2-9eaa-36bd95f1c986-link" aria-label="Aller à la note de bas de page 14">↩︎</a></li><li id="9a936232-8b62-4dfb-a756-2a5bd30b3b7a"><strong>TOR :</strong> Tout Ou Rien <a href="#9a936232-8b62-4dfb-a756-2a5bd30b3b7a-link" aria-label="Aller à la note de bas de page 15">↩︎</a></li><li id="c92959a2-77ba-4fa0-a36b-1846ebd9ae60"><strong>I/O :</strong> Input / Output <a href="#c92959a2-77ba-4fa0-a36b-1846ebd9ae60-link" aria-label="Aller à la note de bas de page 16">↩︎</a></li><li id="be02cf0a-23da-4ccf-a4d8-f32ab5582dfc"><strong>RSE :</strong> Referenced Single-Ended <a href="#be02cf0a-23da-4ccf-a4d8-f32ab5582dfc-link" aria-label="Aller à la note de bas de page 17">↩︎</a></li><li id="28883047-f158-4409-ba73-e5098a14062a"><strong>CR :</strong> Cariage Return <a href="#28883047-f158-4409-ba73-e5098a14062a-link" aria-label="Aller à la note de bas de page 18">↩︎</a></li><li id="cfac67e8-0f30-415b-911c-c0bed686d2ae"><strong>LF :</strong> Line Feed <a href="#cfac67e8-0f30-415b-911c-c0bed686d2ae-link" aria-label="Aller à la note de bas de page 19">↩︎</a></li><li id="f815d721-051e-4f6e-bbfb-267b39409ffb"><strong>XML :</strong> eXtensible Markup Language <a href="#f815d721-051e-4f6e-bbfb-267b39409ffb-link" aria-label="Aller à la note de bas de page 20">↩︎</a></li><li id="a496ae13-be34-499b-b6e2-7e392c4173ef"><strong>TXT :</strong> Texte <a href="#a496ae13-be34-499b-b6e2-7e392c4173ef-link" aria-label="Aller à la note de bas de page 21">↩︎</a></li><li id="f08e8fb5-6c89-4aa9-9661-bdf963a231c4"><strong>MVP :</strong> Machine à Variable Partagé <a href="#f08e8fb5-6c89-4aa9-9661-bdf963a231c4-link" aria-label="Aller à la note de bas de page 22">↩︎</a></li><li id="ff7066cf-1f92-43c3-a461-5135573e5166"><strong>RMS :</strong> Root Main Square <a href="#ff7066cf-1f92-43c3-a461-5135573e5166-link" aria-label="Aller à la note de bas de page 23">↩︎</a></li><li id="36c99bde-9e72-47cd-bfcb-74364650a28d"><strong>VPP :</strong> Valeur Pic à Pic  <a href="#36c99bde-9e72-47cd-bfcb-74364650a28d-link" aria-label="Aller à la note de bas de page 24">↩︎</a></li></ol>


<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cahier 3 : Black Shea-HP</title>
		<link>https://erwanguillemard.com/cahier-3-black-shea-hp/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 00:01:31 +0000</pubDate>
				<category><![CDATA[Chronique d'un Sys Admin]]></category>
		<category><![CDATA[Chronique]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=2495</guid>

					<description><![CDATA[Une fois n&#8217;est pas coutume, je vais immédiatement démarrer par des modalités (il ne manquerait plus que les acteurs ci-dessous me traduisent en justice pour diffamation, propos calomnieux ou que sais-je encore). Ce qui va suivre dans ce nouveau volet de mes chroniques n&#8217;a pour aucun but de critiquer un fabriquant, une entreprise ni l&#8217;investissements...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Une fois n&rsquo;est pas coutume, je vais immédiatement démarrer par des modalités (il ne manquerait plus que les acteurs ci-dessous me traduisent en justice pour diffamation, propos calomnieux ou que sais-je encore).</p>



<p class="wp-block-paragraph">Ce qui va suivre dans ce nouveau volet de mes chroniques n&rsquo;a pour aucun but de critiquer un fabriquant, une entreprise ni l&rsquo;investissements et efforts de toutes les personnes qui ont pu intervenir. Je souhaite partager mon retour d&rsquo;expérience et non m&rsquo;engager sur la piste glissante et nauséabonde de « <strong><em>Cette technologie c&rsquo;est de la m***e et l&rsquo;ensemble de la marque est à ch**r</em></strong>« . Loin de moi cette idée.</p>



<p class="wp-block-paragraph">Je pense que cette prise de recul est nécessaire afin de dissocier le contexte d&rsquo;un point de vue personnel arbitraire et obtus. 🙂</p>



<p class="wp-block-paragraph">Volontairement, aucuns noms, sociétés, marques, lieux et dates ne seront cités.</p>



<p class="wp-block-paragraph">Enfin bref, je vous ai déjà dit que j&rsquo;étais malchanceux ? 😀</p>





<h2 class="wp-block-heading">Contexte</h2>



<p class="wp-block-paragraph">Dans le quotidien professionnel ou personnel dans lequel nous évoluons tous, nous subissons l&rsquo;évolution permanente et trop rapide des technologies. Ce qui rend ainsi un équipement doté de composants électroniques obsolètes alors même que nous venons de l&rsquo;acheter. Si les médias nous rabâchent les oreilles sur nos smartphones, nous rencontrons malheureusement le cas avec les serveurs.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Genre les gros ordinateurs qui sont dans le « nuage » ?</strong> </p>



<p class="wp-block-paragraph">Oui tout à fait. Ces derniers sont équipés de composant qui ont une espérance de vie limitée par les solutions applicatives tierces. Plus clairement les processeurs (CPU<sup data-fn="b5e4d1ab-5f21-4a76-87a4-823a358d4f5e" class="fn"><a href="#b5e4d1ab-5f21-4a76-87a4-823a358d4f5e" id="b5e4d1ab-5f21-4a76-87a4-823a358d4f5e-link">1</a></sup>s) sont vite limités au bout de 5 à 7 ans du fait de leurs <a href="https://www.youtube.com/watch?v=PTWPSioRZHY&amp;ab_channel=LaurentVoulzy-Topic">générations</a>, des performances liées à l&rsquo;usage et de leurs obsolescences (et encore, je suis généreux sur la durée de vie). C&rsquo;est également le cas de la mémoire vive (DIMM<sup data-fn="ccf7caac-35b6-4303-b436-9742abaa6147" class="fn"><a href="#ccf7caac-35b6-4303-b436-9742abaa6147" id="ccf7caac-35b6-4303-b436-9742abaa6147-link">2</a></sup>), média de stockage etc.</p>



<p class="wp-block-paragraph">Enfin, dans mon cas, mon infrastructure hyperconvergée se compose d&rsquo;un mix de génération GEN<sup data-fn="a6b56898-6069-4c7f-bd2c-754639970629" class="fn"><a href="#a6b56898-6069-4c7f-bd2c-754639970629" id="a6b56898-6069-4c7f-bd2c-754639970629-link">3</a></sup>7 et GEN8. Les équipements tournent à merveilles, toutefois les nodes de septième génération arrivent en EOL<sup data-fn="08aff369-da65-42ea-b495-3b27b953e0f4" class="fn"><a href="#08aff369-da65-42ea-b495-3b27b953e0f4" id="08aff369-da65-42ea-b495-3b27b953e0f4-link">4</a></sup> et doivent être remplacés par une génération plus récente.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>M&rsquo;ouai, pas de problème. Si tu c&rsquo;est compatible intergénérations tu n&rsquo;as qu&rsquo;à acheter et installer des nodes dernières générations.</strong></p>



<p class="wp-block-paragraph">A qu&rsquo;en voilà, une intervention pertinente ! Nous allons pouvoir entrer dans le vif du sujet 🙂 Dans la logique oui, mais cela serait trop simple et pour le coup non !</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Ouai, tu fais ta diva et tu essaies de réaliser une acquisition caprice, on commence à te connaitre grand fou !</strong> </p>



<p class="wp-block-paragraph">Je vais m&rsquo;attarder sur l&rsquo;utilisation d&rsquo;un terme que j&rsquo;affectionne, l&rsquo;acquisition caprice. Qu&rsquo;est ce que c&rsquo;est ? Je propose la définition suivante. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Principe qui consiste à faire réaliser par son organisation une acquisition ou investissement dans des ressources qui n&rsquo;est en aucun cas justifié et dont la seule motivation et de satisfaire un besoin personnel.</em></p>
<cite>L&rsquo;auteur névropathe</cite></blockquote>



<p class="wp-block-paragraph">Quant à la réponse que j&rsquo;apporterai, non ce n&rsquo;est pas un caprice car dans ce genre de projet de renouvellement nous sommes toujours accompagnés par le constructeur pour coller le plus à notre besoin et de garantir l&rsquo;évolutivité dans le temps.</p>



<p class="wp-block-paragraph">Allez, place au popcorn, la boite de kleenex et le pack de bière (ou Jéroboam de rosé à portée de main).</p>



<h2 class="wp-block-heading">Step 1 : Renouvellement de l&rsquo;infrastructure existante</h2>



<p class="wp-block-paragraph">Bien, pour faire simple l&rsquo;infrastructure de production que j&rsquo;avais à l&rsquo;époque était composée de 4 nodes hyperconvergés. <strong>Oui mais qu&rsquo;est ce que l&rsquo;hyperconvergence pour les non-initiés ?</strong></p>



<h3 class="wp-block-heading">Kesako Hyperconvergence ?</h3>



<p class="wp-block-paragraph">Je ne me pose pas en spécialiste de l&rsquo;hyperconvergence et je vais essayer de ne pas m&rsquo;éparpiller.</p>



<p class="wp-block-paragraph">Les HCIs<sup data-fn="85bdb748-16d1-4ffd-9290-e0b3e70e03fb" class="fn"><a href="#85bdb748-16d1-4ffd-9290-e0b3e70e03fb" id="85bdb748-16d1-4ffd-9290-e0b3e70e03fb-link">5</a></sup> sont la combinaison de composant de datacenter commune dont le stockage est attaché localement avec un logiciel intelligent. Cette combinaison permet de gagner en flexibilité, évolutivité, performances et une réduction du TCO<sup data-fn="15d1c3f1-996f-47f5-aea5-36765342151c" class="fn"><a href="#15d1c3f1-996f-47f5-aea5-36765342151c" id="15d1c3f1-996f-47f5-aea5-36765342151c-link">6</a></sup>. Contrairement à une infrastructure classique (STDI<sup data-fn="b005a5cb-1913-4cc2-9d01-ef1088fa3cd5" class="fn"><a href="#b005a5cb-1913-4cc2-9d01-ef1088fa3cd5" id="b005a5cb-1913-4cc2-9d01-ef1088fa3cd5-link">7</a></sup>) (serveur, réseau, stockage) l&rsquo;administration d&rsquo;un HCI est plus simple et plus performantes.</p>



<p class="wp-block-paragraph">Personnellement, je suis convaincu de la technologie hyperconvergée et de sa supériorité face aux technologies « plus classiques ». (Et au fond de moi, je suis un défenseur de constructeur de nos équipements actuels et de ces solutions, mais il faut raison gardée, ne rentrons pas dans un débat stérile 🙂 ).</p>



<p class="wp-block-paragraph">Nous pourrions résumer la chose suivante si nous devions proposer une équivalence entre les deux solutions hyperconvergée et standard :</p>



<figure class="wp-block-table aligncenter"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><strong>HCI</strong></td><td class="has-text-align-center" data-align="center"><strong>STDI</strong></td></tr><tr><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="450" height="242" class="wp-image-2505" style="width: 450px;" src="https://erwanguillemard.com/wp-content/uploads/2024/11/MM_003_003_HCI.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/11/MM_003_003_HCI.png 618w, https://erwanguillemard.com/wp-content/uploads/2024/11/MM_003_003_HCI-300x162.png 300w" sizes="auto, (max-width: 450px) 100vw, 450px" /></td><td class="has-text-align-center" data-align="center"><img loading="lazy" decoding="async" width="450" height="272" class="wp-image-2507" style="width: 450px;" src="https://erwanguillemard.com/wp-content/uploads/2024/11/MM_003_002_STDI.png" alt="" srcset="https://erwanguillemard.com/wp-content/uploads/2024/11/MM_003_002_STDI.png 954w, https://erwanguillemard.com/wp-content/uploads/2024/11/MM_003_002_STDI-300x181.png 300w, https://erwanguillemard.com/wp-content/uploads/2024/11/MM_003_002_STDI-768x465.png 768w" sizes="auto, (max-width: 450px) 100vw, 450px" /></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Bref, nous avons les mêmes choses mais même en simplifiant (sans prendre en compte la résilience réseau) les couts d&rsquo;investissements ne sont pas les mêmes. Il est à noter toutefois que nous retrouvons maintenant les mêmes fonctionnalités quant aux algorithmes d&rsquo;optimisations de stockages sur les deux modèles d&rsquo;infrastructures.</p>



<h3 class="wp-block-heading">Retour à notre étude</h3>



<p class="wp-block-paragraph">Au vu de l&rsquo;EOL de mes nodes GEN7, je contacte notre commercial et avant-vente chez notre constructeur pour enclencher l&rsquo;étude et la BOM<sup data-fn="a2fd2ead-d386-4c9d-bf7d-8a7dfa2f9e0a" class="fn"><a href="#a2fd2ead-d386-4c9d-bf7d-8a7dfa2f9e0a" id="a2fd2ead-d386-4c9d-bf7d-8a7dfa2f9e0a-link">8</a></sup> pour ajouter deux nouveaux node GEN9 à notre cluster existant.</p>



<p class="wp-block-paragraph">Encore une fois je n&rsquo;ai pas de chance, la configuration historique de nos nodes ne sont pas compatibles avec la composition matérielle des GEN9. Nous ne pouvons donc pas étendre le cluster actuel. Nous aurions pu tenter d&rsquo;ajouter deux GEN8 mais c&rsquo;est dernier était en cours de EOS<sup data-fn="95f7b68f-a731-48b2-b04a-b7f5c7c56241" class="fn"><a href="#95f7b68f-a731-48b2-b04a-b7f5c7c56241" id="95f7b68f-a731-48b2-b04a-b7f5c7c56241-link">9</a></sup>&#8230; Le sort s&rsquo;acharne&#8230;</p>



<p class="wp-block-paragraph">Tout cela pour un bête problème de compatibilité de stockage dit hybride (SSD<sup data-fn="753d1c80-33d3-4b55-842a-df0cef97b9c0" class="fn"><a href="#753d1c80-33d3-4b55-842a-df0cef97b9c0" id="753d1c80-33d3-4b55-842a-df0cef97b9c0-link">10</a></sup>+HDD<sup data-fn="ba7a37ec-f566-4b10-88c6-42219f88ffa2" class="fn"><a href="#ba7a37ec-f566-4b10-88c6-42219f88ffa2" id="ba7a37ec-f566-4b10-88c6-42219f88ffa2-link">11</a></sup> versus NVMe<sup data-fn="705346a8-3652-4ea3-aefe-b866234e9691" class="fn"><a href="#705346a8-3652-4ea3-aefe-b866234e9691" id="705346a8-3652-4ea3-aefe-b866234e9691-link">12</a></sup>+HDD). La seule décision est de passer sur 4 nouveaux nodes, un nouveau cluster en GEN9.</p>



<p class="wp-block-paragraph">Nous n&rsquo;avons pas le choix, nous validons ensemble la BOM avec notre constructeur. Spoiler, j&rsquo;ai soutenu ce choix jusqu&rsquo;au bout.</p>



<h2 class="wp-block-heading">Step 2 : Coup de Tonnerre et Hold Up !</h2>



<p class="wp-block-paragraph">Au même moment (ou sensiblement en même temps nous n&rsquo;allons pas chipoter), une petite entreprise du nom de BROADCOM décide et réalise l&rsquo;acquisition d&rsquo;une société du nom de VMWare&#8230; L&rsquo;un des leaders dans le monde sur les solutions de virtualisation et largement utilisés à travers tous les continents (si on cherche bien, je suis certain qu&rsquo;il doit y avoir des vSpheres en Antartiques).</p>



<p class="wp-block-paragraph">Bon c&rsquo;est monnaie courante les achats de société. Keep Cool Raoul&#8230;</p>



<p class="has-text-align-center wp-block-paragraph"><strong>La tempête arrive&#8230; <a href="https://www.youtube.com/watch?v=bpEmjxobvbY&amp;ab_channel=MichelSardouVEVO">Terre brulé, aux vents&#8230;</a></strong></p>



<p class="wp-block-paragraph">C&rsquo;est un séisme dans le monde de l&rsquo;IT. Les rumeurs cours sur une potentielle augmentation des tarifs à tous les niveaux. Les revendeurs et fournisseurs sont complétements perdu et aveugles car la nouvelle société BROADCOM donne ordre, contre-ordre avec option rétropédalage en pas chassée.</p>



<p class="wp-block-paragraph">Puis un jour, nous recevons par erreur la price-list par erreur. Cette dernière sera exposée en place publique telle la tête de <a href="https://fr.wikipedia.org/wiki/Bernard-Ren%C3%A9_Jourdan_de_Launay">Bernard-René Jourdan de Launay</a> au bout d&rsquo;une pique. <a href="https://www.lemondeinformatique.fr/actualites/lire-face-a-l-intransigeance-de-broadcom-vmware-les-dsi-craquent-93787.html">La hausse des prix se situerai entre 300 et 1200%&#8230;</a></p>



<p class="wp-block-paragraph">Au-delà des ESNs<sup data-fn="4e70c28c-8320-4ef9-9d3d-5233d3c8256b" class="fn"><a href="#4e70c28c-8320-4ef9-9d3d-5233d3c8256b" id="4e70c28c-8320-4ef9-9d3d-5233d3c8256b-link">13</a></sup>, les organisations qui ont leurs SIs sous pavillon VMWares s&rsquo;inquiète&#8230; Ah bon ?</p>



<p class="wp-block-paragraph">L&rsquo;art et la manière ne passe pas. Le mot est donné, « Courage Fuyons ». Se lance alors une course perdue pour migrer rapidement de solution de socle de virtualisation. Ce changement tarifaire est vécu comme un hold up obligeant les organisations à tirer le bras du bandit manchot BROADCOM.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="783" height="1024" src="https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_002_BM-783x1024.jpg" alt="" class="wp-image-2692" style="width:228px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_002_BM-783x1024.jpg 783w, https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_002_BM-229x300.jpg 229w, https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_002_BM-768x1005.jpg 768w, https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_002_BM-1174x1536.jpg 1174w, https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_002_BM-1565x2048.jpg 1565w, https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_002_BM-scaled.jpg 1957w" sizes="auto, (max-width: 783px) 100vw, 783px" /></figure>
</div>


<p class="wp-block-paragraph">Toutefois pour ma part, je dirai que c&rsquo;est une excellente chose. VMWare leader sur le marché va par son rachat et la politique de BROADCOM faire évoluer certains acteurs déjà présents sur le marché et faire sortir de l&rsquo;ombre d&rsquo;autres acteurs moins connues :</p>



<ul class="wp-block-list">
<li>AHV (Acropolis HyperViseur) de NUTANIX</li>



<li>HyperV de Microsoft</li>



<li>Proxmox</li>



<li>Oracle VM</li>



<li>RedHat Virtualisation</li>



<li>Autres Solutions Cloud</li>
</ul>



<p class="wp-block-paragraph">D&rsquo;autres acteurs comme l&rsquo;éditeur de solution de sauvegarde VEEAM vont mettre l&rsquo;accent sur des fonctionnalités de migration cross plateforme et prendre en charge certaines solutions (Proxmox dernièrement).</p>



<p class="wp-block-paragraph">Dans la cacophonie et désordre ambiant, je pense que nous avons tout à gagner au vu de notre problématique de repartir sur un nouveau cluster d&rsquo;entamer ce virage et d&rsquo;adopter un cluster sous <strong>une solution</strong> et un cluster <strong>sous VMWare</strong>. </p>



<p class="wp-block-paragraph">L&rsquo;objectif étant de proposer à des clients qui ne pourraient supporter la hausse significative imposée une solution de replis sans perdre en fonctionnalité tout en gardant le socle de virtualisation VMWare pour les clients contraint d&rsquo;utiliser ce dernier ou qui souhaite rester sur VMWare.</p>



<p class="wp-block-paragraph">C&rsquo;est de mon point de vue l&rsquo;occasion rêver de s&rsquo;ouvrir à de nouvelle opportunité commerciale dans notre contexte faisant ainsi une pierre deux coups.</p>



<h2 class="wp-block-heading">Step 3 : Gouvernances et Stratégies</h2>



<p class="wp-block-paragraph">Mon enthousiasme et vite freiné. Ce qui pour moi semble être une opportunité nécessite une analyse plus réfléchie en interne. On ne parle pas de changer de boulangerie pour aller chercher son pain&#8230;</p>



<p class="wp-block-paragraph">Il faut donc tout revoir et recueillir le besoin et l&rsquo;existant de chacun des services d&rsquo;hébergements. </p>



<p class="has-text-align-center wp-block-paragraph"><strong>Ma volonté va dans le sens de mon besoin mais l&rsquo;est-il pour mes collègues ?</strong></p>



<p class="wp-block-paragraph">En toute franchise, c&rsquo;est une situation que j&rsquo;ai beaucoup de mal à accepter. Je vois le temps défilé et n&rsquo;ait pas de retour sur les directives qui me/nous concernes. Dans l&rsquo;attente, je constate sur les réseaux sociaux que telles ou telles sociétés à entamer sa migration vers une autre solution de virtualisation. Des grands acteurs jouissent de la situation et présente la hausse d&rsquo;utilisation de leurs produits. Et moi ? Ba j&rsquo;attends&#8230;</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Tu as toujours du mal à gérer ton stress on dirait l&rsquo;ami ?</strong></p>



<p class="has-text-align-center wp-block-paragraph">Ouai ba j&rsquo;aime pas l&rsquo;imprévu et TOUT doit être parfait. Je suis comme ça et je ne m&rsquo;accorde que peu si ce n&rsquo;est jamais le droit à l&rsquo;erreur.</p>



<p class="wp-block-paragraph">La décision tombera quelques semaines plus tard, nous garderons VMWare. Hors de question de changer de technologies. Il n&rsquo;y a pas de bonnes ou de mauvaises raisons à ce choix. Cela dépasse mon service et ma vision. Je me dois d&rsquo;accepter cela c&rsquo;est la vie (entre nous plus facile à écrire/dire qu&rsquo;à faire) et j&rsquo;insiste, je ne suis qu&rsquo;un engrenage dans cette grande machine. Je n&rsquo;ai pas du tout la vision globale de tous les éléments. (Là typiquement ça serait/c&rsquo;est un investissement caprice 🙂 ).</p>



<p class="wp-block-paragraph">Les réunions avec les autres équipes sont compliquées. J&rsquo;essaie de défendre l&rsquo;existant, l&rsquo;historique et les compétences que nous portons au sein de mon service. Les réunions sont malheureusement souvent improductives car chacun prêche pour sa paroisse ce qui est normal. Pour être objectif, je regrette cette décision et le comportement de chacun à tous les niveaux le mien compris. </p>



<p class="wp-block-paragraph">Nous avons gaspillé un temps précieux. M&rsquo;enfin, si je peux me permettre la citation ci-dessous, nous nous devons d&rsquo;aller de l&rsquo;avant.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Le passé des uns et des autres éclaire le présent</em></p>



<p class="has-small-font-size wp-block-paragraph">Dominique STRAUSS-KAHN</p>
</blockquote>



<p class="wp-block-paragraph">Il me sera demandé plus tard de réaliser avec un collègue une cotation pour une infrastructure classique (Serveurs, Réseaux, Stockage) afin de comparer les deux BOMs.</p>



<h2 class="wp-block-heading">Step 4 : Deuil et Regrets    </h2>



<p class="wp-block-paragraph">Tout est dans le titre&#8230; La décision sera prise de ne pas reconduire la technologie HCI. Notre infrastructure sera migrée vers une infrastructure standard. Les gros poissons mangent les petits non ?</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Ne soit pas si nihiliste, c&rsquo;est un choix et c&rsquo;est comme ça. Accepte et avance qu&rsquo;est ce que tu as à perdre ? (le moi du futur qui s&rsquo;adresse au gars du moment)</strong></p>



<p class="wp-block-paragraph">Je suis amer et plein de regret à ce moment là. Je rappelle à tous mes responsables que nous sommes en retard au vu des échéances. Que le changement de technologies n&rsquo;est pas sans conséquences pour nous car nous n&rsquo;avons pas toutes les compétences pour répondre dans les temps. La crainte de l&rsquo;imprévu et la peur de ne plus tout maitriser me font grossir le trait. Oui c&rsquo;est le cas mais j&rsquo;ai peut-être un peu trop exagéré.</p>



<p class="wp-block-paragraph">Ce n&rsquo;est pas grave. La compétence est présence au sein de l&rsquo;organisation. Nos collègues nous assisterons et nous transférons leurs compétences. D&rsquo;un côté nous ne sommes pas c*n non plus, ça devrait se faire sans problème. Par contre pour débloquer la commande du matériel, je me souviens malgré les regards noirs de ma compagne avoir confirmé les BOMs durant mes congés (je suis c*n sur ce coup là et il m&rsquo;arrive encore de me surpasser. Mais elle sait que quand le sujet me prend aux tripes rien ne m&rsquo;arrête).</p>



<p class="wp-block-paragraph">Je commence le deuil de mon infrastructure que j&rsquo;accompagne doucement vers une fin de vie maintenant actée. Laissons le temps faire son office et il me faut accepter de revenir en arrière vers une technologie sur le papier moins performantes.</p>



<p class="wp-block-paragraph">Bref, le matériel est commandé. Il nous faut attendre la réception de ce dernier. Une pause de plusieurs semaines débute.</p>



<h2 class="wp-block-heading">Step 5 : Logistique, Madame IRMA et plan d&rsquo;attaque</h2>



<p class="wp-block-paragraph">Dans l&rsquo;attente de la réception des différents équipements je m&rsquo;attèle dans la théorie à l&rsquo;établissement de l&rsquo;architecture du futur système d&rsquo;information.</p>



<p class="wp-block-paragraph">Je me souviens avoir dessiné sur le tableau blanc, les vitres de mon bureau l&rsquo;architecture actuel et à venir. Avoir fait, défait les connexions inscrites des gros mots comme LAG<sup data-fn="e6c3319b-0dc5-448b-8b3f-0d9c4892d47b" class="fn"><a href="#e6c3319b-0dc5-448b-8b3f-0d9c4892d47b" id="e6c3319b-0dc5-448b-8b3f-0d9c4892d47b-link">14</a></sup>, MLAG<sup data-fn="c545484d-fe77-42fa-9f58-304b0a559850" class="fn"><a href="#c545484d-fe77-42fa-9f58-304b0a559850" id="c545484d-fe77-42fa-9f58-304b0a559850-link">15</a></sup> , MAC<sup data-fn="41ad41ca-3926-483c-9acf-e3a6b066cdb0" class="fn"><a href="#41ad41ca-3926-483c-9acf-e3a6b066cdb0" id="41ad41ca-3926-483c-9acf-e3a6b066cdb0-link">16</a></sup>&#8230; Le quotidien d&rsquo;un architecte en somme. J&rsquo;en ai usé de la semelle !</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Pourquoi ce comportement ? Et surtout pourquoi avoir fait seul dans ton coin ? L&rsquo;esprit de cohésion et d&rsquo;équipe tu en fais quoi ?</strong></p>



<p class="wp-block-paragraph">Difficile dans les périodes de congés de déranger les acteurs sans avoir de concret. La nature anxieuse de ma personne souhaite avec une boulimie monstrueuse rattraper le temps perdu et d&rsquo;avoir le plan parfait pour réaliser la migration dans les échéances imposées par l&rsquo;EOL et qui devient une affaire personnelle.</p>



<p class="wp-block-paragraph">Après les divers congés de chacun, j&rsquo;échange avec mon collègue des fruits de ma réflexion. Nous réaliserons quelques adaptations et suggestions à mon infrastructure et paramétrage. Oui j&rsquo;ai avancé seul pour gagner du temps, mais pas dans l&rsquo;objectif d&rsquo;exclure mon équipe.</p>



<p class="wp-block-paragraph">Je me souviens du jour où nous avons reçu le matériel. J&rsquo;ai dit à mon responsable,</p>



<p class="has-text-align-center wp-block-paragraph">« <strong>Nous ne sommes pas à l&rsquo;abris que dans les équipements livrés, nous ayons un problème sur l&rsquo;un d&rsquo;entre eux. Tiens pourquoi pas un dysfonctionnement de la baie de stockage ? »</strong></p>



<p class="has-text-align-left wp-block-paragraph" style="font-size:6px">A croire que j&rsquo;ai un don 🙂 j&rsquo;en rigole maintenant. Gardons le meilleur pour ce qui va suivre&#8230;</p>



<p class="wp-block-paragraph">L&rsquo;organisation de la logistique pour réaliser la livraison du matériel en temps normal d&rsquo;un point A à un point B par un transporteur n&rsquo;est pas simple. Après un dialogue de sourd avec la société de transport, nous arrivons à faire livrer nos équipements sur site et j&rsquo;insiste la commande est complète et en parfaite état. 🙂</p>



<p class="wp-block-paragraph">Nous commençons à organiser les premières réunions inter équipes pour définir la répartition des tâches ainsi qu&rsquo;un rétroplanning. Sur le papier ça à de la gue***e. Mais comme tous projets et rétroplanning tous secteurs d&rsquo;activités confondu, et ba c&rsquo;est de la m***e et ça ne se passe jamais comme prévu. </p>



<h2 class="wp-block-heading">Step 6 : Unboxing, Installation, Configuration et &#8230; Surprise</h2>



<p class="wp-block-paragraph">Comment vous expliquer le sentiment de ce moment ? Imaginez deux gosses à Noël. Ba vous y êtes mais avec une certaine pudeur s&rsquo;interdisant d&rsquo;exalter son excitation 🙂</p>



<p class="wp-block-paragraph">L&rsquo;installation des équipements de calcul (nodes), des équipements réseaux et de la baie de stockage nous prends la journée. La configuration de la partie réseau est poussé sur les nouveaux équipements réseaux. Aimant la compétition, j&rsquo;avais demandé à mon collègue de réaliser la configuration des équipements réseaux en théorie et de charger la configuration lors de l&rsquo;installation. Juste quelques erreurs et ajustement mais rien nuisant au fonctionnement.</p>



<p class="wp-block-paragraph">Fin de la première journée, nous nous réservons la seconde journée pour réaliser et débuter la configuration de notre baie de stockage et nos ressources de calcul.</p>



<p class="wp-block-paragraph">Nous attaquons selon l&rsquo;organisation établie la configuration des équipements. Mon collègue les ressources de calculs et personnellement la partie stockage. Le hic, c&rsquo;est que j&rsquo;avais prophétisé une anomalie et il me fallait la réaliser.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="500" src="https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_003_prophetie.jpg" alt="" class="wp-image-2695" style="width:514px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_003_prophetie.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_003_prophetie-300x146.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2025/01/MM_003_003_prophetie-768x375.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">Lors de l&rsquo;initialisation de la baie de stockage, nous n&rsquo;avons pas le comportement attendu dans le guide d&rsquo;installation. Nous tentons de lancer la configuration tout de même&#8230; rien.</p>



<p class="wp-block-paragraph">Nous ouvrons une demande d&rsquo;assistance auprès du constructeur. Une intervention à distance est planifiée le lendemain. Pas de problème nous sommes sur site. A ma grande surprise, je n&rsquo;ai jamais eu chez ce constructeur une première assistance en anglais (cela ne me pose pas de problème mais d&rsquo;habitude sur d&rsquo;autres gammes de produits les interlocuteurs sont francophones). Nous sommes leurs petites mains et suivons les instructions. L&rsquo;intervenante nous informe que notre équipement n&rsquo;est pas dans un état normal et que ce dernier à une image de LAB, de test en guise de SE<sup data-fn="060df10d-2a91-4fe5-a790-8bd42b3a858b" class="fn"><a href="#060df10d-2a91-4fe5-a790-8bd42b3a858b" id="060df10d-2a91-4fe5-a790-8bd42b3a858b-link">17</a></sup> en lieu et place d&rsquo;une image STANDARD. Là je me fends la gu***e car on ne me l&rsquo;avait jamais faite celle là.</p>



<p class="wp-block-paragraph">Ce n&rsquo;est pas grave, car nous pouvons restaurer l&rsquo;image standard en whipant le système. Ok pourquoi pas&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.It&rsquo;s so long no ?&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;Ja, please can you start an hard reboot please?&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.Of course&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>



<p class="wp-block-paragraph">Je pense que c&rsquo;est le reboot que l&rsquo;IOM n&rsquo;a pas aimé. Bon, la pauvre technicienne n&rsquo;y est pour rien. Elle a suivi la procédure et ça n&rsquo;a pas fonctionné. Nous planifions une nouvelle intervention pour le lendemain avec le niveau d&rsquo;assistance supérieure. Oui ça arrive. Mais croyez-moi ce n&rsquo;est que le début héhéhéhé 🙂 [c&rsquo;est marrant de refaire le film car à ce moment là je pestais de mon infortune].</p>



<p class="wp-block-paragraph">Mon intuition me pousse à redéfinir les tâches pour ne pas perdre plus de temps. Et pour une fois j&rsquo;ai pris la bonne décision. J&rsquo;ai décidé de prendre en charge la résolution de la panne avec le constructeur et laissé mon collègue sur la partie paramétrage des ressources de calcul avec les équipes distantes. Je suis amer car je souhaitais que nous fassions toutes les configurations ensemble. Mais d&rsquo;une autre manière cela nous permettra de faire des ateliers de transfert de connaissance et d&rsquo;ajuster nos bonnes pratiques. </p>



<p class="wp-block-paragraph">De toute façon, rien ne nous empêche de réaliser la partie ressource de calcul (ESX) en attendant que le stockage soit disponible ? Pour la suite, je ne traiterai que de la partie stockage. </p>



<h2 class="wp-block-heading">Step 7 : Plan A, Plan B, Plan C&#8230; (encore 23 lettres possible)     </h2>



<p class="wp-block-paragraph">A la suite de l&rsquo;intervention initiale, qui fut malheureusement un échec. Au vu des circonstances nous planifions un nouveau rendez vous distant avec le niveau supérieur de diagnostic. Pour faciliter l&rsquo;intervention, nous nous déplaçons une nouvelle fois sur site (pas loin d&rsquo;unlock le succès bronze « Grand Voyageur » sur STEAM).</p>



<p class="wp-block-paragraph">L&rsquo;ensemble des informations étant recueillis, l&rsquo;ingénieur en charge de notre case nous informe qu&rsquo;il faut dépêcher un technicien constructeur sur site pour réaliser les actions. La date est définie.</p>



<h3 class="wp-block-heading">Plan A : Réimage depuis un média amovible</h3>



<p class="wp-block-paragraph">J&rsquo;ai bien compris la chose. Je ne serai que la petite main sur site et doit tout faire pour satisfaire le technicien sur site pour réaliser les opérations distantes de l&rsquo;ingénieur. C&rsquo;est parti pour un nouveau déplacement (sans me plaindre, à titre d&rsquo;information c&rsquo;est 3h30 de trajet à chaque intervention sur site).</p>



<p class="wp-block-paragraph">Le technicien arrive sur site et nous démarrons la réunion en début fin de matinée. La naïveté qui m&rsquo;habite voulait qu&rsquo;on résolve l&rsquo;incident rapidement, je n&rsquo;ai donc pas de déjeuner et n&rsquo;aurait pas l&rsquo;occasion de déjeuner. <strong><em>POWNED</em></strong></p>



<p class="wp-block-paragraph">Après un rapide topo au technicien, nous démarrons le meeting avec le support. Je comprends que la panne que nous avons n&rsquo;est pas une panne normale.</p>



<p class="wp-block-paragraph">En face il y a :</p>



<ul class="wp-block-list">
<li>Deux Global Escalation Manager</li>



<li>L&rsquo;ingénieur en charge de notre case</li>



<li>Le technicien qui est intervenu</li>



<li>Un ingénieur R&amp;D<sup data-fn="8a46aa9a-a948-44fe-bb49-201900df4bd5" class="fn"><a href="#8a46aa9a-a948-44fe-bb49-201900df4bd5" id="8a46aa9a-a948-44fe-bb49-201900df4bd5-link">18</a></sup></li>
</ul>



<p class="wp-block-paragraph">L&rsquo;ingénieur nous explique que nous allons réimager le SE de la baie à travers une image que nous pousserons par le port série depuis un média amovible depuis un media linux. Je me souviens avoir demandé au technicien s&rsquo;il avait les sources nécessaires. Non, il va devoir les télécharger, la procédure ne lui a pas été communiquée en amont. Au vu de la criticité du dysfonctionnement et de l&rsquo;intervention de dernière minute cela ne me choque pas. L&rsquo;information n&rsquo;a pas eu le temps de suivre.</p>



<p class="wp-block-paragraph">Pour la faire simple cela nous prend une bonne partie de l&rsquo;après-midi pour télécharger et générer les images bootable. Nous attaquons les opérations sur l&rsquo;équipement. L&rsquo;opération devient complexe. Bien que suivant les instructions le port série se joue <a href="https://www.youtube.com/watch?v=vPRqkxD9SjY&amp;ab_channel=MilordL%27Arsouille">« On me voit, On me voit plus. On me voit plus, On me voit. »</a> Difficile de transmettre quelques fichiers&#8230; Finalement nous stabilisons la connexion (les planètes doivent être alignés ! Super). Malheureusement, le transfert échoue à plusieurs reprises le SE de l&rsquo;IOM<sup data-fn="1cef3730-7731-43a4-adfe-a0993fd225a7" class="fn"><a href="#1cef3730-7731-43a4-adfe-a0993fd225a7" id="1cef3730-7731-43a4-adfe-a0993fd225a7-link">19</a></sup> par sécurité fermant les ports d&rsquo;échanges.</p>



<p class="wp-block-paragraph">L&rsquo;ensemble de l&rsquo;équipe me présente leurs excuses sincères devant cet échec. Nous ne sommes plus dans les procédures connues. Un nouvel ingénieur R&amp;D rentre dans la conversation pour obtenir un nouvel avis ainsi que de nouvelle idée. Le meeting dure depuis 7 heures. 7 heures d&rsquo;anglais dans le bruit d&rsquo;un DC<sup data-fn="faff77a4-870f-4a1b-b6a1-0c918d263979" class="fn"><a href="#faff77a4-870f-4a1b-b6a1-0c918d263979" id="faff77a4-870f-4a1b-b6a1-0c918d263979-link">20</a></sup>, ça fatigue&#8230; Il nous est alors proposé de réimagé le média USB pour éliminer un dysfonctionnement côté poste client. Vous me croyez si la clé USB du technicien a rendu l&rsquo;âme sous mes yeux&#8230;</p>



<p class="wp-block-paragraph">Nous décidons d&rsquo;un commun accord de définir une nouvelle intervention. L&rsquo;ingénieur R&amp;D propose de réimager la baie ainsi que les deux IOMs avec un IOM déjà imagé. Problème, il faut trouver un contrôleur imagé disponible en Europe&#8230; Etrangement on ne trouve pas de contrôleur sous les sabots d&rsquo;un cheval&#8230; Dans l&rsquo;attente de trouver THE contrôleur, avant de nous quitter, l&rsquo;ingénieur en charge de notre dossier anticipe les opérations suggérées en récupérant les fichiers de configuration nécessaire. Nous nous quittons.</p>



<h3 class="wp-block-heading">Plan B : IOM&#8230;mais pas imagé</h3>



<p class="wp-block-paragraph">Les échanges mails qui suivent le lendemain nous informe qu&rsquo;un contrôleur a été trouvé et est expédié en taxi et sera disponible le lendemain matin. Un nouveau technicien sera dépêché sur site. </p>



<p class="wp-block-paragraph">C&rsquo;est parti pour une nouvelle intervention sur site&#8230; </p>



<p class="wp-block-paragraph">La journée commençait mal. L&rsquo;aire de repose où nous pennons notre café matinal puait l&rsquo;urine, la machine en panne et il pleuvait des chats et des chiens&#8230; Ca en dit long sur la journée&#8230;</p>



<p class="wp-block-paragraph">Nous réceptionnons le colis qui n&rsquo;était pas à la bonne adresse heureusement qu&rsquo;il y a le téléphone. Je suis toutefois embêté car le colis ne me semble pas une pièce de production mais une pièce de spare. Après vérification, l&rsquo;information c&rsquo;est perdu en EUROPE. La pièce en provenance des pays bas est bien la bonne mais pas dans l&rsquo;état attendu. L&rsquo;IOM est vierge.</p>



<p class="wp-block-paragraph">Nous échangeons avec les Globals Escalations Managers et demandent de reporter l&rsquo;intervention et de l&rsquo;annuler. Ils sont de nouveau désolés de la situation et vont faire le nécessaire pour trouver la bonne pièce.</p>



<p class="wp-block-paragraph">C&rsquo;est un retour au bercail.</p>



<h3 class="wp-block-heading">Plan C : IOM, Papier Bitte Zolldienst !</h3>



<p class="wp-block-paragraph">Après avoir rendu plusieurs comptes en interne sur la situation kafkaïenne que nous subissons mon chef se refuse de croire à ma malchance. Enfin, je continu d&rsquo;échanger avec l&rsquo;ensemble des personnes en charge de notre dossier.</p>



<p class="wp-block-paragraph">Finalement au bout de quelques jours, un IOM a été trouvé et imagé en plus. Cependant il vient de Suisse.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Tu as quelques choses contre la Suisse ?</strong></p>



<p class="wp-block-paragraph">Absolument rien. <a href="https://www.youtube.com/watch?v=YRxPRwmn6IM&amp;ab_channel=Cin%C3%A9Phil">Ne nous fâchons pas</a>. C&rsquo;est juste que ce pays ne fait pas parti de l&rsquo;espace Schengen&#8230; Cela veut donc dire douane&#8230;</p>



<p class="wp-block-paragraph">Ce qui est admirable de nos jours c&rsquo;est qu&rsquo;il est possible de suivre un colis durant son cycle d&rsquo;acheminement. Là, je vois que notre colis est à la frontière française, mais bloqué en douane pour des raisons administratives. Rien de déconnant.</p>



<p class="wp-block-paragraph">Il m&rsquo;est alors demandé de fournir les éléments administratifs pour obtenir le <a href="https://www.youtube.com/watch?v=FdfIuw9o7Ys&amp;ab_channel=EnzoPsl">sauf conduit A38</a> à la compagnie de transport.</p>



<p class="wp-block-paragraph">Plus sérieusement :</p>



<ul class="wp-block-list">
<li>Facture</li>



<li>Numéro de TVA<sup data-fn="c080cc74-8d47-4476-81f7-2b45bc3369c9" class="fn"><a href="#c080cc74-8d47-4476-81f7-2b45bc3369c9" id="c080cc74-8d47-4476-81f7-2b45bc3369c9-link">21</a></sup> et SIRET<sup data-fn="953a49d0-309b-478c-96f6-fb9e2a42792a" class="fn"><a href="#953a49d0-309b-478c-96f6-fb9e2a42792a" id="953a49d0-309b-478c-96f6-fb9e2a42792a-link">22</a></sup></li>



<li>Numéro EORI<sup data-fn="1b702de6-bd05-4df4-8eb2-e1423d7b5fd5" class="fn"><a href="#1b702de6-bd05-4df4-8eb2-e1423d7b5fd5" id="1b702de6-bd05-4df4-8eb2-e1423d7b5fd5-link">23</a></sup></li>
</ul>



<p class="wp-block-paragraph">Pour le numéro de TVA et SIRET, un petit coup de societe.com et le tour est joué. Toutefois pour la facture c&rsquo;est plus pénible car c&rsquo;est une pièce de spare et cela concerne uniquement le constructeur. Je me dis que ce dernier est transmis donc osef, sur un mal entendu ça va passer (mais qu&rsquo;il est naïf le garçon).</p>



<p class="wp-block-paragraph">L&#8217;employé en charge de notre colis chez le transporteur, accuse réception des éléments et ne me répond que le lendemain. C&rsquo;est incomplet, je n&rsquo;ai pas le N° EORI. Je trouve la personne gonflé, 1 jour pour me dire qu&rsquo;il manque une pièce qui pour le coup ne me parlait pas et je pensais que c&rsquo;était à l&rsquo;expéditeur de fournir. Passons. Après un échange téléphonique, la personne m&rsquo;indique travailler de 03h00 AM à 11h30 AM. Je comprends mieux la situation.</p>



<p class="wp-block-paragraph">Mais alors qu&rsquo;est ce qu&rsquo;un numéro EORI ?</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-small-font-size wp-block-paragraph">Le numéro&nbsp;<strong>EORI</strong>&nbsp;(<strong>E</strong>conomic&nbsp;<strong>O</strong>perator&nbsp;<strong>R</strong>egistration and&nbsp;<strong>I</strong>dentification) est un numéro d&rsquo;identification unique en matière douanière, obligatoire depuis le&nbsp;1<sup>er</sup>&nbsp;janvier 2017&nbsp;dans l&rsquo;UE. Il est nécessaire pour les formalités à l&rsquo;importation et à l&rsquo;exportation (hors Union européenne).</p>



<p class="has-small-font-size wp-block-paragraph">Il est essentiellement utilisé dans les télé-procédures (déclarations électroniques) liées au dédouanement des marchandises<sup><a href="https://fr.wikipedia.org/wiki/Num%C3%A9ro_EORI#cite_note-1">1</a></sup></p>



<p class="has-small-font-size wp-block-paragraph">Les États membres ont mis en place un dispositif permettant de sécuriser les échanges commerciaux entrant et sortant de l&rsquo;Union européenne. Une base de données communautaire, permettant d&rsquo;identifier, au moyen d&rsquo;un numéro unique, chaque opérateur économique ayant des relations avec les administrations douanières de l&rsquo;Union européenne (UE), ou exerçant des activités couvertes par la législation douanière.</p>
<cite><a href="https://fr.wikipedia.org/wiki/Num%C3%A9ro_EORI">Wikipédia</a></cite></blockquote>



<p class="wp-block-paragraph">Cela ne m&rsquo;avance pas trop. Je me rapproche donc de notre service Administratif et Financier pour voir un peu plus clair à mon affaire et obtenir THE SESAME. </p>



<p class="wp-block-paragraph">Chou blanc pour le coup. Ce document n&rsquo;est pas connu et à juste titre nous ne faisons pas d&rsquo;export/import. Alors c&rsquo;est bien beau de savoir ce qu&rsquo;est un N° EORI mais comment l&rsquo;obtenir ? Là c&rsquo;est sur <a href="https://www.douane.gouv.fr/service-en-ligne/connaitre-son-numero-didentification-communautaire-eori">le site des douanes françaises</a> qu&rsquo;il va falloir œuvrer.</p>



<p class="wp-block-paragraph">Voyez vous à titre personnel, la paperasse ne me gêne pas. Mais dans ce genre de situation inconnue se pose toujours la question par où commencer les démarches ? Hé bien en ligne vu que nous avons fait le choix pour quelques économies publiques de réduire le nombre de fonctionnaire et donc de douanier. Perdu et sans réel logique, souhaitant juste obtenir mon p****n d&rsquo;IOM dans mon DC je vais remplir le formulaire mais avec les mauvaises informations&#8230; Je déclare le siège de la société dans le département où se trouve notre datacenter et non pas où est enregistré la région où est inscrite la société&#8230; Je me suis foutu tout seul comme un grand dans le cas du laissé passer A38.</p>



<p class="wp-block-paragraph">Nous avons la fâcheuse manie (qui fait notre réputation nationale) de critiquer en permanence tout et rien mais surtout nos institutions publiques et bien sachez que les divers bureaux de douanes et agents que j&rsquo;ai pu avoir son d&rsquo;une gentillesse et efficacité remarquable. Je me souviens avoir contacté 10 bureaux de douanes différents j&rsquo;ai eu un nombre de ligne directe pour joindre les agents&#8230; Ma situation a été prise en charge et j&rsquo;ai pu obtenir en moins de 4 heures le numéro EORI au nom de la société. Je dis toujours à mes enfants qu&rsquo;avec la politesse nous arrivons à tout et bien plus encore. Là ce fut le cas. Je remercie encore toutes les personnes des services des douanes.</p>



<p class="wp-block-paragraph">Revenons à nos moutons. J&rsquo;ai tous les documents administratifs en ma possession. Je retourne en début d&rsquo;après midi lesdits éléments au poste frontière du transporteur. Ah mais oui c&rsquo;est vrai que la personne en charge de mon dossier ne travaille pas après 11h30 AM. J&rsquo;appelle le service concerné me disant qu&rsquo;une entreprise de cette envergure à bien une continuité de service. C&rsquo;est je crois l&rsquo;une des grosses erreurs quand j&rsquo;ai fait sur ce dossier. La personne au téléphone me fait comprendre qu&rsquo;elle ne veut pas traiter car ce n&rsquo;est pas son dossier et que sa journée et presque terminée. Je sors mon numéro de politesse combo dramatique je risque gros car j&rsquo;ai fait une boulette dans mon boulot (pas vrai mais bon). </p>



<p class="has-text-align-center wp-block-paragraph"><strong>La fin justifie les moyens, j&rsquo;en ai plus rien à f*****e je veux décoincer la situation.</strong></p>



<p class="wp-block-paragraph">Elle accepte finalement avec une nonchalance à faire pâlir un ouzbek. Me voilà rassurer. Je laisse la journée courir, satisfait du devoir accomplie.</p>



<p class="wp-block-paragraph">Quelques heures plus tard, l&rsquo;intuition peut-être je suis pris de doutes entre minuit et 03:00 AM. Je ne dors pas et scroll mon téléphone en permanence. J&rsquo;ai le sentiment que je vais me faire emboucaner. </p>



<p class="has-text-align-center wp-block-paragraph"><strong>GAGNE !</strong></p>



<p class="wp-block-paragraph">Un mail tombe du type chez le transporteur qui gère notre affaire. Pas content que nous n&rsquo;ayons pas été patient et de l&rsquo;avoir bypassé. Nous voilà dans un excès de zèle, la facture transmise par le fabriquant a bien le bon montant que sur la déclaration, mais pas la bonne devise. </p>



<p class="has-text-align-center wp-block-paragraph"><strong>Excès de zèle tu y vas un peu fort non ?</strong></p>



<p class="has-text-align-left wp-block-paragraph">Vous n&rsquo;allez pas me dire qu&rsquo;il ne l&rsquo;avait pas vu avant et qu&rsquo;il ne pouvait pas le dire ? Manque de bol, je suis chaud bouillant. Qu&rsquo;est que je fais à 04:00 du mat ? Je l&rsquo;appel sur sa ligne direct mobile. Il ignore mes multiples appels. Là ça me soule. Nous échangeons par mail. Un match genre NADAL, DJOKOVIC. C&rsquo;est lunaire. Bref, nous passons de deux personnes dans le mail à au moins 12. L&rsquo;ensemble des personnes qui traitent notre incident chez le constructeur rentre dans la boucle ainsi que tous les acteurs chez nous du technicien au directeur. Un bon vieux <a href="https://www.youtube.com/watch?v=-XPi2RKYPX0&amp;ab_channel=WWE">Royal Rumble des familles</a> mais sans Hulk Hogan. Même avec la bonne facture ça n&rsquo;allait pas. Le reste, c&rsquo;est l&rsquo;éditeur qui a géré. Le colis est parti quelques heures après avec l&rsquo;assurance d&rsquo;être livré le lendemain dans la matinée. Nous profitons donc de ce temps pour planifier une nouvelle intervention avec un technicien du constructeur.  </p>



<p class="has-text-align-left wp-block-paragraph">Ce que je retiendrai. <em>Transporteur </em>à fuir. Je ne donnerai pas le nom mais je suis frustré de ce qui s&rsquo;est passé.</p>



<p class="wp-block-paragraph">Le lendemain, je monte en catastrophe pour m&rsquo;assurer que le colis sera bien réceptionné j&rsquo;ai encore le sentiment qu&rsquo;il va y avoir un problème. Je vous le donne dans le mille, il y a de nouveau plusieurs problèmes :</p>



<ul class="wp-block-list">
<li>J&rsquo;oublie mes accréditations dans ma veste de costume. Soit obligé de faire demi-tour sur le trajet. Heureusement je n&rsquo;étais pas bien loin.</li>



<li>Je préviens notre fournisseur et hébergeur de la venu d&rsquo;un colis par transporteur. Que ce dernier doit être accepté. Pas de problème.</li>



<li>Le livreur qui a du avoir des instructions me contacte pour m&rsquo;informer de la livraison et s&rsquo;assurer que quelqu&rsquo;un va le récupérer. Je lui confirme et s&rsquo;il y a un problème il me recontacte, le colis DOIT être livré. Il me rappel cinq minutes après m&rsquo;informant que le colis est refusé par le quai de livraison. Je lui demande de me passer l&rsquo;agent et lui confirme que je suis en route pour le DC, lui donne le pedigree du colis et lui demande d&rsquo;accusé réception de notre colis.</li>
</ul>



<p class="wp-block-paragraph">Enfin, l&rsquo;IOM est sur site.</p>



<p class="wp-block-paragraph">L&rsquo;intervention qui suivra et qui durera plus de 5 heures ne donnera rien de mieux et laisse perplexe l&rsquo;ingénieur en charge de notre dossier ainsi que les équipes R&amp;D. Le technicien sur site me confirme également qu&rsquo;il n&rsquo;a jamais assisté à autant de personne dans une résolution d&rsquo;incident. Les gros mots sont lâchés « Pénalités financières, Non respect des SLAs<sup data-fn="09929c59-32ff-42ce-9b87-664e36cdda7d" class="fn"><a href="#09929c59-32ff-42ce-9b87-664e36cdda7d" id="09929c59-32ff-42ce-9b87-664e36cdda7d-link">24</a></sup> etc ». Moi je m&rsquo;en br****e complétement. Je ne veux pas que cela impact les équipes techniques et notre résolution de l&rsquo;incident.</p>



<p class="wp-block-paragraph">Bref, nous nous quittons encore une fois, les équipes désolés de la situation face à ce dysfonctionnement où nous sommes maintenant les seuls à avoir la panne au monde. Ca me fait b*****r un truc de fou de savoir ça. A tort ou à raison, cela fait de nous l&rsquo;exception, la perle rare dans un sens.</p>



<p class="wp-block-paragraph">Le global escalation manager en charge de notre dossier nous informe <a href="https://www.youtube.com/watch?v=vmYhQxeO7D4&amp;ab_channel=ALLPOPCULTURESCENESVF">d&rsquo;attendre sa venue aux premières lueurs du cinquième jour. A l&rsquo;aube, regarder à l&rsquo;est&#8230;</a> </p>



<h2 class="wp-block-heading">Step 8 : Resurrection by Erection and Migration</h2>



<p class="wp-block-paragraph">Vous l&rsquo;avez compris, le titre et la transition de la partie précédente marque dans cette huitième étape la fin de notre péripétie digne d&rsquo;Ulysse rentrant chez lui.</p>



<p class="wp-block-paragraph">Les échanges 3 jours après la dernière intervention nous informe que cette fois ci ça sera la bonne. L&rsquo;ensemble de nos erreurs ont été reproduite en LAB par les équipes R&amp;D. Etrangement je crois cette fois que ça fonctionner. J&rsquo;en suis convaincu.</p>



<p class="wp-block-paragraph">Pour mettre toutes les chances de notre côté, nous interviendrons avec mon collègue. Les réunions de plusieurs heures à genoux dans le bruit et dans une langue autre que sa langue natale ça fatigue en fin de journée.</p>



<p class="wp-block-paragraph">L&rsquo;ingénieur en charge de notre dossier nous informe que c&rsquo;est de loin le case le plus compliqué qu&rsquo;il ait dû traiter depuis qu&rsquo;il travaille là bas. Vous savez qu&rsquo;un traitement d&rsquo;incident se passe bien et dans la douleur pour tout le monde quand vous commencez par être familier avec les interlocuteurs en les appelant par leurs noms et en échangeant sur des sujets personnels pour tuer le temps d&rsquo;initialisation enclenché par le système.</p>



<p class="wp-block-paragraph">Après 5 heures d&rsquo;intervention où le plus difficile reste l&rsquo;intervention à distance suite à l&rsquo;inversion des claviers AZERTY &lt;-> QWERTY (US) tout est fonctionnel et nous avons initialisé notre baie.</p>



<p class="wp-block-paragraph">J&rsquo;ai remercié les équipes et chaque intervenant oralement et par mail. La situation a été difficile mais le respect et le sang froid nous a permis de traverser toutes ces péripéties. Toutefois et encore résigné des aspects logistiques ma lâcheté à fait que les deux IOMs qui ont été livré sont repartie avec le technicien 🙂 Croyez moi c&rsquo;est mieux comme ça.</p>



<p class="wp-block-paragraph">Une semaine après l&rsquo;initialisation de la baie, nous migrions l&rsquo;intégralité de notre infrastructure de production sur deux jours vers la nouvelle infrastructure sans une interruption de service. Nous avons respecté l&rsquo;intégralité du plan malgré l&rsquo;ensemble des aléas chaotiques que nous avons pu contracter. Mon seul regret sera de ne pas avoir tenu l&rsquo;échéance initiale de migration et d&rsquo;avoir dépassé cette dernière de 29 jours.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">Ce projet ainsi que cet épisode a été assez marquant. J&rsquo;en veux pour preuve, il est facile de constater que ce papier a été rédigé en plusieurs fois. Une partie trop proche des événements sans recul et discernements et à l&rsquo;inverse un détachement et une légèreté plus désinvolte. Mais cela reflète au mieux la réalité dans un sens et c&rsquo;est ce qui se rapproche le plus d&rsquo;une autobiographie non ?</p>



<p class="wp-block-paragraph">J&rsquo;ai toujours été décisionnaire jusqu&rsquo;à présent et dans un sens maitre et responsable de mon infrastructure. Le fait d&rsquo;être bousculé et challengé sur le matériel, l&rsquo;activité et la manière de faire m&rsquo;ont poussé de part mon fort caractère à me mettre en opposition à toutes les décisions d&rsquo;équipes extérieur à mon service. Il est plus facile de dire « accepte&rsquo; que de le faire et donc d&rsquo;accepter. J&rsquo;ai pour le coup été beaucoup dans la résignation et à tort.</p>



<p class="wp-block-paragraph">Si je dresse le procès de la direction quant à sa vision stratégique dans la transition, je me dois alors de dresser mon propre procès. Et heureusement ce n&rsquo;est pas le cas et ça ne le sera pas. </p>



<p class="has-text-align-center wp-block-paragraph"><strong>Pourquoi ?</strong> <em>Parce que cela n&rsquo;est pas constructif et cela n&rsquo;apporte que désordre et entropie.</em></p>



<p class="wp-block-paragraph">J&rsquo;ai beaucoup appris sur moi-même notamment sur des aspects et capacités dont j&rsquo;ignorais l&rsquo;acquisition. Je me souviens par exemple qu&rsquo;un collaborateur m&rsquo;ait dit</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Arrête de dire que tu as la poisse, ce n&rsquo;est pas vrai c&rsquo;est parce que tu le crois</em></p>
<cite>Un collaborateur anonyme</cite></blockquote>



<p class="wp-block-paragraph">D&rsquo;avoir joué encore une fois les cassandres et cela nous ayant fortement impactés m&rsquo;a également valu une réflexion qui je le pense se voulait innocente mais qui avec la fatigue et trop de recul dans le contexte de frustration de changement de solution m&rsquo;a beaucoup affecté. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>C&rsquo;est pas possible qu&rsquo;ils n&rsquo;arrivent pas à résoudre la panne. Tu as fait un truc à la baie lors de l&rsquo;installation</em></p>
<cite>Une personne</cite></blockquote>



<p class="wp-block-paragraph">Faut il comprendre par là que j&rsquo;aurai volontairement fait acte de sabotage ? </p>



<p class="has-text-align-center wp-block-paragraph"><strong>Le voilà reparti dans sa paranoïa&#8230; </strong></p>



<p class="wp-block-paragraph">Je préfère me dire que c&rsquo;était maladroit et que j&rsquo;ai surinterprété. Naturellement tiré hors de son contexte, cela peut paraitre choquant et je ne tiens pas à développer ou non la question.</p>



<p class="wp-block-paragraph">J&rsquo;ai compris une nouvelle fois qu&rsquo;il est indispensable de ne pas s&rsquo;énerver avec les fournisseurs et prestataire face à la situation. Cela pour garder une bonne synergie dans la résolution de l&rsquo;incident et eux sont ils responsables ? Non il faut leur boulot comme nous. Alors à quoi bon être désagréable ? Pour avoir le commentaire côté client « Attention client grossier et inhumain » ?</p>



<p class="wp-block-paragraph">Je pense que dans la situation que nous avons rencontrés il est important de dissocier la résolution technique et l&rsquo;aspect financier lié par le dénominateur commun de l&rsquo;incident.</p>



<p class="wp-block-paragraph">De manière plus concrète et pour en revenir à l&rsquo;aspect technique du projet, nous avons réussi un tour de force en démontrant que nous étions capables de réaliser un projet d&rsquo;une telle envergure dans un temps record en maitrisant le risque et l&rsquo;impact et ceux malgré les aléas. Si lors de la phase d&rsquo;étude il y a pu avoir des doutes sur nos compétences techniques, managériales projets ou humaines. Nous avons su montrer que nous avions les épaules assez larges. Il est vrai que lorsqu&rsquo;il n&rsquo;y a pas de données de production en jeu cela facilite grandement les choses. Or quand vous savez qu&rsquo;un risque subsiste sur l&rsquo;infrastructure qui doit être migré, croyez moi vous faite le nécessaire.</p>



<p class="wp-block-paragraph">Et alors ton infrastructure actuelle STDI et plus ou moins performantes que ton ancienne infrastructure HCI ?</p>



<p class="wp-block-paragraph">Excellente question, pour laquelle je répondrai je ne sais pas et je ne me prononcerai pas. La raison étant « Comment comparer ce qui n&rsquo;est pas comparable ? » </p>



<ul class="wp-block-list">
<li>Stockage hybride (mélange de HDD et SSD) et de l&rsquo;autre un stockage full NVMe</li>



<li>Réseau en SFP+ <sup data-fn="91b83757-d6d5-4c17-aeab-487a0ee040a2" class="fn"><a href="#91b83757-d6d5-4c17-aeab-487a0ee040a2" id="91b83757-d6d5-4c17-aeab-487a0ee040a2-link">25</a></sup>(10Gbps) contre un réseau SFP28<sup data-fn="ad316044-f65c-41fc-87a9-ab47782b4cfc" class="fn"><a href="#ad316044-f65c-41fc-87a9-ab47782b4cfc" id="ad316044-f65c-41fc-87a9-ab47782b4cfc-link">26</a></sup> (25Gbps)</li>



<li>Processeurs de générations différentes</li>



<li>Mémoire en DDR4<sup data-fn="a2e1bcec-b7e4-4805-85f6-61603b594fa4" class="fn"><a href="#a2e1bcec-b7e4-4805-85f6-61603b594fa4" id="a2e1bcec-b7e4-4805-85f6-61603b594fa4-link">27</a></sup> contre DDR5<sup data-fn="95d522f4-5336-452c-bc39-4790c12034b1" class="fn"><a href="#95d522f4-5336-452c-bc39-4790c12034b1" id="95d522f4-5336-452c-bc39-4790c12034b1-link">28</a></sup>  </li>
</ul>



<p class="wp-block-paragraph">Donc je ne pose pas en le constructeur A est mieux que le constructeur B. Le plus important est et doit rester : </p>



<p class="has-text-align-center wp-block-paragraph"><strong>Nos clients ont ils été impacté et sont-ils satisfait ?</strong></p>



<p class="has-text-align-left wp-block-paragraph">La réponse sera oui, personne n&rsquo;a rien vu (peut être un client avec un éditeur)&#8230; </p>



<p class="wp-block-paragraph">Un des derniers inconvénients de ce genre d&rsquo;affaire relate des déplacements fréquents et donc du sujet de la restauration. Nous avons nos habitudes et bien de trop mangé au même endroit cela perd de son charme. Quand on commence à connaitre la carte par cœur, ce n&rsquo;est pas bon signe. Néanmoins, nous pouvons faire des bonnes trouvailles comme mon collègues avec le jarret d&rsquo;un kilo (petite dédicace à toi collègue).</p>



<p class="wp-block-paragraph">Nous avons et je conclurai sur ce dernier point, avec mon collègue apprécier travailler en collaboration étroite avec d&rsquo;autres collègues d&rsquo;autres agences avec qui nous avons pu mettre à jour nos bonnes pratiques et échanger sur des fonctionnalités peu ou mal connu. Cet accompagnement a été réalisé comme transfert de compétence et non comme une formation sans avoir de jugement de valeur sur les compétences et sur les Hommes.</p>



<p class="wp-block-paragraph">Bon un petit break maintenant et sans problème on signe de nouveau pour un projet de cette ampleur mais sans le côté pénible 🙂</p>



<p class="has-text-align-left wp-block-paragraph">Le mot de la fin…</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Si je vous dis EORI ? L-O-L-I-T-A, moi LOLITA ! Dommage vous avez un problème de devise avec Jean-Eude. Vous pouvez vous refaire avec le super banco ou piocher une carte mauvaise fois. Je vais prendre l&rsquo;esquimau.</em> <em>Vous avez de la chance il a bien le baton.</em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>


<ol class="wp-block-footnotes"><li id="b5e4d1ab-5f21-4a76-87a4-823a358d4f5e"><strong>CPU</strong> : Central Processing Unit <a href="#b5e4d1ab-5f21-4a76-87a4-823a358d4f5e-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="ccf7caac-35b6-4303-b436-9742abaa6147"><strong>DIMM</strong> : Dual In-line Memory Module <a href="#ccf7caac-35b6-4303-b436-9742abaa6147-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="a6b56898-6069-4c7f-bd2c-754639970629"><strong>GEN</strong> :Génération  <a href="#a6b56898-6069-4c7f-bd2c-754639970629-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="08aff369-da65-42ea-b495-3b27b953e0f4"><strong>EOL</strong> : End Of Life <a href="#08aff369-da65-42ea-b495-3b27b953e0f4-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="85bdb748-16d1-4ffd-9290-e0b3e70e03fb"><strong>HCI</strong> : Hyperconvergence Infrastructures <a href="#85bdb748-16d1-4ffd-9290-e0b3e70e03fb-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="15d1c3f1-996f-47f5-aea5-36765342151c"><strong>TCO</strong> : Total Cost Ownership <a href="#15d1c3f1-996f-47f5-aea5-36765342151c-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="b005a5cb-1913-4cc2-9d01-ef1088fa3cd5"><strong>STDI</strong> : Standard Infrastructure <a href="#b005a5cb-1913-4cc2-9d01-ef1088fa3cd5-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="a2fd2ead-d386-4c9d-bf7d-8a7dfa2f9e0a"><strong>BOM</strong> : Bill Of Materials  <a href="#a2fd2ead-d386-4c9d-bf7d-8a7dfa2f9e0a-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="95f7b68f-a731-48b2-b04a-b7f5c7c56241"><strong>EOS</strong> : End Of Sale  <a href="#95f7b68f-a731-48b2-b04a-b7f5c7c56241-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="753d1c80-33d3-4b55-842a-df0cef97b9c0"><strong>SSD</strong> : Solid State Drive <a href="#753d1c80-33d3-4b55-842a-df0cef97b9c0-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li><li id="ba7a37ec-f566-4b10-88c6-42219f88ffa2"><strong>HDD</strong> : Hard Disk Drive <a href="#ba7a37ec-f566-4b10-88c6-42219f88ffa2-link" aria-label="Aller à la note de bas de page 11">↩︎</a></li><li id="705346a8-3652-4ea3-aefe-b866234e9691"><strong>NVMe</strong> : Non Volatile Memory Express <a href="#705346a8-3652-4ea3-aefe-b866234e9691-link" aria-label="Aller à la note de bas de page 12">↩︎</a></li><li id="4e70c28c-8320-4ef9-9d3d-5233d3c8256b"><strong>ESN</strong> : Entreprise de Services Numériques <a href="#4e70c28c-8320-4ef9-9d3d-5233d3c8256b-link" aria-label="Aller à la note de bas de page 13">↩︎</a></li><li id="e6c3319b-0dc5-448b-8b3f-0d9c4892d47b"><strong>LAG </strong>: Link Aggregation <a href="#e6c3319b-0dc5-448b-8b3f-0d9c4892d47b-link" aria-label="Aller à la note de bas de page 14">↩︎</a></li><li id="c545484d-fe77-42fa-9f58-304b0a559850"><strong>MLAG</strong> : Multi Link Aggregation  <a href="#c545484d-fe77-42fa-9f58-304b0a559850-link" aria-label="Aller à la note de bas de page 15">↩︎</a></li><li id="41ad41ca-3926-483c-9acf-e3a6b066cdb0"><strong>MAC</strong> : Media Access Control  <a href="#41ad41ca-3926-483c-9acf-e3a6b066cdb0-link" aria-label="Aller à la note de bas de page 16">↩︎</a></li><li id="060df10d-2a91-4fe5-a790-8bd42b3a858b"><strong>SE</strong> : Système d&rsquo;Exploitation  <a href="#060df10d-2a91-4fe5-a790-8bd42b3a858b-link" aria-label="Aller à la note de bas de page 17">↩︎</a></li><li id="8a46aa9a-a948-44fe-bb49-201900df4bd5"><strong>R&amp;D :</strong> Recherche et Développement <a href="#8a46aa9a-a948-44fe-bb49-201900df4bd5-link" aria-label="Aller à la note de bas de page 18">↩︎</a></li><li id="1cef3730-7731-43a4-adfe-a0993fd225a7"><strong>IOM</strong> : Controller Node <a href="#1cef3730-7731-43a4-adfe-a0993fd225a7-link" aria-label="Aller à la note de bas de page 19">↩︎</a></li><li id="faff77a4-870f-4a1b-b6a1-0c918d263979"><strong>DC</strong> : Datacenter <a href="#faff77a4-870f-4a1b-b6a1-0c918d263979-link" aria-label="Aller à la note de bas de page 20">↩︎</a></li><li id="c080cc74-8d47-4476-81f7-2b45bc3369c9"><strong>TVA</strong> : Taxe Valeur Ajoutée <a href="#c080cc74-8d47-4476-81f7-2b45bc3369c9-link" aria-label="Aller à la note de bas de page 21">↩︎</a></li><li id="953a49d0-309b-478c-96f6-fb9e2a42792a"><strong>SIRET</strong> : Système d&rsquo;Identification du Répertoire des Etablissements <a href="#953a49d0-309b-478c-96f6-fb9e2a42792a-link" aria-label="Aller à la note de bas de page 22">↩︎</a></li><li id="1b702de6-bd05-4df4-8eb2-e1423d7b5fd5"><strong>EORI</strong> : Economic Operator Registration and Identification  <a href="#1b702de6-bd05-4df4-8eb2-e1423d7b5fd5-link" aria-label="Aller à la note de bas de page 23">↩︎</a></li><li id="09929c59-32ff-42ce-9b87-664e36cdda7d"><strong>SLAs</strong> : Service Level Agreement <a href="#09929c59-32ff-42ce-9b87-664e36cdda7d-link" aria-label="Aller à la note de bas de page 24">↩︎</a></li><li id="91b83757-d6d5-4c17-aeab-487a0ee040a2"><strong>SFP+</strong> : Small Form Factor Pluggable (10Gbps)  <a href="#91b83757-d6d5-4c17-aeab-487a0ee040a2-link" aria-label="Aller à la note de bas de page 25">↩︎</a></li><li id="ad316044-f65c-41fc-87a9-ab47782b4cfc"><strong>SFP28</strong> : Small Form Factor Pluggable (25Gbps) <a href="#ad316044-f65c-41fc-87a9-ab47782b4cfc-link" aria-label="Aller à la note de bas de page 26">↩︎</a></li><li id="a2e1bcec-b7e4-4805-85f6-61603b594fa4"><strong>DDR4</strong> : Double Data Rate Fourth Generation  <a href="#a2e1bcec-b7e4-4805-85f6-61603b594fa4-link" aria-label="Aller à la note de bas de page 27">↩︎</a></li><li id="95d522f4-5336-452c-bc39-4790c12034b1"><strong>DDR5</strong> : Double Data Rate Fifth Generation <a href="#95d522f4-5336-452c-bc39-4790c12034b1-link" aria-label="Aller à la note de bas de page 28">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cahier 2 : CryptoDate &#038; CryptoLove</title>
		<link>https://erwanguillemard.com/cahier-2-cryptodate-cryptolove/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Mon, 10 Jun 2024 20:19:00 +0000</pubDate>
				<category><![CDATA[Chronique d'un Sys Admin]]></category>
		<category><![CDATA[Chronique]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=2097</guid>

					<description><![CDATA[Le temps passe, ça nous ramènera pas CARLOS tout ça&#8230; TRUST aurait plutôt dit « Ce temps perdu que l&#8217;on ne rattrape plus« . Bref, je me suis souvenu récemment de la rencontre avec ma compagne et je me suis dit que cela n&#8217;était pas incompatible avec les Chroniques d&#8217;un SysAdmin. Volontairement, aucuns noms, sociétés, marques, lieux...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Le temps passe, ça nous ramènera pas CARLOS tout ça&#8230; TRUST aurait plutôt dit « <a href="https://www.youtube.com/watch?v=SxGXXgGgRWc&amp;ab_channel=trustofficiel">Ce temps perdu que l&rsquo;on ne rattrape plus</a>« . Bref, je me suis souvenu récemment de la rencontre avec ma compagne et je me suis dit que cela n&rsquo;était pas incompatible avec les Chroniques d&rsquo;un SysAdmin.</p>



<p class="wp-block-paragraph">Volontairement, aucuns noms, sociétés, marques, lieux et dates ne seront cités.</p>





<h2 class="wp-block-heading">Contexte et avertissements</h2>



<p class="wp-block-paragraph">A cette époque, je n&rsquo;étais pas encore diplômé et donc sur la fin de mon alternance. Cette année là il faisait chaud très chaud.</p>



<p class="has-text-align-center wp-block-paragraph"><em>J&rsquo;ai envie de te dire c&rsquo;est un peu un leitmotiv de ces dernières années&#8230; On croirait entendre ce bon vieux JPP nous annoncer au JT de 13h « Et oui c&rsquo;est la canicule. Allons voir Ginette et Paul-Edouard dans l&rsquo;arrière pays niçois nous divulguer leurs secrets. Mon mari tourne au pastis et moi je suce des glaçons. Merci pour ces précieux conseils qui je le crois seront appliqués par de nombreux concitoyens. » </em></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://www.europe1.fr/medias-tele/le-dernier-jt-de-jean-pierre-pernaut-a-rassemble-plus-de-8-millions-de-telespectateurs-4013509"><img loading="lazy" decoding="async" width="1024" height="512" src="https://erwanguillemard.com/wp-content/uploads/2024/06/MM_002_002_JPP-1024x512.jpg" alt="" class="wp-image-2107" srcset="https://erwanguillemard.com/wp-content/uploads/2024/06/MM_002_002_JPP-1024x512.jpg 1024w, https://erwanguillemard.com/wp-content/uploads/2024/06/MM_002_002_JPP-300x150.jpg 300w, https://erwanguillemard.com/wp-content/uploads/2024/06/MM_002_002_JPP-768x384.jpg 768w, https://erwanguillemard.com/wp-content/uploads/2024/06/MM_002_002_JPP-1536x768.jpg 1536w, https://erwanguillemard.com/wp-content/uploads/2024/06/MM_002_002_JPP.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="wp-block-paragraph">Bref je divague. A ce temps reculé de mes premiers pas de SysAdmin, j&rsquo;avais en charge deux clients. Une petite organisation de 30 utilisateurs et une grande organisation de 160 utilisateurs. C&rsquo;est pas mal pour commencer et faire ces armes. Un peu stressant car les jeunes loups qui sortent de l&rsquo;école veulent montrer à leurs ainés qu&rsquo;ils sont à la hauteur des responsabilités qui leurs sont confiées.</p>



<p class="wp-block-paragraph">C&rsquo;est ainsi que du statuts « <strong>J&rsquo;ai pas de vie, je suis étudiant en informatique</strong> » je suis passé à (<em>Attention, la phrase qui va suivre va vous demander un profonde inspiration. Cette dernière doit être lu rapidement à la manière de tous les influenceurs des années 2024</em>) « <strong>J&rsquo;ai pas de vie, je suis étudiant qui rédige un mémoire en insertion professionnelle en attente de valider mon cursus universitaire toute en continuant de me griller les neurones sur les pixels de jeu vidéo et les soirées karaokés à m&rsquo;enfiler des picons bières et des Gins Tonics</strong>« . CHEH !</p>



<p class="wp-block-paragraph">C&rsquo;est comme ça que j&rsquo;ai pu atteindre des performances qui rentre toujours dans le top 10 de mes plus beaux états éthyliques.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>NOTE D&rsquo;INFORMATIONS : </strong><br>Avant que les associations anti-alcools, anti-tabacs, anti-étudiants, anti-sysadmins, anti-soirées, anti-karaokée, anti-anti et fanclub d&rsquo;Isabelle NANTY ne me tombent dessus pour apologie d&rsquo;ivresse et de consommation d&rsquo;alcool sur la voie publique (et des plus beaux titres de variétés françaises massacrés). Je tiens à signaler que je ne suis pas un modèle, ni un exemple et quand aucun cas je n&rsquo;encourage à la consommation d&rsquo;alcool. J&rsquo;ai pour livre de chevet la première édition de la <a href="https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000000344577">loi Evin</a> du 10 Janvier 1991 dédicacé par Michel ROCARD (<a href="https://www.youtube.com/watch?v=b9G7a8W7wFs&amp;ab_channel=LesGuignols">Mauf Makapuf</a>) en personne.<br>#toujourspassobre?</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Je reprends donc où j&rsquo;en étais. Le côté pile « professionnel » de ma vie étant posé, passons au côté face « personnel ».</p>



<p class="wp-block-paragraph">Il est difficile pour un étudiant dans une petite ville qu&rsquo;il ne connait pas de faire des connaissances et encore plus quand il est en étude d&rsquo;informatique. C&rsquo;est partir direct avec un malus de -10% dans une conversation où faire un échec critique dans <em>Dungeons &amp; Dragons</em> en montant des escaliers.</p>



<p class="wp-block-paragraph">Je me suis alors tourné vers la technique de nos aïeux pour « courir la fille » et pas finir « vieux gars ». J&rsquo;ai fait les petites annonces du Journal de Saône et Loire. J&rsquo;ai été peut-être été un peu ambitieux et optimiste&#8230; Je me suis tourné vers les petits annonces du <a href="https://fr.wikipedia.org/wiki/Le_Chasseur_fran%C3%A7ais">Chasseur Français</a>. Là encore, c&rsquo;est en regardant la date de parution des magazines que j&rsquo;avais posé des lapins ou qu&rsquo;on ne m&rsquo;avait pas attendu&#8230; Heureusement, l&rsquo;essor de l&rsquo;INTERNET des INTERNET à vu évoluer une multitudes de nouveau Chasseur Français version 2.0. 🙂 (Il raconte sa life, mais on s&rsquo;en fout. Ce qui il y a 20 ans pouvait se traduire par RTL, OSEF).</p>



<p class="wp-block-paragraph">Maintenant que nous avons bien décrit les deux faces de notre pièce. Faisons tourner cette dernière sur la tranche.</p>



<p class="wp-block-paragraph">Difficile alors à notre pièce de trouver un équilibre entre vie professionnelle et personnelle. Voilà le piège <a href="https://www.youtube.com/watch?v=mdW6OZGv4LU&amp;ab_channel=RolandMunch">des jeunes qui n&rsquo;en veulent trop</a>. Ne plus savoir comment positionner ce curseur et donc terminer comme <a href="https://fr.wikipedia.org/wiki/Catastrophe_du_mont_Sainte-Odile">A320 F-GGED sur le mont Saint-Odile</a>. Je reviendrai plus tard sur ce point.</p>



<h2 class="wp-block-heading">H-10h00 : Journée de rêve (avant THE DATE)</h2>



<p class="wp-block-paragraph">Ce jour là, un vendredi de Juin (sinon ce n&rsquo;est pas drôle). J&rsquo;étais tout content car j&rsquo;avais rencard en début de soirée avec une jeune et charmante demoiselle. La journée se passait à merveille, entre impatience et angoisse de la première rencontre.</p>



<p class="wp-block-paragraph">Je vous ai déjà dit que j&rsquo;étais un p****n de chat noir ? Vous l&rsquo;voyez venir l&rsquo;élément perturbateur ?</p>



<h2 class="wp-block-heading">H-02h30 : Combo-breaker de rêve (avant THE DATE) </h2>



<p class="wp-block-paragraph">15h30, notre centre de service m&rsquo;informe que mon petit client ne peut plus ouvrir ces fichiers. L&rsquo;ensemble de ces derniers ont une extension bizarre&#8230; Ce qui semblait être une bonne journée commençait à tourner mal. Un peu comme un novice qui s&rsquo;improvise derviche tourneur soit ça passe ou ça termine en festival de gerbe&#8230;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Comme disait Monsieur le frère du roi, le supplice du pal est un jeu qui commence si bien et qui finit si mal</em></p>
<cite><em> Angélique et le Roy, en parlant de Philippe d&rsquo;Orléans</em></cite></blockquote>



<p class="wp-block-paragraph">Après une courte investigation, j&rsquo;ai un crypto le jour de mon date&#8230; Je sais que je suis marron. Ce n&rsquo;est pas le genre d&rsquo;incident qui se solde en 1 heure et il faut agir vite. C&rsquo;est un incident critique. Encore une fois, je ne suis pas seul et mon supérieur de l&rsquo;époque me donne un coup de main. </p>



<p class="wp-block-paragraph">Nous isolons donc le serveur du réseau, identifions la session et donc le poste de l&rsquo;utilisatrice qui a initié le chiffrement des données.</p>



<p class="wp-block-paragraph">A cet instant, il est important je pense de le signaler, nous étions au tout début de ce type de virus. Les mécanismes étaient donc moins sophistiqués que les virus que nous rencontrons de nos jours. Il suffisait donc de regarder le propriétaire des documents fraichement chiffrés pour connaitre le patient zéro. En somme un Cluedo contemporain pour les SysAdmins.</p>



<p class="wp-block-paragraph">Bon et maintenant que le poste de l&rsquo;utilisatrice est éteint, que le serveur de fichiers est isolé du réseau et que tous les utilisateurs de mon clients sont en week-end forcés, <strong>K&rsquo;est Ce K&rsquo;On Fait ?</strong></p>



<h2 class="wp-block-heading">H-01h30 : Good Luck &amp; Have Fun (avant THE DATE) </h2>



<p class="wp-block-paragraph">Mon supérieur m&rsquo;invite gentiment à 16h30 d&rsquo;aller consulter notre Direction Technique. Le week end de mon directeur régional va commencer et un impératif ne lui permet pas de rester. Ne jugez pas trop vite son comportement, VOUS lecteur ! Je n&rsquo;ai jamais eu de reproche à son égard quant à cet incident et il a choisit de faire tomber la pièce côté perso plutôt que du côté pro. Et honnêtement, qu&rsquo;est ce qu&rsquo;il aurait fait de plus à part me regarder et attendre ? Réponse, rien.</p>



<p class="wp-block-paragraph">Effectivement, la seule solution viable et de m&rsquo;en remettre aux mains et savoir de notre « expert » technique. (Pourquoi des guillemets autour du terme expert ? Cette personne ne s&rsquo;est jamais considéré comme expert, mais ces compétences et savoir ont fait de lui lorsque nous travaillons ensemble le référent de tous les projets et situations critiques. Je le gratifie donc d&rsquo;expert #coeuraveclesmains si tu te reconnais et que tu lis cet article).</p>



<p class="wp-block-paragraph">Je vais donc voir ce collègue, qui n&rsquo;est pas emballé par la chose car c&rsquo;est en fin de journée et que c&rsquo;est le week end blablablabla. Comportement normal. Mais c&rsquo;est le sens du service qui prime. De mon côté, l&rsquo;heure tourne et il y a mon rendez-vous galant&#8230; Intérieurement, je me demande si ça passe le coup du SMS « <strong>Salut, je peux pas venir j&rsquo;ai un crypto, j&rsquo;en ai pour le week end. On reporte ?</strong> » <a href="https://www.youtube.com/watch?v=J1-JmvaT2WU&amp;ab_channel=standestv">#lol #xptdr #pdr #looser</a></p>



<p class="wp-block-paragraph">Mon collègue m&rsquo;informe qu&rsquo;avant toutes choses, il faut s&rsquo;assurer de savoir comment le chiffrement a eu lieu, quand etc. Est ce réversible ? Ma sauvegarde est elle viable ? Il me pose une tonne de question. Je veux juste répondre « <strong>J&rsquo;ai un date à 18h00&#8230;</strong> » mais je ne dis rien.</p>



<p class="wp-block-paragraph">Les informations que je dispose à ce moment sont :</p>



<ul class="wp-block-list">
<li>Le virus semble venir d&rsquo;une navigation web ou d&rsquo;un email</li>



<li>Le reste du SI n&rsquo;est pas impacté</li>



<li>La première analyse antivirus sur les serveurs n&rsquo;ayant rien trouvé sur les autres serveurs</li>



<li>Les droits et permissions sur le serveur de fichiers sont bien fait, mais trop permissif, l&rsquo;ensemble des répertoires sont touchés. Hormis quelques répertoires type Directions, Comptabilités.</li>



<li>Le serveur est isolé, le poste fixe éteint.</li>
</ul>



<h2 class="wp-block-heading">H-00h10 : Négociations et Accord de Charnay (avant THE DATE) </h2>



<p class="wp-block-paragraph">17h50, il me dit (en soupirant) « Bon, il faut restaurer depuis la sauvegarde l&rsquo;intégralité du serveur en parallèle de la production. Faire l&rsquo;analyse afin de s&rsquo;assurer que cela ne va pas chiffrer de nouveau l&rsquo;ensemble des données. Va te chercher une chaise ». Là je n&rsquo;en peux plus et je lui explique que je ne peux pas. Je vous laisse imaginer la situation.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>MON client rencontre un incident critique, JE demande de l&rsquo;aide <strong>auprès d&rsquo;un autre service</strong></strong> <strong>pour me sortir de cette mauvaise passe. Le collègue qui me porte assistance et à qui le début de weekend est foutu vient de se prendre un royal NON JE NE PEUX PAS J&rsquo;AI UN DATE. </strong></p>



<p class="has-text-align-left wp-block-paragraph">Il ne veut pas, je ne veux pas. Il voit vite que cela compte beaucoup. Nous finissons par trouver un terrain d&rsquo;entente et comme à Téhéran en 1943, nous concluons à une accord. </p>



<p class="has-text-align-left wp-block-paragraph">Il va continuer l&rsquo;analyse et lancer la restauration du serveur. Je prendrai la suite après mon date et je me tiens disponible par téléphone toute la soirée et le week end. Je le remercie chaudement (et le remercie toujours d&rsquo;ailleurs) sauf qu&rsquo;il est 18h05 et je suis encore au boulot&#8230;</p>



<h2 class="wp-block-heading">H+00h05 : Je suis l&rsquo;aigle de la route (en retard pour THE DATE)</h2>



<p class="has-text-align-left wp-block-paragraph">Je saute dans mon bolide, une MITO à l&rsquo;époque. Et me magne de me rendre au point de chute, euh disons plutôt rendez-vous. L&rsquo;intérieur de l&rsquo;habitacle est brulant. Je sens mon parfum tellement je suis en nage&#8230; Je suis en sueur comme Mel GIBSON dans MAD MAX avant de monter dans les tours. (Dommage, le film a mal vieillit. D&rsquo;ailleurs, savez vous que la mort d&rsquo;un des cascadeurs est filmé et diffusé (<a href="https://www.youtube.com/watch?v=JQCqyrWoIEs&amp;ab_channel=Pamberjack">à 1:15</a>) ?)</p>



<h2 class="wp-block-heading">H+00h15 : C&rsquo;est pas moi c&rsquo;est le crypto (à l&rsquo;heure du V&amp;B pour THE DATE)</h2>



<p class="has-text-align-left wp-block-paragraph">J&rsquo;arrive à mon rendez-vous à 18h15. Je suis en sueur car avec la canicule il fait pas loin des 40°C et pour plaire j&rsquo;ai mis mon plus beau polo du stade toulousain à manches longues (oui je ne suis pas le SysAdmin le plus riche en CPU). Je présente mes excuses pour le retard à cette charmante jeune femme qui patiente depuis 15 minutes devant le bar/taverne et qui pensait avoir pris un <a href="https://www.youtube.com/watch?v=oM_kzT1TuQY&amp;ab_channel=Kozanowski">lapin</a>. </p>



<p class="has-text-align-left wp-block-paragraph">Je lui explique la situation et je crois qu&rsquo;elle n&rsquo;a toujours pas compris car je ne me suis même pas compris moi-même. Mais bon j&rsquo;étais là (et ton collègue en train de taffer co****d BOUH BOUH BOUH ! Jetez lui des petits cailloux bien aiguisés !)</p>



<p class="has-text-align-left wp-block-paragraph">Nous entrons dans le bar, commandons deux pintes de GUINESS et&#8230;</p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-8e628e5f61ce4e6493a39fd45baa1dd4 wp-block-paragraph" style="color:#fa0101">Objection Monsieur Le Président, mon client ici dans cet article n&rsquo;a pas a donner plus de précision sur ce moment car cela n&rsquo;apporte pas d&rsquo;élément concret à l&rsquo;incident d&rsquo;infrastructure rencontré. </p>



<p class="has-text-align-center has-theme-palette-2-color has-text-color has-link-color wp-elements-c71f0d0932b591af7fd39d6c9e1e2141 wp-block-paragraph">Objection accordée </p>



<p class="wp-block-paragraph">Nous décidons après le verre/les verres [rayer la mention inutile], de ne faire qu&rsquo;une voiture et d&rsquo;aller chercher de quoi diner. Au vu des températures, nous avions décidé de manger aux bords d&rsquo;un lac. (Bonne idée pour les moustiques, je suis comme un tireuse à bière dans un festival de métal). Nous prenons donc <em>The Italian Bolid.</em></p>



<h2 class="wp-block-heading">H+04h42 : Ras Le Bol, Mosquitos et burger (THE DATE) </h2>



<p class="wp-block-paragraph">En nous rendant au lac, un appel entrant. Il est 22h42 (c&rsquo;est marrant nous retrouvons toujours <a href="https://www.youtube.com/watch?v=T-GQCAfWnYg&amp;ab_channel=drhouse491">la réponse à la vie</a> dans les grands moments). Je me souviens des premiers mots de mon collègue qui ne sait pas que je ne suis pas seul dans le véhicule. </p>



<p class="has-text-align-center wp-block-paragraph"><strong>« Euh j&rsquo;en ai plein le cul ! Ton serveur est volumineux et ça prend trop de temps. Tu dois avoir un goulot d&rsquo;étranglement sur ton réseau, mais c&rsquo;est en cours&#8230;. » </strong></p>



<p class="has-text-align-left wp-block-paragraph">Il me donne les consignes et fin de l&rsquo;appel. Franchement, l&rsquo;appel tombe à pic et montre que je ne suis pas un myto au volant de ma MITO (rime riche, tu peux te cacher Francis LALANE).</p>



<p class="wp-block-paragraph">Le pourquoi du comment des problèmes liés à la restauration de la sauvegarde sont justifiés par deux choses. </p>



<ul class="wp-block-list">
<li>Nous avions convenu au vu de la situation et de l&rsquo;analyse réalisée en amont, que nous devions tout de même sauvegarder le SI.</li>



<li>L&rsquo;équipement servant de repository n&rsquo;était pas sur un switch d&rsquo;infrastructure mais de distribution.</li>
</ul>



<p class="wp-block-paragraph">La sauvegarde était passée et la restauration en cours, dans tous les cas je devais attendre et je n&rsquo;avais rien à faire d&rsquo;autre.</p>



<p class="wp-block-paragraph">Ensuite, nous <a href="https://www.youtube.com/watch?v=BsS9KrjE99E&amp;ab_channel=TOPGENERIQUES">asadasjkbirugruebgk eurnjunqjsdnjq juqsnhjnqkljnqs bbbzzzzz zbzzbbzbzbbzbbz</a></p>



<h2 class="wp-block-heading">H+10h00 : Fin du Bal, on ferme ! (End of THE DATE)</h2>



<p class="wp-block-paragraph">Samedi, 04 heures du matin, la sauvegarde est toujours en cours de restauration. Elle devrait se terminer d&rsquo;ici quelques heures. Je pars donc me coucher. La douce est merveilleuse jeune femme est rentrée chez elle il y a quelques heures déjà.</p>



<p class="wp-block-paragraph">Il ne reste plus qu&rsquo;à être <a href="https://www.youtube.com/watch?v=ErvgV4P6Fzc&amp;ab_channel=GunsNRosesVEVO">Patient</a>&#8230;</p>



<h2 class="wp-block-heading"><strong>H+14h30 : Contorsionniste et grosse fatique (Dream of new DATE)</strong></h2>



<p class="wp-block-paragraph">4 Heures et plus ou moins 30 minutes plus tard, (soit 8h30) le serveur restauré est sous tension et l&rsquo;analyse reprend. J&rsquo;ai tellement la tête dans le c*l que je pourrai être contorsionniste au cirque PINDER.</p>



<p class="wp-block-paragraph">Je ne note pas d&rsquo;anomalie dans les journaux d&rsquo;événements du serveur (c&rsquo;est marrant j&rsquo;ai encore le nom de celui-ci en tête ainsi que de ça volumétrie juste pour les datas) et aucune extension bizarre n&rsquo;est présente. L&rsquo;incident est donc résolu.</p>



<p class="wp-block-paragraph">J&rsquo;attends tout de même quelques heures avant de contacter mon collègue. Je l&rsquo;ai remercié chaudement pour les actions réalisées la veille ainsi que de m&rsquo;avoir permis d&rsquo;assurer ma rencontre avec ELLE. Sans suivra ensuite les communications aux utilisateurs ainsi qu&rsquo;au client sans oublier les communications internes. Dans ce genre d&rsquo;incident la communication est la pierre angulaire et le liant vers le succès.</p>



<p class="wp-block-paragraph">Mon responsable du moment à la formule suivante </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>La communication nous devons la maitriser et non la subir</em></p>
<cite><em>Un directeur d&rsquo;agence qui se reconnaitra</em></cite></blockquote>



<p class="wp-block-paragraph">C&rsquo;est cette dernière qui rappelle ce pourquoi telle ESN fait la différence avec une autre.</p>



<p class="wp-block-paragraph">Je passe le reste du week end tranquille. J&rsquo;ai finalement atteint mes objectifs personnels et professionnels. Bien que j&rsquo;aimerai bien revoir cette charmante jeune fille sans avoir en arrière pensée des états d&rsquo;âmes professionnels.</p>



<h2 class="wp-block-heading">H+&#8230;&#8230; : Violences empathiques (Pléonasmes élégants)</h2>



<p class="wp-block-paragraph">Le Lundi qui suit, nous nous rendons avec mon binôme chez le client pour questionner un peu plus l&rsquo;utilisatrice à l&rsquo;origine de l&rsquo;incident et vérifier son poste. </p>



<p class="wp-block-paragraph">Je me souviens avoir eu un comportement ainsi que des paroles hautaines et déplacés. « <strong>Ouai, elle va m&rsquo;entendre cette c****e. Ca m&rsquo;a fait c***r. Va falloir qu&rsquo;elle se rende compte de l&rsquo;impact et des conséquences de ces actes&#8230;</strong> » </p>



<p class="wp-block-paragraph">Mon collègue qui à l&rsquo;époque était technicien sur le contrat (qui deviendra par la suite l&rsquo;un de mes modèles et l&rsquo;un des mes supérieurs) m&rsquo;avait sérieusement recadré dans la voiture quant à mon attitude et mes propos.</p>



<p class="wp-block-paragraph">Finalement je ne suis qu&rsquo;un jeune loupio qui jappe, je suis même pas encore sorti de l&rsquo;école. Je n&rsquo;ai pas l&rsquo;expérience du terrain et je crois tout savoir de la vie professionnel. Comme le dirai ma grand-mère :</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Mais tais toi donc !</em></p>
<cite>La Grand-Mère de l&rsquo;auteur</cite></blockquote>



<p class="wp-block-paragraph">Mon collègue avait raison. J&rsquo;étais qu&rsquo;une m***e qui n&rsquo;avait pas bien compris le sens du mot Service et de l&rsquo;accompagnement des utilisateurs et du respect.</p>



<p class="wp-block-paragraph">Une fois sur site, l&rsquo;utilisatrice avait pleinement conscience de ce qu&rsquo;elle avait généré en terme d&rsquo;impact. Elle avait juste ouvert un mail. Elle était désolé. C&rsquo;est là que mon empathie m&rsquo;a fait comprendre que ça ne servait à rien de remuer le couteau dans la plaie et qu&rsquo;au final la situation était résolu. J&rsquo;étais donc bien un trou du c*l en train de prendre le melon. Mais le melon de quoi ? De moi, responsable informatique ? Le SysAdmin&#8230; C&rsquo;est MOI ! </p>



<p class="wp-block-paragraph">L&rsquo;organisation à perdu 2 jours de travail. </p>



<p class="has-text-align-center wp-block-paragraph"><strong>Ah bon tu es certain de ça ? Ils ont perdu qu&rsquo;une journée car vous avez restauré la sauvegarde à J-1, donc Jeudi au soir. </strong></p>



<p class="wp-block-paragraph">Sur le papier c&rsquo;est vrai. Dans l&rsquo;organisation, ils ont perdu l&rsquo;ensemble du travail effectué le Vendredi. Donc il va falloir faire la journée de travail du Lundi et refaire le travail effectué le Vendredi qui a été perdu.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">Depuis, les antivirus ont bien évolués et prennent maintenant bien en charge les virus de nature cryptographique. Bien que ce soit toujours le jeu du chat et de la souris entre les attaquants et les éditeurs de sécurité. L&rsquo;activité du client est bien reparti et les engagements de services sont respectés.</p>



<p class="wp-block-paragraph">Il est important d&rsquo;avoir l&rsquo;architecture, la topographie réseau adéquate pour ces équipements d&rsquo;infrastructure. Premièrement pour assurer les meilleures performances lors de la sauvegarde ou restauration du SI. Deuxièmement pour garantir un niveau de sécurité satisfaisant (Firewall avec IPS ou IDS). </p>



<p class="wp-block-paragraph">Je ne mets pas de côté non plus la gestion des droits d&rsquo;accès ainsi que la matrice des droits quant à la gestion documentaire (serveur de fichiers). Il revient toujours de se poser la question, est-ce que ce service ou utilisateur doit avoir accès à ce répertoire ? Doit il vraiment avoir les droits de lecture/écriture ou les droits de lecture seule suffisent ?</p>



<p class="wp-block-paragraph">Il y a peu, je discutais avec l&rsquo;un des mes collègues de cette situation personnelle. Il m&rsquo;a demandé ce que m&rsquo;avait apporté l&rsquo;investissement et le temps que j&rsquo;ai donnée à mon client à la suite de cet incident vis à vis de ma vie personnelle ?</p>



<p class="wp-block-paragraph">Et bien sans mon collègue de la Direction Technique, je ne serai sans aucun doute là où j&rsquo;en suis aujourd&rsquo;hui. Car c&rsquo;est avec notre <strong>Accord</strong> que j&rsquo;ai pu faire tomber la pièce du côté personnel et donc rencontrer cette charmante demoiselle qui est devenu par la suite la charmante compagne qui se trouve à mes côtés. (Au premier degré puis que nos bureaux sont l&rsquo;un à côté de l&rsquo;autre à la maison 🙂 ).</p>



<p class="wp-block-paragraph">Egalement et je le pense vraiment, il est important de bien encadrer et d&rsquo;accompagner les jeunes loups lors de leurs premiers pas dans le monde professionnel. Tout reste à apprendre et il est nécessaire de nous enseigner l&rsquo;humilité ou de nous le rappeler. Quitte à montrer les dents de temps à autres.</p>



<p class="wp-block-paragraph">Comme quoi, tout est bon dans les cryptos ! &lt;3</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Le mot de la fin :</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>CryptoDate, mais CryptoLove. Impeccable, vous gagner un burger, une Guiness et une <a href="https://www.youtube.com/watch?v=Vv_BvLmSBWg&amp;ab_channel=InaChansons">belle histoire</a></em></p>
<cite>Erwan GUILLEMARD</cite></blockquote>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cahier 1 : Network Disaster</title>
		<link>https://erwanguillemard.com/memory-network-disaster/</link>
		
		<dc:creator><![CDATA[Erwan Guillemard]]></dc:creator>
		<pubDate>Mon, 15 Apr 2024 22:22:00 +0000</pubDate>
				<category><![CDATA[Chronique d'un Sys Admin]]></category>
		<category><![CDATA[Chronique]]></category>
		<guid isPermaLink="false">https://erwanguillemard.com/?p=1854</guid>

					<description><![CDATA[Cet article s&#8217;inscrit dans le projet de compilation de mes « mémoires » personnels quant à toutes mes expériences professionnelles. Ces derniers ont pour objectifs de présenter une situation et d&#8217;apporter les conclusions à ces différentes expériences ainsi que les axes d&#8217;améliorations. Volontairement, aucuns noms, sociétés, marques, lieux et dates ne seront cités. H+0h00min &#8211; Réveil douloureux...]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Cet article s&rsquo;inscrit dans le projet de compilation de mes « mémoires » personnels quant à toutes mes expériences professionnelles. Ces derniers ont pour objectifs de présenter une situation et d&rsquo;apporter les conclusions à ces différentes expériences ainsi que les axes d&rsquo;améliorations.</p>



<p class="wp-block-paragraph">Volontairement, aucuns noms, sociétés, marques, lieux et dates ne seront cités.</p>





<h2 class="wp-block-heading">H+0h00min &#8211; Réveil douloureux</h2>



<p class="wp-block-paragraph">Samedi, 8h30 du matin. Le téléphone professionnel vibre sur ma table de chevet (qu&rsquo;est-ce qu&rsquo;il fout là, d&rsquo;abord). Deux appels manqués, trois notifications de messageries instantanées. Avant même de décrocher, je sais que la journée va être compliquée tout comme mon réveil.</p>



<p class="wp-block-paragraph">Je décroche. Mon collègue et directeur d&rsquo;agence m&rsquo;informe que plusieurs remontées clients nous informent que notre plateforme d&rsquo;hébergement n&rsquo;est plus disponible.</p>



<p class="wp-block-paragraph">Il n&rsquo;en faudra pas plus. Les mots « clients », « hébergement » et « plus disponible » ont remis la machine en marche. Ma « cafetière » (comprendre mon cerveau) tourne à plein régime et hurle tel le moteur diesel qui n&rsquo;a pas eu le temps de chauffer suffisamment. J&rsquo;informe mon collègue que je dois vérifier et réaliser d&rsquo;urgence un diagnostic. Nouveau point de situation dans 30 minutes au plus tard.</p>



<p class="wp-block-paragraph">Dans la plus simple des tenues, les cheveux en bataille j&rsquo;attaque un diagnostic (Tu as vraiment besoin de rentrer aussi loin dans le détail ?).</p>



<ul class="wp-block-list">
<li>Plus d&rsquo;accès à la plateforme par la voie normale</li>



<li>Plus de mail à partir d&rsquo;une certaine heure</li>



<li>Côté FAI<sup data-fn="ce2ac6cb-6c82-4564-85bb-417a3d7fc7d6" class="fn"><a href="#ce2ac6cb-6c82-4564-85bb-417a3d7fc7d6" id="ce2ac6cb-6c82-4564-85bb-417a3d7fc7d6-link">1</a></sup>, rien à signaler</li>



<li>Accès sur l&rsquo;infrastructure de secours par la voie d&rsquo;urgence</li>



<li>Plus d&rsquo;accès aux équipements, isolation de l&rsquo;environnement de secours</li>
</ul>



<p class="wp-block-paragraph"><a href="https://www.youtube.com/watch?v=KG-q7vzxKY8&amp;ab_channel=InaChansons">Allô Maman bobo ?</a></p>



<h2 class="wp-block-heading">H+0h30min &#8211; Diagnostic</h2>



<p class="wp-block-paragraph">Diagnostic effectué. Il y a une anomalie sur notre infrastructure réseau ou de calcul (comprendre infrastructure serveur). Nous sommes aveugles. Nous devons intervenir physiquement sur site. Retour auprès de mon N+1 pour établir le constat. Nous devons intervenir urgemment sur site. L&rsquo;intervention est validée.</p>



<p class="wp-block-paragraph">L&rsquo;équipe sera composée de deux personnes, lui et moi. Nous avons et avions l&rsquo;habitude de travailler ensemble. Chacun sait ce qui doit être fait.</p>



<p class="wp-block-paragraph">Nous nous donnons rendez-vous sur le site du siège à 9h45. Le temps de nous préparer et de mon côté prendre tous équipements, ressources matérielles qui pourraient être utile.</p>



<p class="wp-block-paragraph">Je dis au revoir à ma petite tribu en leur annonçant que je n&rsquo;ai aucune idée de l&rsquo;heure à laquelle je vais rentrer (super excuse pour ne pas faire les corvées hebdomadaires, quoi que j&rsquo;aurai préféré les corvées).</p>



<p class="wp-block-paragraph">De son côté, mon collègue informe le président ainsi que les autres membres de la gouvernance de l&rsquo;incident en cours et de la criticité de ce dernier.</p>



<h2 class="wp-block-heading">H+1h15min &#8211; Plan &amp; route</h2>



<p class="wp-block-paragraph">Après une douche à l&rsquo;arrache, je passe au siège de notre organisation récupérer le carton de fourniture dédié à nos équipements en production. Dans l&rsquo;attente de mon « taxi », je m&rsquo;autorise un café double, double expresso serré (manger les grains de café et les chiquer reviendrait au même) tout en établissant la liste des scénarios possibles d&rsquo;avaries ainsi que toutes les solutions réalisables.</p>



<p class="wp-block-paragraph">Pas le temps de finir mon café, que nous voilà reparti. La journée s&rsquo;annonçait mal et ça semblait se confirmer puisque le GPS nous préconisait un itinéraire de substitution à l&rsquo;itinéraire normal. Peut-être lié à un trafic dense ce weekend là ? Allez savoir&#8230;</p>



<p class="wp-block-paragraph">Durant le trajet comme tout bon fataliste que je suis je présente les pires scénarios potentiels :</p>



<ul class="wp-block-list">
<li>Perte du cluster de production</li>



<li>Perte du réseau</li>



<li>Perte de l&rsquo;ensemble de l&rsquo;environnement</li>
</ul>



<p class="wp-block-paragraph">Toutefois je vis mieux la situation que ce que je le pensais. Même si l&rsquo;éternel optimisme de mon collègue vient à dédramatiser la situation que je véhicule. Je crois et suis même certain que cette qualité de relativisme est un nécessaire indispensable pour un être un bon leader. Un N+1 se doit d&rsquo;être exemplaire et d&rsquo;ouvrir la voie.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Le désespoir est une forme supérieure de la critique. Pour le moment nous l&rsquo;appellerons bonheur</em>.</p>
<cite>Léo Ferré &#8211; La Solitude</cite></blockquote>



<p class="wp-block-paragraph">Bref, notre tandem à toujours fonctionné, pourquoi douter ?</p>



<p class="wp-block-paragraph">En chemin, je déclenche l&rsquo;astreinte de notre prestataire et partenaire. Par le plus grand des hasards, nous connaissons bien la personne d&rsquo;astreinte il n&rsquo;y a pas de problème pour l&rsquo;intervention, nous le contacterons à 5 minutes de notre arrivée sur site.</p>



<h2 class="wp-block-heading">H+2h45min &#8211; Arrivée sur site et&#8230; STOP !</h2>



<p class="wp-block-paragraph">Après une bonne heure et demie de route (itinéraire de substitution oblige), nous arrivâmes sur site. J&rsquo;avais informé notre correspondant 5 minutes avant notre arrivée. Tous semblaient rouler.</p>



<p class="wp-block-paragraph">Je présente mes habilitations auprès du poste de contrôle en introduisant mon binôme non habilité. Douche froide, « <a href="https://fr.wikipedia.org/wiki/60e_r%C3%A9giment_d%27artillerie">On ne passe pas</a> » (hasard ou pas j&rsquo;ai intérieurement ri de la situation). Les agents de sécurité nous ont informé d&rsquo;un incident sur le site qui venait de se produire et nous nous pouvions donc pas intervenir dans le DC. Plus précisément, le TGBT<sup data-fn="824d03dd-6865-47cb-af63-032ac2152715" class="fn"><a href="#824d03dd-6865-47cb-af63-032ac2152715" id="824d03dd-6865-47cb-af63-032ac2152715-link">2</a></sup> venait de prendre feu&#8230;</p>



<p class="wp-block-paragraph">Là concrètement ça la fout mal.</p>



<ol class="wp-block-list">
<li>Nous ne pouvons pas accéder au DC à la suite de l&rsquo;avarie électrique en cours</li>



<li>Nous ne pouvons pas identifier la panne présente sur notre infrastructure</li>



<li>Notre hébergeur et partenaire est bloqué au même niveau que nous</li>



<li>Nous ne pouvons éteindre l&rsquo;infrastructure (si quand bien même elle est disponible) à distance</li>
</ol>



<p class="wp-block-paragraph">Après un rapide échange avec la sécurité, l&rsquo;agent d&rsquo;astreinte, nous devons attendre l&rsquo;intervention d&rsquo;ENEDIS. Au vu de la criticité et de la loi des séries (pour ne pas dire d&#8217;emmerdement maximum), nous engageons notre partenaire et nous les mesures nécessaires. (Je vous avais dit que j&rsquo;étais frappé d&rsquo;infortune ?)</p>



<p class="wp-block-paragraph">Notre PDG n&rsquo;en revient pas, la PDG de notre fournisseur interviendra physiquement sur le site 10 minute après l&rsquo;information de cette nouvelle. Ce qui est, je pense, une nouvelle fois gage d&rsquo;implication et de qualité de service auprès de nous ainsi que de l&rsquo;ensemble de leurs clients. Parenthèse ouverte, les clients trouvent toujours que les services sont trop onéreux, mais dans ce genre de situation ils sont heureux d&rsquo;avoir ce niveau de prestation, d&rsquo;implication et de sérieux. Ceux qui maintiendraient le contraire, je ne leurs souhaite au grand jamais d&rsquo;être confronté à une situation similaire sans avoir ni le son, ni l&rsquo;image de ce qui se trame&#8230; Fermons la parenthèse.</p>



<p class="wp-block-paragraph">Nous sommes donc contraint par cette nouvelle péripétie de tuer le temps. Nous allons déjeuner, le rétablissement des services est estimé entre 30 et 90 minutes.</p>



<h2 class="wp-block-heading">H+3h15min &#8211; Du gras et du froid</h2>



<p class="wp-block-paragraph">D&rsquo;accoutumé, je préfère un repas réconfortant. Intervention loin et technique équivaut à une pinte et un plat riche. Dans le contexte que nous vivons cela se résumera à du sucre, du gras rapidement. En un mot et un seul, FAST-FOOD.</p>



<p class="wp-block-paragraph">Je vous laisse devinez qui est tombé sur la borne qui ne fonctionne pas ? Qui a un burger froid ? Bref. Nous mangeons. Toujours dans la réflexion de ce qui peut se produire sur notre système d&rsquo;information. Difficile de changer de sujet pour ma part et ce malgré les efforts de mon collègue.</p>



<p class="wp-block-paragraph">Le téléphone sonne nous informant que j&rsquo;ai gagné au loto. Ah non faut pas déconner non plus ! Le téléphone sonne m&rsquo;informant que nous pouvons accéder au datacenter et que l&rsquo;alerte relative au TGBT est sous contrôle.</p>



<p class="wp-block-paragraph">J&rsquo;ai raccroché le téléphone. Top à la vachette, 10 minutes après nous étions de nouveau sur site (et en respectant le code de la route).</p>



<h2 class="wp-block-heading">H+3h45min &#8211; Du bruit et des cellules grises</h2>



<p class="wp-block-paragraph">Nous sommes en place. Nous entrons dans le DC<sup data-fn="b49ab528-de22-4f16-85a8-c610d3c65e04" class="fn"><a href="#b49ab528-de22-4f16-85a8-c610d3c65e04" id="b49ab528-de22-4f16-85a8-c610d3c65e04-link">3</a></sup>. Pour partager le sentiment qui me traverse. Imaginez vous à Noël, enfant avant de découvrir vos cadeaux sous le sapin. Inversez le sentiment et vous avez mon ressenti. Mon cœur n&rsquo;est plus dans ma cage thoracique, il gambade dans le hall d&rsquo;entrée, 50 mètres plus loin.</p>



<p class="wp-block-paragraph">Le DC est ok. La température est normale, les alimentations normales. Les baies sont ok, notre baie est ok. Mais ça siffle dans notre baie.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Pour qui sont ces serpents qui sifflent sur vos têtes ?</em></p>
<cite>Jean Racine</cite></blockquote>



<p class="wp-block-paragraph">C&rsquo;est parti pour le check up des équipements, ce n&rsquo;est pas normal.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Et toi qu&rsquo;est que tu regardes en premier chez une femme ? Bah je sais pas je ne regarde que des baies info&#8230;</strong></p>



<p class="wp-block-paragraph">Ma grosse crainte, c&rsquo;est le crash du cluster de serveur. Mais ce dernier visuellement indique que l&rsquo;ensemble des serveurs sont sous tension et fonctionnent. Le cluster de firewall est ok. Par contre le réseau c&rsquo;est « weird » comme le dirait un gars d&rsquo;outre manche&#8230;</p>



<p class="wp-block-paragraph">Nous avons une infrastructure réseau spécifique qui n&rsquo;est pas standard sur les « petites » infrastructures. Généralement pour une PME avec juste un hyperviseur ou une infrastructure HA<sup data-fn="3f33325f-81fe-4705-bc0f-df353c59bea7" class="fn"><a href="#3f33325f-81fe-4705-bc0f-df353c59bea7" id="3f33325f-81fe-4705-bc0f-df353c59bea7-link">4</a></sup> avec une baie de stockage, nous avons un stack de switch de couche 2. Dans le cas d&rsquo;infrastructure hyperconvergée ou importante, nous sommes plus sur des switchs datacenter couche 2, couche 3 voir couche 4. Soit au minimum 2 switchs spines, et 2 switchs leafs.</p>



<p class="has-text-align-center wp-block-paragraph">(En gros, ça donne l&rsquo;architecture classique ci-dessous)</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="478" height="710" src="https://erwanguillemard.com/wp-content/uploads/2024/04/MM_001_001_schemaClassique.jpg" alt="" class="wp-image-1986" style="width:377px;height:auto" srcset="https://erwanguillemard.com/wp-content/uploads/2024/04/MM_001_001_schemaClassique.jpg 478w, https://erwanguillemard.com/wp-content/uploads/2024/04/MM_001_001_schemaClassique-202x300.jpg 202w" sizes="auto, (max-width: 478px) 100vw, 478px" /></figure>
</div>


<p class="wp-block-paragraph">Et c&rsquo;est là qu&rsquo;il semble avoir un problème. Les deux switchs spines sont en orange, les deux leafs sont ok. Naturellement les deux types de switchs sont résilients l&rsquo;un de l&rsquo;autre.</p>



<p class="wp-block-paragraph">Premier diagnostic : La panne se situe au niveau des spines. L&rsquo;infrastructure continue de se voir par commutation au niveau des leafs mais n&rsquo;ont plus accès à la partie supérieurs soit le wawa (www) et les firewalls. Certes, mais qu&rsquo;est ce qui se passe vraiment ?</p>



<p class="wp-block-paragraph">Si je sais bien une chose avec les équipements réseaux, c&rsquo;est qu&rsquo;il est <strong>INDISPENSABLE</strong> pour un <strong>TECHNICIEN</strong> ou <strong>SYSADMIN</strong> d&rsquo;avoir un câble et adaptateur <strong>CONSOLE/SERIE</strong> (le message est clair je pense avec l&rsquo;usage de majuscule). Malheureusement, la loi des séries s&rsquo;abat encore sur ma tronche. Mon adaptateur USB/Série n&rsquo;est pas reconnu ni compatible avec WIN11. <a href="https://www.youtube.com/watch?v=NAEppFUWLfc&amp;ab_channel=SimonGarfunkelVEVO">Hello darkness, my old friend&#8230;</a> Bon mon collègue à un poste en WIN10. Il sauve la mise.</p>



<p class="wp-block-paragraph">Il se connecte sur le premier switch. L&rsquo;affichage du terminal ne nous indique rien de bon&#8230; La ROM<sup data-fn="aee5299b-4f09-416e-a0ae-ff4911dcf981" class="fn"><a href="#aee5299b-4f09-416e-a0ae-ff4911dcf981" id="aee5299b-4f09-416e-a0ae-ff4911dcf981-link">5</a></sup> semble avoir lâchée. Les blocks et les cylindres propres au stockage interne sont perdu, plus de partition. Nous décidons de reboot le premier switch. Si ça sifflait, là maintenant ça hurle ! Le terminal console est complétement perdu. Le boot de l&rsquo;équipement est complétement hors service et boot en boucle.</p>



<p class="wp-block-paragraph">Le premier switch est mort, vive le switch. Passons au second spine.</p>



<p class="wp-block-paragraph">En console de nouveau, les mêmes retours sur le terminal. Afin de valider l&rsquo;interprétation, nous demandons l&rsquo;avis de notre prestataire. Il valide nos craintes. La ROM semble bien HS.</p>



<p class="wp-block-paragraph">Le second switch est mort, vive le switch.</p>



<p class="has-text-align-center wp-block-paragraph">(Ce qui se résume sur le plan architecture par le schéma suivant)</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="475" height="708" src="https://erwanguillemard.com/wp-content/uploads/2024/04/MM_001_002_schemaClassique.jpg" alt="" class="wp-image-1987" style="width:377px" srcset="https://erwanguillemard.com/wp-content/uploads/2024/04/MM_001_002_schemaClassique.jpg 475w, https://erwanguillemard.com/wp-content/uploads/2024/04/MM_001_002_schemaClassique-201x300.jpg 201w" sizes="auto, (max-width: 475px) 100vw, 475px" /></figure>
</div>


<p class="wp-block-paragraph">Conclusion, les deux switchs spines sont mort car les deux roms ont lâché. Cela ne m&rsquo;étonne pas et ça arrive. La probabilité est quasi inexistante pour ne pas dire nulle, mais c&rsquo;est le cas. Les deux équipements ont le même âge et sont proches par leurs numéros de séries. Mais ce n&rsquo;est pas grave, les équipements sont sous garantie avec GTR 4h, 24/24 &#8211; 7/7j.</p>



<p class="wp-block-paragraph">Mais c&rsquo;est beau d&rsquo;avoir une garanti, mais faut il encore l&rsquo;avoir déclenchée et savoir comment elle fonctionne&#8230; C&rsquo;est toujours dans les situations d&rsquo;urgence que nous nous rendons compte que ça coince. Et spoiler, ça va coincer !</p>



<p class="wp-block-paragraph">Nous appelons le support constructeur au US. Ce dernier nous informe qu&rsquo;il n&rsquo;y a pas de problème mais que nos équipements ne sont <strong>PLUS</strong> sous garantie. </p>



<p class="has-text-align-center wp-block-paragraph"><strong>Popop qu&rsquo;est ce que tu nous racontes ! J&rsquo;ai passé un BL et je me suis fait ch**r à le faire toussa toussa.</strong></p>



<p class="wp-block-paragraph">Pour moi s&rsquo;est bien parti à notre fournisseur. Notre interlocuteur américain (si je synthétise) nous répond qu&rsquo;il n&rsquo;y a pas de problème pour intervenir, mais qu&rsquo;il nous faut la facture comme preuve du renouvellement de la garantie.</p>



<p class="wp-block-paragraph">Je vous le donne en mille, où est notre applicatif métier ? Sur l&rsquo;infrastructure qui n&rsquo;est pas joignable (lol, xptdr comme nous le dirait le millénials qui sommeil en moi).</p>



<p class="wp-block-paragraph">Et c&rsquo;est parti pour le grand plongeon dans nos boites mails à base de recherche <em>de:X</em>, <em>objet:Y</em>, <em>a:Z</em> ect. Comme ça ne suffit pas, nous demandons au PDG de se rendre au siège pour trouver le document papier. Nous dérangeons d&rsquo;autres collaboratrices&#8230; Bref après une bonne heure nous arrivons à la conclusion que :</p>



<ul class="wp-block-list">
<li>Le devis nous l&rsquo;avons</li>



<li>Le bon de commande nous l&rsquo;avons</li>



<li>La facture nous ne l&rsquo;avons pas</li>



<li>Le montant relatif au renouvellement de garantie n&rsquo;a jamais été débité</li>
</ul>



<p class="wp-block-paragraph">Vous la voyez la douille ? 🙂 (J&rsquo;en ris maintenant, mais je ne rigolais pas du tout à ce moment).</p>



<p class="wp-block-paragraph">Lors du rencontre avec ce fournisseur, il nous avez été dit la fameuse phrase « <strong><span style="text-decoration: underline;">Vous pouvez m&rsquo;appelez de jour comme de nuit, je vous répondrai !</span></strong>« . Et bien c&rsquo;est ce que nous avons fait. Une fois, deux fois, trois fois sans résultat. Je viens d&rsquo;un milieu professionnel et personnel où lorsque l&rsquo;on donne sa parole, on l&rsquo;a tiens. Quelle déception que cela se perde&#8230; Toutefois nous avons un autre contact chez ce fournisseur (qui nous a tenu le même spitch). Deux appels et nous avons un retour. Le contact comprend notre situation mais ne peut malheureusement rien faire car cela n&rsquo;est pas dans son périmètre. Le contact regarde tout de même ce qui est envisageable de son côté pour éclairer notre lanterne et nous aider. (SPOILER, il n&rsquo;y aura pas de retour car l&rsquo;information ne lui ait pas accessible. Mais nous avons pu compter dessus et c&rsquo;est déjà pas mal vu notre contexte).</p>



<p class="wp-block-paragraph">Résumons, la situation. Nous avons deux équipements hors service. Une extension de garantie qui n&rsquo;est pas valide. Nous avons identifié la panne, mais sans solution de remplacement des équipements défectueux.</p>



<h2 class="wp-block-heading">H+4h45min &#8211; Tandem, Collaboration et Champollion deuxième langue</h2>



<p class="wp-block-paragraph">Nous voilà donc dans une impasse. De l’autre côté, l’incident survenu en parallèle du notre mais décorrélé de toutes incidences nous a permis d’éviter un arrêt total de notre cluster et surtout la présence de la présidente de notre fournisseur ainsi que de l’opérateur d’astreinte.</p>



<p class="wp-block-paragraph">Ces derniers viennent s’informer de notre situation et si nous avons soldé notre panne. Nous leurs expliquons la situation et indiquons que nous réfléchissons à la meilleure porte de sortie possible.</p>



<p class="wp-block-paragraph">Je me souviens de l&rsquo;échange de regard entre nos partenaire qui en un regard se sont compris. S’en est suivi un « <em>Nous pouvons peut-être vous aider ? Qu’est ce qu’il vous faut comme équipement ?</em> ».</p>



<p class="wp-block-paragraph">Cette proposition tombe à point nommé. Toutefois et dans ma nature pessimiste, je me dis que les équipements anciennement fonctionnels sont tellement spécifiques (marque, modèle non dans nos standards avec des performances élevées etc) que ça ne fonctionnera pas. Mon collègue ainsi que notre prestataire ne sont pas de cet avis. Il faut tenter.</p>



<ul class="wp-block-list">
<li><strong>Qu’est ce qu’on a perdre ?</strong> <em>Rien, ça ne fonctionne plus</em> <em>de toute façon</em></li>



<li><strong>Qu’est ce qu’on a à gagner ?</strong> <em>Ca refonctionne mais en dégradé dans le pire des cas.</em></li>
</ul>



<p class="wp-block-paragraph">Nous acceptons donc la proposition et nous voilà avec deux switchs d’une marque et modèle différents. Problème, je ne suis pas à l’aise avec cette marque d’équipement. Le réseau reste le réseau, mais les commandes de configuration varie d’une constructeur à l’autre, du firmware et des modèles dans une même gamme (CISCO != HPE Procurve != ARUBA CX !=  MELLANOX != DELL et nous pourrions continuer&#8230;). Bien que maintenant nous arrivons à une certaine standardisation des configurations avec ce que l’on pourrait appeler des équipements CISCO Like.</p>



<p class="wp-block-paragraph">Je pense maintenant avec le recul que cette situation de crise a été intéressante pour l’opérateur d’astreinte autant que nous.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Comment reprendre la configuration puisque les deux équipements sont HS ?</strong></p>



<p class="wp-block-paragraph">Je suis malchanceux certes, mais prévoyant. J&rsquo;ai dû omettre précédemment un point important lors du diagnostic. Nous disposons d’une dernière sauvegarde des configurations lorsque nous avons réalisées la dernière modification. Mais pour être certains de la véracité de la configuration, j’ai réussi à sauvegarder la configuration des deux équipements avant de les redémarrer et de perdre la main dessus. Prudence est mère de sureté dirait l&rsquo;autre.</p>



<p class="wp-block-paragraph">Nous nous organisons. D’un côté l’opérateur va configurer les équipements. De l’autre, je lui dicte chaque ligne du fichier de configuration et nous adaptons la configuration. Un peu comme CHAMPOLLION avec la pierre de rosette pour passer du hiéroglyphe au grecque.</p>



<p class="has-text-align-center wp-block-paragraph"><strong>Sans plan ça a du être galère ? Comment être certains que l’interface N va sur l’équipement X dans le subnet Y en marqué (tagged) et dans le subnet Z en native non marqué (untagged) ?</strong></p>



<p class="wp-block-paragraph">L’un de mes anciens managers (et mentor), responsables du service avait établi une sérigraphie physique de chaque équipement, de chaque interface. C’est long à faire, c’est fastidieux à maintenir et demande beaucoup de rigueur. Toutefois et cela a été démontré à cet instant précis, nous avons gagné un temps monstrueux pour reprendre la configuration.</p>



<p class="wp-block-paragraph">La sérigraphie, couplée aux différents plans d’adressage nous ont été d’une grande aide et salvateur en plus des connaissances de l’infrastructure dans la cafetière qui me sert de cerveau.</p>



<p class="wp-block-paragraph">Je rédige rapidement un pseudo plan de changement d’urgence eCAB<sup data-fn="8701c825-3a89-4f45-b1be-fcad160740da" class="fn"><a href="#8701c825-3a89-4f45-b1be-fcad160740da" id="8701c825-3a89-4f45-b1be-fcad160740da-link">6</a></sup> dans un notepad impliquant les actions de migration et les tests de vérifications qui en découlent.</p>



<h2 class="wp-block-heading"><strong>H+5h45min – Commutera ou Commutera pas ?</strong></h2>



<p class="wp-block-paragraph">En moins d’une heure la configuration des deux équipements étaient reprise sur les équipements de substitution à l’exception de certaines options. Nous avons réalisé une sauvegarde préalable car nous savons que nous allons devoir ajuster la configuration. Et ça serait stupide de prendre une heure de taf de nouveau dans la vue.</p>



<p class="wp-block-paragraph">Retour dans la salle serveur. Je vous parlerai plus bas de mon pire ennemi, la climatisation.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Là, tout n’est qu’ordre et beauté, Luxe, calme et volupté.</em></p>
<cite>Charles Baudelaire, L&rsquo;invitation au voyage</cite></blockquote>



<p class="wp-block-paragraph">Dans notre cas je dirais plus</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Là, tout n’est que lumière et néons, froideur, bruit et volupté (quand même faut pas déc</em>****r).</p>
<cite>Erwan Guillemard, L&rsquo;invitation au changement d&rsquo;urgence</cite></blockquote>



<p class="wp-block-paragraph">Le bruit des climatisations et des ronronnements de tous les équipements rend difficile les échanges mais nous y arrivons. </p>



<p class="wp-block-paragraph">Nous installons les équipements, puis attaquons le plan de changement rédigé quelques minutes plus tôt.</p>



<ul class="wp-block-list">
<li>Interconnexion des nouveaux équipements avec les LEAFs Switchs</li>



<li>Vérification d’accès aux ressources d’infrastructures</li>



<li>Test de HA des équipements temporaires SPINEs Switchs</li>



<li>Bascule de tous les équipements interface par interface</li>



<li>Test de bon fonctionnement</li>
</ul>



<p class="wp-block-paragraph">Et bien St Thomas aurait été là, il en aurait eu pour son argent et il aurait pu constater que ça commute ! St Thomas, saint patron des informaticiens ? Et bien <strong>NON</strong> ! Il existe un Saint Patron des informaticiens et c&rsquo;est <a href="https://www.lemondeinformatique.fr/actualites/lire-christianisme-isidore-patron-des-informaticiens-6322.html">St Isidore</a>. #NoFake Je mourrai moins c*n ce soir (la petite mort ça compte ? :p )</p>



<p class="wp-block-paragraph">Hormis une petite boucle réseau au début et quelques rares ajustements sur certaines interfaces notre infrastructures est de nouveau disponible.</p>



<p class="wp-block-paragraph">Les équipements réseaux supportent la charge.</p>



<h2 class="wp-block-heading"><strong>H+6h45min – Allo, églantine ici mirabelle</strong></h2>



<p class="wp-block-paragraph">Nous validons avec les équipes opérationnelles nous ayant fait remonter l’incident impactant leurs clients que tout est rentré dans l’ordre. </p>



<p class="wp-block-paragraph">Les tests réalisés ensemble confirme le succès de l’opération.</p>



<h2 class="wp-block-heading"><strong>H+7h00min – Remerciement et Retour</strong></h2>



<p class="wp-block-paragraph">Nous étions tous satisfait des résultats de ce travail collaboratif. Le retour à la normal de nos services nous soulageaient autant que notre partenaire.</p>



<p class="wp-block-paragraph">La fatigue nous retombait dessus progressivement, personne n’a été épargné. Nous avons chaudement remercié la présidente ainsi que l’opérateur d’astreinte de leurs actions, investissements quant à l’assistance à la résolution de notre incident critique.</p>



<p class="wp-block-paragraph">Nous nous séparons, NOX ayant déjà bien entamée sa course.</p>



<h2 class="wp-block-heading"><strong>H+9h00min – Fin du road trip</strong></h2>



<p class="wp-block-paragraph">Le trajet du retour a été difficile. Le travail intense de la journée, la stratégie, l’adaptation face aux divers aléas, la communication, le stress qui retombent accentuent la fatigue. Toutefois, nous débriefons de l’incident sur la route du retour et notons les points positifs, négatifs. Nous évaluons le risque de la solution temporaire et du plan d’action à engager le lendemain et le Lundi suivant.</p>



<p class="wp-block-paragraph">J’annonçais déjà la rédaction d’un REX<sup data-fn="e0487d35-7ece-4cb5-b0dc-2ecf40218f06" class="fn"><a href="#e0487d35-7ece-4cb5-b0dc-2ecf40218f06" id="e0487d35-7ece-4cb5-b0dc-2ecf40218f06-link">7</a></sup>, pour ne pas perdre une once d’information et d’expérience de cette journée.</p>



<p class="wp-block-paragraph">A jouer les Cassandres, je finis par croire que je suis Cassandre. Mon collègue me fait relativiser sur ce point, même s’il reconnait à demi-mot que la loi des séries c’est bien appliqué.</p>



<p class="wp-block-paragraph">Arrivé à la maison, j’ai repris la place que j’avais laissé 9h00 plus tôt et paradoxalement j’ai bien dormi.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">Il est je crois sensible de travailler avec des technologies équipements ou solutions qui sont à la marge de nos habitudes quotidiennes. Il est nécessaire de pratiquer constamment pour « maitriser » son infrastructure. Avec du recul, je me suis rendu compte que d’une version à l’autre des firwmares du même model de nos équipements, la configuration ne pouvait pas être repris simplement. Donc si nous avions eu à remplacer les deux équipements hors service, nous n’aurions pas pu rétablir les services rapidement. Je préconise donc de sélectionner des équipements sur lesquelles nous avons une expérience bien assise et où la configuration puisse être reprise rapidement et cela même avec une version différente de firmware.</p>



<p class="wp-block-paragraph">Nous savions que les équipements devaient être remplacé prochainement, mais même avec une souscription d’extension de garantie, la situation nous a montré que nous pouvons être dans une voie sans issue <a href="https://www.youtube.com/watch?v=bxQo05xOko8&amp;ab_channel=ShortClipsandMemes">The way is shut</a>.</p>



<p class="wp-block-paragraph">C’est là l’un des risques que chaque SysAdmin possède. Avoir une garantie ou assistance mais ne la déclencher que lorsque l’on rencontre une avarie, et se rendre compte que ça ne fonctionne pas, ça fait mal (<em>Un coup de pied dans les b****s serait limite plus agréable.</em>). Il faut être vigilant sur ce point lors de la souscription ou reconduction. Au-delà du confort, il convient de mesurer le rapport bénéfice, risque et de définir le RTO<sup data-fn="d7d252dd-be77-4c4b-9382-e306c2b10a35" class="fn"><a href="#d7d252dd-be77-4c4b-9382-e306c2b10a35" id="d7d252dd-be77-4c4b-9382-e306c2b10a35-link">8</a></sup> et le RPO<sup data-fn="d4858873-4620-4ce0-b7f3-a87263c76ca9" class="fn"><a href="#d4858873-4620-4ce0-b7f3-a87263c76ca9" id="d4858873-4620-4ce0-b7f3-a87263c76ca9-link">9</a></sup> que l’organisation que nous représentons s’autorise.</p>



<p class="wp-block-paragraph">Le choix de ces partenaires et prestataires est crucial. Il faut une relation de confiance et ne pas hésiter à les challenger. Car c’est dans ce genre de situation que nous sommes content d’avoir une main tendue, <a href="https://www.youtube.com/watch?v=SxGXXgGgRWc&amp;ab_channel=trustofficiel">Relève la gueule, je suis là, t’es pas seul</a>. Il en est de même pour l’organisation interne. Dans cette situation, les rôles se sont distribués naturellement et face à l’incident nous étions une équipe et nous ne sommes pas tomber dans l’individualisme. La communication et la fréquence de cette dernière est importante. Donner de la visibilité sur l’incident en cours sans noyer d’informations les destinataires mais sans non plus négliger ces derniers.</p>



<p class="wp-block-paragraph">L’un des points salvateurs de tous SysAdmin, c’est la rigueur. La sauvegarde des configurations des équipements actifs à chaque modification et de manière périodique doit être inscrit dans le PAS<sup data-fn="3eb33723-e35f-4972-8eba-cf335dce48a8" class="fn"><a href="#3eb33723-e35f-4972-8eba-cf335dce48a8" id="3eb33723-e35f-4972-8eba-cf335dce48a8-link">10</a></sup>. Il est je pense impératif d’avoir les documentations à jour de son système d’information. Le petit plus reste la sérigraphie des équipements réseaux.</p>



<p class="wp-block-paragraph">Le mot de la fin :</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Je commute en infogérance et relance une chenille dans le couloir. Tu..Tu..Tu..Tu ne peux..Tu..Tu. Vous avez une boucle sur votre réseau et c’est pas du BabyLiss.</em></p>
<cite>Erwan Guillemard</cite></blockquote>


<ol class="wp-block-footnotes"><li id="ce2ac6cb-6c82-4564-85bb-417a3d7fc7d6">FAI : Fournisseur d&rsquo;accès internet <a href="#ce2ac6cb-6c82-4564-85bb-417a3d7fc7d6-link" aria-label="Aller à la note de bas de page 1">↩︎</a></li><li id="824d03dd-6865-47cb-af63-032ac2152715">TGBT : Transformateur Général Basse Tension <a href="#824d03dd-6865-47cb-af63-032ac2152715-link" aria-label="Aller à la note de bas de page 2">↩︎</a></li><li id="b49ab528-de22-4f16-85a8-c610d3c65e04">DC : Data Center <a href="#b49ab528-de22-4f16-85a8-c610d3c65e04-link" aria-label="Aller à la note de bas de page 3">↩︎</a></li><li id="3f33325f-81fe-4705-bc0f-df353c59bea7">HA : Hight Availability <a href="#3f33325f-81fe-4705-bc0f-df353c59bea7-link" aria-label="Aller à la note de bas de page 4">↩︎</a></li><li id="aee5299b-4f09-416e-a0ae-ff4911dcf981">ROM : Read Only Memory <a href="#aee5299b-4f09-416e-a0ae-ff4911dcf981-link" aria-label="Aller à la note de bas de page 5">↩︎</a></li><li id="8701c825-3a89-4f45-b1be-fcad160740da">eCAB : Emergency Change Advisory Board <a href="#8701c825-3a89-4f45-b1be-fcad160740da-link" aria-label="Aller à la note de bas de page 6">↩︎</a></li><li id="e0487d35-7ece-4cb5-b0dc-2ecf40218f06">REX : Retour d&rsquo;EXpérience <a href="#e0487d35-7ece-4cb5-b0dc-2ecf40218f06-link" aria-label="Aller à la note de bas de page 7">↩︎</a></li><li id="d7d252dd-be77-4c4b-9382-e306c2b10a35">RTO : Recovery Time Objective <a href="#d7d252dd-be77-4c4b-9382-e306c2b10a35-link" aria-label="Aller à la note de bas de page 8">↩︎</a></li><li id="d4858873-4620-4ce0-b7f3-a87263c76ca9">RPO : Recovery Point Objective <a href="#d4858873-4620-4ce0-b7f3-a87263c76ca9-link" aria-label="Aller à la note de bas de page 9">↩︎</a></li><li id="3eb33723-e35f-4972-8eba-cf335dce48a8">PAS : Plan d&rsquo;Assurance Sécurité <a href="#3eb33723-e35f-4972-8eba-cf335dce48a8-link" aria-label="Aller à la note de bas de page 10">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
