{"id":31,"date":"2025-10-21T22:17:21","date_gmt":"2025-10-21T22:17:21","guid":{"rendered":"http:\/\/leblogtech.romain-s.fr\/?page_id=31"},"modified":"2026-04-01T23:29:44","modified_gmt":"2026-04-01T21:29:44","slug":"sae-512","status":"publish","type":"page","link":"https:\/\/leblogtech.romain-s.fr\/index.php\/sae-512\/","title":{"rendered":"SAE 512 &#8211; UWB localisation indoor"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>Pr\u00e9sentation de la SAE &amp; Objectifs <\/strong><\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">Le contexte : La localisation Indoor<\/h3>\n\n\n\n<p>La g\u00e9olocalisation par GPS est aujourd&rsquo;hui omnipr\u00e9sente en ext\u00e9rieur, mais elle devient inefficace en int\u00e9rieur (b\u00e2timents, tunnels, souterrains) \u00e0 cause de l&rsquo;att\u00e9nuation du signal. Pourtant, les besoins de localisation <em>indoor<\/em> pr\u00e9cis sont croissants : suivi d&rsquo;actifs en entrep\u00f4t, navigation de robots, ou s\u00e9curit\u00e9 des personnes.<\/p>\n\n\n\n<p><strong>La solution : La technologie UWB (Ultra Wide Band).<\/strong> Contrairement au Wi-Fi ou au Bluetooth qui utilisent la puissance du signal (RSSI) pour estimer une distance (m\u00e9thode peu pr\u00e9cise et instable), l&rsquo;UWB utilise le <strong>temps de vol<\/strong> des ondes radio. Cela permet une pr\u00e9cision centim\u00e9trique.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>La Probl\u00e9matique : L&rsquo;\u00c9nergie vs La Synchronisation<\/strong><\/strong><\/h3>\n\n\n\n<p>Pour localiser un objet mobile par trilat\u00e9ration, il existe deux m\u00e9thodes principales :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ToA (Time of Arrival) :<\/strong> N\u00e9cessite que l&rsquo;horloge du mobile soit parfaitement synchronis\u00e9e avec celles des ancres fixes. Difficile et co\u00fbteux en \u00e9nergie.<\/li>\n\n\n\n<li><strong>TDoA (Time Difference of Arrival) :<\/strong> Le mobile \u00e9met un seul signal (\u00ab\u00a0Clap\u00a0\u00bb) et ce sont les ancres qui comparent leurs temps de r\u00e9ception.<\/li>\n<\/ul>\n\n\n\n<p><strong>Le D\u00e9fi :<\/strong> Pour que le TDoA fonctionne, les ancres fixes doivent \u00eatre <strong>parfaitement synchronis\u00e9es entre elles<\/strong>. Les solutions classiques (c\u00e2bles coaxiaux, horloges atomiques) sont trop ch\u00e8res et lourdes \u00e0 d\u00e9ployer<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La Solution : Le Protocole ODS<\/h3>\n\n\n\n<p>Nous impl\u00e9mentons le protocole <strong>ODS (On-Demand Synchronization)<\/strong>. L&rsquo;innovation r\u00e9side dans une <strong>synchronisation logicielle \u00e0 la demande<\/strong> : plut\u00f4t que de maintenir les ancres synchronis\u00e9es en permanence, on corrige math\u00e9matiquement les d\u00e9calages d&rsquo;horloges \u00e0 partir des \u00e9l\u00e9ments r\u00e9colt\u00e9s.<\/p>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-d82f89db alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h3 class=\"wp-block-heading\">D\u00e9roulement du Projet : Une Approche en deux Phases<\/h3>\n\n\n\n<p>Ce projet a \u00e9t\u00e9 structur\u00e9 autour d&rsquo;une double exigence : technique et scientifique.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Phase 1 : I Impl\u00e9mentation (Lien vers pages&nbsp; impl\u00e9mentation)<\/strong> L&rsquo;objectif premier \u00e9tait de d\u00e9velopper le code fonctionnel du protocole ODS sur des modules <strong>DWM1001-DEV<\/strong> situ\u00e9 dans le b\u00e2timent C de l&rsquo;IUT.\n<ul class=\"wp-block-list\">\n<li>D\u00e9veloppement C++\/Arduino des automates (Ma\u00eetre, Ancres, Client).<\/li>\n\n\n\n<li>Mise en place des verrous techniques : couche MAC, anticollision <strong>TDMA<\/strong>, et mesure de distance <strong>TWR<\/strong>.<\/li>\n\n\n\n<li>D\u00e9veloppement des outils d&rsquo;analyse (Python) pour le calcul de position par r\u00e9solution d&rsquo;hyperboles (<strong>TDoA<\/strong>).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Phase 2 : Recherche &amp; Analyse de Performance <\/strong> Une fois le protocole fonctionnel, le projet a bascul\u00e9 vers une \u00e9tude exp\u00e9rimentale. L&rsquo;objectif \u00e9tait d&rsquo;\u00e9valuer la robustesse du protocole ODS face \u00e0 la g\u00e9om\u00e9trie du r\u00e9seau.\n<ul class=\"wp-block-list\">\n<li><strong>Tests de Topologies :<\/strong> D\u00e9ploiement des ancres selon diff\u00e9rentes configurations spatiales (en ligne, en carr\u00e9, en triangle, al\u00e9atoire).<\/li>\n\n\n\n<li>\u00c9tude de l&rsquo;impact de la disposition des ancres sur la pr\u00e9cision de la localisation.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Livrable Final :<\/strong> Code en C# du client et des ancres, code python pour le calcul de position. Et synth\u00e8se de la partie recherche.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/leblogtech.romain-s.fr\/index.php\/Codes\/\">Codes<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Pr\u00e9sentation du choix du CMS<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-d3543a3b wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-fa77ef14 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--20);padding-right:0;padding-bottom:var(--wp--preset--spacing--20);padding-left:0\">\n<h3 class=\"wp-block-heading\">Pr\u00e9sentation g\u00e9n\u00e9rale<\/h3>\n\n\n\n<p>Le CMS WordPress a \u00e9t\u00e9 choisi pour sa simplicit\u00e9 d\u2019installation, sa prise en main plus ou moins intuitive et sa grande flexibilit\u00e9. Il permet de cr\u00e9er et g\u00e9rer facilement le site web tout en offrant de nombreuses possibilit\u00e9s de personnalisation gr\u00e2ce \u00e0 ses th\u00e8mes et plugins, notamment le th\u00e8me Astra qui est utilis\u00e9 ici.<br>Sa large communaut\u00e9, sa compatibilit\u00e9 avec la plupart des h\u00e9bergements web et son optimisation pour le r\u00e9f\u00e9rencement naturel (SEO) garantissent une solution fiable, \u00e9volutive et performante pour des cas d&rsquo;utilisation g\u00e9n\u00e9ral.<br>WordPress s\u2019impose ainsi comme le meilleur compromis entre facilit\u00e9 d\u2019usage, modernit\u00e9 et professionnalisme.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-009cab2b wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--30);padding-right:0;padding-bottom:var(--wp--preset--spacing--30);padding-left:0\">\n<h3 class=\"wp-block-heading\" style=\"border-style:none;border-width:0px\">Caract\u00e9ristiques principales<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Interface d\u2019administration compl\u00e8te : gestion des pages, articles, menus, m\u00e9dias et utilisateurs.<\/li>\n\n\n\n<li>Syst\u00e8me de banque de th\u00e8mes et de plugins : personnalisation avanc\u00e9e de l\u2019apparence et ajout de fonctionnalit\u00e9s (galeries, formulaires, tableaux, statistiques, etc.).<\/li>\n\n\n\n<li>Structure modulaire : possibilit\u00e9 de cr\u00e9er des cat\u00e9gories, et types de contenu personnalis\u00e9s.<\/li>\n\n\n\n<li>\u00c9diteur Gutenberg : cr\u00e9ation de pages par blocs visuels, sans coder.<\/li>\n\n\n\n<li>Support communautaire \u00e9tendu : documentation, forums, et milliers d\u2019extensions gratuites ou payantes.<\/li>\n\n\n\n<li>Gestion fine des droits utilisateurs : r\u00f4les (administrateur, \u00e9diteur, auteur, contributeur, abonn\u00e9).<\/li>\n\n\n\n<li>Compatibilit\u00e9 responsive : affichage automatique adapt\u00e9 aux smartphones et tablettes.<\/li>\n\n\n\n<li>Pr\u00e9visualisation du rendu de la page avant la publication.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-009cab2b wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--30);padding-right:0;padding-bottom:var(--wp--preset--spacing--30);padding-left:0\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)\">\n<h3 class=\"wp-block-heading\" style=\"border-style:none;border-width:0px\"> Comparaison avec d&rsquo;autre CMS<\/h3>\n\n\n\n<p>Parmi les diff\u00e9rents CMS disponibles sur OVH qui sont : <strong>WordPress<\/strong>, <strong>Joomla<\/strong>, <strong>Drupal<\/strong> et <strong>PrestaShop<\/strong>, chacun pr\u00e9sente des caract\u00e9ristiques sp\u00e9cifiques r\u00e9pondant \u00e0 des besoins distincts.<\/p>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:26% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"553\" src=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/WordPress-logotype-alternative-1024x553.png\" alt=\"\" class=\"wp-image-63 size-full\" srcset=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/WordPress-logotype-alternative-1024x553.png 1024w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/WordPress-logotype-alternative-300x162.png 300w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/WordPress-logotype-alternative-768x415.png 768w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/WordPress-logotype-alternative-1536x829.png 1536w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/WordPress-logotype-alternative.png 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p><strong>WordPress<\/strong> :<\/p>\n\n\n\n<p>Se distingue avant tout par sa simplicit\u00e9 d\u2019utilisation et sa rapidit\u00e9 de mise en place. Son interface intuitive permet de cr\u00e9er et g\u00e9rer facilement un site web, m\u00eame sans connaissances techniques avanc\u00e9es. De plus, son large catalogue de th\u00e8mes et d\u2019extensions offre une grande libert\u00e9 de personnalisation, ce qui en fait un outil polyvalent et accessible \u00e0 tous types de projets.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:26% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"212\" src=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Joomla-Logo.svg-1024x212.png\" alt=\"\" class=\"wp-image-66 size-full\" srcset=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Joomla-Logo.svg-1024x212.png 1024w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Joomla-Logo.svg-300x62.png 300w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Joomla-Logo.svg-768x159.png 768w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Joomla-Logo.svg-1536x319.png 1536w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Joomla-Logo.svg-2048x425.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p><strong>Joomla<\/strong> :<\/p>\n\n\n\n<p>Quant \u00e0 lui, propose une gestion des utilisateurs et des droits d\u2019acc\u00e8s plus pouss\u00e9e que WordPress, ce qui peut \u00eatre int\u00e9ressant pour des sites n\u00e9cessitant plusieurs niveaux d\u2019administration. Cependant, son interface est plus complexe, et sa prise en main demande davantage de temps.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:26% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/dupral-1.png\" alt=\"\" class=\"wp-image-67 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p><strong>Drupal<\/strong> :<\/p>\n\n\n\n<p>Est reconnu pour sa puissance et sa flexibilit\u00e9. Il permet de d\u00e9velopper des sites web tr\u00e8s structur\u00e9s et sur mesure, mais sa configuration est plus technique et s\u2019adresse davantage \u00e0 des d\u00e9veloppeurs exp\u00e9riment\u00e9s.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:26% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"494\" height=\"414\" src=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Prestashop-logo.webp\" alt=\"\" class=\"wp-image-64 size-full\" srcset=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Prestashop-logo.webp 494w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/Prestashop-logo-300x251.webp 300w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p><strong>PrestaShop<\/strong> :<\/p>\n\n\n\n<p>Est un CMS sp\u00e9cialis\u00e9 dans le commerce en ligne. Il permet de g\u00e9rer efficacement un catalogue de produits, les paiements en ligne, les stocks et les livraisons. PrestaShop se distingue par la richesse de ses fonctionnalit\u00e9s d\u00e9di\u00e9es au commerce \u00e9lectronique : gestion des paniers, cr\u00e9ation de fiches produits d\u00e9taill\u00e9es, configuration des taxes, et int\u00e9gration de nombreux moyens de paiement.<\/p>\n<\/div><\/div>\n\n\n\n<p style=\"border-style:none;border-width:0px;border-radius:0px;margin-top:var(--wp--preset--spacing--50);margin-right:0;margin-bottom:var(--wp--preset--spacing--50);margin-left:0\">En r\u00e9sum\u00e9, parmi les CMS propos\u00e9s par (OVH qui est l&rsquo;h\u00e9bergeur), <strong>WordPress repr\u00e9sente le meilleur compromis <\/strong>entre facilit\u00e9 d\u2019utilisation, flexibilit\u00e9, performance et \u00e9volutivit\u00e9. C\u2019est la solution la plus adapt\u00e9e pour la cr\u00e9ation<strong> <\/strong>rapide, offrant \u00e0 la fois une gestion simple du contenu et de nombreuses possibilit\u00e9s de personnalisation sans complexit\u00e9 technique.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"border-style:none;border-width:0px\">Justification du choix<\/h3>\n\n\n\n<p>Nous avons retenu WordPress pour sa polyvalence et sa souplesse d&rsquo;int\u00e9gration..<\/p>\n\n\n\n<p>Ce CMS r\u00e9pond \u00e0 plusieurs besoins identifi\u00e9s :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pr\u00e9sentation claire du projet : mise en page libre pour expliquer la d\u00e9marche, les diagrammes et les r\u00e9sultats de tests.<\/li>\n\n\n\n<li>Documentation technique \u00e9volutive : ajout facile de sections ou de billets pour suivre l\u2019avancement.<\/li>\n\n\n\n<li>Int\u00e9gration de m\u00e9dias et codes : insertion de captures, vid\u00e9os, extraits de code ou logs.<\/li>\n\n\n\n<li>Possibilit\u00e9 d\u2019ajouter des extensions pour visualiser des donn\u00e9es (graphiques, tableaux, liens GitHub, etc.).<\/li>\n\n\n\n<li>Contr\u00f4le total sur l\u2019h\u00e9bergement et la structure du site<\/li>\n<\/ul>\n\n\n\n<p>De plus, l\u2019utilisation de WordPress permet de valoriser des comp\u00e9tences techniques transversales (gestion d\u2019h\u00e9bergement, base de donn\u00e9es, administration web) coh\u00e9rentes avec les objectifs de la SA\u00c9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Probl\u00e8mes rencontr\u00e9s et solutions apport\u00e9es<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Installation du CMS<\/h4>\n\n\n\n<p>Le site web est h\u00e9berg\u00e9 sur OVH, qui propose une installation simplifi\u00e9e de diff\u00e9rents CMS en un clic. Cependant, on ne souhaitait pas installer le CMS directement \u00e0 la racine de l\u2019h\u00e9bergement, afin de mieux organiser les fichiers et pr\u00e9server la structure du site.<br>Il a fallu cr\u00e9er un r\u00e9pertoire d\u00e9di\u00e9 sur le serveur, dans lequel est install\u00e9 WordPress, puis lier ce r\u00e9pertoire au nom de domaine romain-s.fr via la configuration de la zone DNS sur OVH. Cette m\u00e9thode permet une gestion plus propre de l\u2019h\u00e9bergement et facilite d\u2019\u00e9ventuelles \u00e9volutions futures du site.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Installation du plugin de th\u00e8me<\/h4>\n\n\n\n<p>Pour l\u2019installation et la configuration du th\u00e8me, il a d\u2019abord fallu prendre en main son interface et comprendre le fonctionnement des \u00e9l\u00e9ments graphiques propos\u00e9s. Cette \u00e9tape s\u2019est r\u00e9v\u00e9l\u00e9e un peu complexe, notamment lorsque l\u2019on est davantage habitu\u00e9 \u00e0 travailler directement avec du CSS ou du JavaScript. En effet, la personnalisation via l\u2019interface WordPress demande une autre logique, plus visuelle, mais parfois moins flexible pour ceux qui pr\u00e9f\u00e8rent le code.<\/p>\n<\/div>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center\">El\u00e9ments de gestion de projet<\/h1>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-1f7491ad alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-54049c97\"><h2 class=\"uagb-heading-text\">Trello<\/h2><\/div>\n\n\n\n<p>Trello nous a permis la planification, le suivi et la r\u00e9partition du travail au sein de notre groupe. Bien entendu, il faut encore le compl\u00e9ter. C\u2019est l\u2019avantage de cet outil qui est flexible et dynamique.<\/p>\n\n\n\n<div class=\"wp-block-uagb-image uagb-block-c2406d01 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/trello-1024x425.png ,https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/trello-1024x425.png 780w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/trello.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/trello-1024x425.png\" alt=\"\" class=\"uag-image-61\" width=\"1036\" height=\"429\" title=\"trello\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-7309fbea alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-2542e061\"><h2 class=\"uagb-heading-text\">Gantt initial<\/h2><\/div>\n\n\n\n<p>Le diagramme de Gantt est un outil de planification et de suivi de projet qui permet de visualiser les diff\u00e9rentes t\u00e2ches dans le temps.<br>Chaque t\u00e2che est d\u00e9taill\u00e9e , indiquant sa dur\u00e9e, sa date de d\u00e9but et de fin, ainsi que ses d\u00e9pendances avec d\u2019autres activit\u00e9s.<br>Cet outil nous facilite la gestion du calendrier, la r\u00e9partition et le suivi de l\u2019avancement de la SAE.<\/p>\n\n\n\n<div class=\"wp-block-uagb-image uagb-block-db52cac9 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/image.png ,https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/image.png 780w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/image.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/10\/image.png\" alt=\"\" class=\"uag-image-62\" width=\"880\" height=\"303\" title=\"image\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-3f19a20c alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-6c67259f\"><h2 class=\"uagb-heading-text\">Git Hub<\/h2><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-6ff8cd92 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-99d0af91\">\n<div class=\"wp-block-uagb-image uagb-block-1cc9d075 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/11\/gihub-1024x766.png ,https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/11\/gihub.png 780w, https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/11\/gihub.png 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/leblogtech.romain-s.fr\/wp-content\/uploads\/2025\/11\/gihub-1024x766.png\" alt=\"\" class=\"uag-image-144\" width=\"1024\" height=\"766\" title=\"gihub\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-7d19d3f3\">\n<div class=\"wp-block-uagb-info-box uagb-block-22e59287 uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-top\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-icon-wrap\"><svg xmlns=\"https:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 512\"><path d=\"M414.8 40.79L286.8 488.8C281.9 505.8 264.2 515.6 247.2 510.8C230.2 505.9 220.4 488.2 225.2 471.2L353.2 23.21C358.1 6.216 375.8-3.624 392.8 1.232C409.8 6.087 419.6 23.8 414.8 40.79H414.8zM518.6 121.4L630.6 233.4C643.1 245.9 643.1 266.1 630.6 278.6L518.6 390.6C506.1 403.1 485.9 403.1 473.4 390.6C460.9 378.1 460.9 357.9 473.4 345.4L562.7 256L473.4 166.6C460.9 154.1 460.9 133.9 473.4 121.4C485.9 108.9 506.1 108.9 518.6 121.4V121.4zM166.6 166.6L77.25 256L166.6 345.4C179.1 357.9 179.1 378.1 166.6 390.6C154.1 403.1 133.9 403.1 121.4 390.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4L121.4 121.4C133.9 108.9 154.1 108.9 166.6 121.4C179.1 133.9 179.1 154.1 166.6 166.6V166.6z\"><\/path><\/svg><\/div><div class=\"uagb-ifb-title-wrap\"><h3 class=\"uagb-ifb-title\">Gestion des versions avec GitHub<\/h3><\/div><p class=\"uagb-ifb-desc\">Pour assurer une gestion propre et structur\u00e9e des diff\u00e9rentes versions du code, nous avons utilis\u00e9 GitHub. <br>Cet outil permet de suivre l\u2019\u00e9volution du projet, d\u2019enregistrer chaque modification et d\u2019\u00e9viter les conflits lorsque plusieurs code  sont pouss\u00e9es en m\u00eame temps. Gr\u00e2ce au syst\u00e8me de branches et de validations, GitHub garantit une collaboration fluide et s\u00e9curis\u00e9e au sein du projet. (<a href=\"https:\/\/github.com\/JosephAZE\/SAE512-ODS\" data-type=\"link\" data-id=\"https:\/\/github.com\/JosephAZE\/SAE512-ODS\">lien<\/a>)<\/p><\/div><\/div>\n<\/div>\n<\/div><\/div>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Synth\u00e8se <\/h2>\n\n\n\n<p>Ce projet nous a plong\u00e9s au c\u0153ur d\u2019un d\u00e9fi technique passionnant : localiser avec pr\u00e9cision un objet en mouvement \u00e0 l\u2019int\u00e9rieur d\u2019un b\u00e2timent. Pour y parvenir, nous avons exploit\u00e9 la technologie Ultra-Wideband (UWB) via des cartes Decawave DMW1001, test\u00e9es sur la plateforme exp\u00e9rimentale FitIotLab.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Le d\u00e9fi de la synchronisation<\/h3>\n\n\n\n<p>Le c\u0153ur de notre travail a port\u00e9 sur l\u2019impl\u00e9mentation de la m\u00e9thode TDoA (Time Difference of Arrival). L\u2019id\u00e9e est simple : le n\u0153ud mobile \u00e9met un signal (un \u00ab&nbsp;CLAP&nbsp;\u00bb) et les ancres fixes notent l\u2019heure d\u2019arriv\u00e9e. Cependant, nous avons rapidement \u00e9t\u00e9 confront\u00e9s \u00e0 une r\u00e9alit\u00e9 physique majeure : chaque ancre poss\u00e8de sa propre horloge interne, et ces horloges ne sont pas naturellement synchronis\u00e9es. Sans une r\u00e9f\u00e9rence commune, les calculs de position deviennent impossibles.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La solution : Le protocole ODS<\/h3>\n\n\n\n<p>Pour contourner ce probl\u00e8me sans modifier physiquement les horloges, nous avons mis en \u0153uvre le protocole ODS (On-Demand Synchronization). Ce protocole permet \u00e0 une ancre \u00ab&nbsp;Ma\u00eetre&nbsp;\u00bb (S1) de calculer math\u00e9matiquement les corrections \u00e0 appliquer aux relev\u00e9s des autres ancres. Notre r\u00e9alisation technique s\u2019est structur\u00e9e autour de trois piliers :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TDMA<\/strong>\u00a0: Pour organiser la prise de parole des ancres et \u00e9viter les collisions radio.<\/li>\n\n\n\n<li><strong>TWR (Two-Way Ranging)<\/strong>\u00a0: Pour mesurer pr\u00e9cis\u00e9ment le temps de vol entre les ancres.<\/li>\n\n\n\n<li><strong>Traitement Python<\/strong>\u00a0: Le d\u00e9veloppement d\u2019un script utilisant des algorithmes d\u2019optimisation pour transformer les diff\u00e9rences de temps en coordonn\u00e9es (x, y) exploitables.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sultats et apprentissages<\/h3>\n\n\n\n<p>Les phases de test ont r\u00e9v\u00e9l\u00e9 l\u2019influence cruciale de la topologie des n\u0153uds sur la pr\u00e9cision. Selon la disposition des ancres dans la pi\u00e8ce, nous avons observ\u00e9 des \u00e9carts de localisation allant de 1 m\u00e8tre dans des conditions optimales \u00e0 plus de 10 m\u00e8tres dans des configurations extr\u00eames.<\/p>\n\n\n\n<p>Au-del\u00e0 de l\u2019aspect technique (utilisation de la biblioth\u00e8que Decaduino, outils math\u00e9matiques), ce projet a \u00e9t\u00e9 une v\u00e9ritable exp\u00e9rience de gestion d\u2019\u00e9quipe . L\u2019utilisation d\u2019outils comme GitHub pour le versioning, Trello pour l\u2019organisation et un diagramme de Gantt pour le respect des d\u00e9lais a \u00e9t\u00e9 d\u00e9terminante pour mener \u00e0 bien cette preuve de concept<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Perspectives<\/h3>\n\n\n\n<p>Pour aller plus loin, nous avons d\u00e9j\u00e0 identifi\u00e9 plusieurs axes d\u2019am\u00e9lioration, notamment l\u2019int\u00e9gration du protocole&nbsp;<strong>MQTT<\/strong>&nbsp;pour une r\u00e9cup\u00e9ration de donn\u00e9es en temps r\u00e9el et l\u2019approfondissement des aspects li\u00e9s \u00e0 la&nbsp;<strong>cybers\u00e9curit\u00e9<\/strong>&nbsp;du r\u00e9seau de capteurs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9sentation de la SAE &amp; Objectifs Le contexte : La localisation Indoor La g\u00e9olocalisation par GPS est aujourd&rsquo;hui omnipr\u00e9sente en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-31","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"adminRO","author_link":"https:\/\/leblogtech.romain-s.fr\/index.php\/author\/adminro\/"},"uagb_comment_info":0,"uagb_excerpt":"Pr\u00e9sentation de la SAE &amp; Objectifs Le contexte : La localisation Indoor La g\u00e9olocalisation par GPS est aujourd&rsquo;hui omnipr\u00e9sente en [&hellip;]","_links":{"self":[{"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/pages\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":42,"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/pages\/31\/revisions"}],"predecessor-version":[{"id":358,"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/pages\/31\/revisions\/358"}],"wp:attachment":[{"href":"https:\/\/leblogtech.romain-s.fr\/index.php\/wp-json\/wp\/v2\/media?parent=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}