<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web | Valentin Caries</title><link>https://vcaries.github.io/tag/web/</link><atom:link href="https://vcaries.github.io/tag/web/index.xml" rel="self" type="application/rss+xml"/><description>Web</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>fr-fr</language><lastBuildDate>Mon, 25 May 2026 00:00:00 +0000</lastBuildDate><image><url>https://vcaries.github.io/media/icon_hu536d0651d21529ac336731b24f3e073f_144279_512x512_fill_lanczos_center_3.png</url><title>Web</title><link>https://vcaries.github.io/tag/web/</link></image><item><title>Pi-Scope — l'analyse dimensionnelle dans le navigateur</title><link>https://vcaries.github.io/project/pi-theorem/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://vcaries.github.io/project/pi-theorem/</guid><description>&lt;p>&lt;strong>Pi-Scope&lt;/strong> transforme un ensemble de variables physiques dimensionnées en les &lt;strong>groupes adimensionnels&lt;/strong> qui les gouvernent, grâce au &lt;strong>théorème de Vaschy–Buckingham (Π)&lt;/strong>. Le projet associe un moteur scientifique rigoureux à une interface moderne, bilingue et thématisable — et, dans son déploiement vitrine, exécute le véritable moteur Python &lt;em>à l&amp;rsquo;intérieur du navigateur&lt;/em>.&lt;/p>
&lt;p>👉 &lt;strong>&lt;a href="https://vcaries.github.io/pi_theorem/" target="_blank" rel="noopener">Essayer la démo en ligne&lt;/a>&lt;/strong> · &lt;strong>&lt;a href="https://github.com/vcaries/pi_theorem" target="_blank" rel="noopener">Code source sur GitHub&lt;/a>&lt;/strong>&lt;/p>
&lt;h2 id="contexte-scientifique">Contexte scientifique&lt;/h2>
&lt;p>L&amp;rsquo;analyse dimensionnelle est un pilier de la physique et de l&amp;rsquo;ingénierie. Le &lt;strong>théorème de Buckingham Π&lt;/strong> énonce que toute relation physiquement significative entre &lt;em>n&lt;/em> variables faisant intervenir &lt;em>k&lt;/em> dimensions de base indépendantes peut se réécrire comme une relation entre seulement &lt;em>n − k&lt;/em> &lt;strong>groupes adimensionnels&lt;/strong>. C&amp;rsquo;est cette réduction du nombre de paramètres qui rend possibles les lois de similitude, les essais en soufflerie à échelle réduite et les nombres célèbres de la mécanique des fluides (Reynolds, Mach, Nusselt…).&lt;/p>
&lt;p>Concrètement, les groupes adimensionnels forment une &lt;strong>base du noyau de la matrice dimensionnelle&lt;/strong> — la matrice dont les colonnes sont les exposants de chaque variable sur les dimensions de base SI. Pi-Scope assemble cette matrice, calcule son rang et une base du noyau en &lt;strong>arithmétique rationnelle exacte&lt;/strong> (sans dérive en virgule flottante), puis affiche chaque groupe en LaTeX.&lt;/p>
&lt;p>L&amp;rsquo;exemple phare reproduit les paramètres de similitude de &lt;em>Chen, Greitzer, Tan &amp;amp; Marble, « Similarity Analysis of Compressor Tip Clearance Flow Structure » (1990)&lt;/em> — onze variables réduites à huit groupes adimensionnels indépendants.&lt;/p>
&lt;h2 id="mise-en-œuvre-technique">Mise en œuvre technique&lt;/h2>
&lt;p>Le projet est conçu comme une &lt;strong>application full-stack découplée et professionnelle&lt;/strong>, puis déployé d&amp;rsquo;une manière qui ne nécessite aucun serveur :&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Moteur scientifique — Python + SymPy.&lt;/strong> Un cœur indépendant de tout framework web étend l&amp;rsquo;analyse aux &lt;strong>sept dimensions de base SI&lt;/strong> (masse, longueur, temps, température, courant, quantité de matière, intensité lumineuse), calcule la base du noyau de façon symbolique et réduit chaque groupe à ses plus petits exposants entiers.&lt;/li>
&lt;li>&lt;strong>Backend — FastAPI.&lt;/strong> Une API REST typée (schémas Pydantic, documentation OpenAPI automatique) expose le moteur, une bibliothèque de variables organisée par domaine physique et des cas d&amp;rsquo;étude citables.&lt;/li>
&lt;li>&lt;strong>Frontend — React + TypeScript + Tailwind.&lt;/strong> Une interface responsive de niveau ingénierie avec rendu des équations en KaTeX, affichage explicite de la matrice dimensionnelle, thèmes clair/sombre, internationalisation complète français/anglais et export JSON/LaTeX.&lt;/li>
&lt;li>&lt;strong>Exécution dans le navigateur — Pyodide (WebAssembly).&lt;/strong> Pour la démo publique, &lt;em>le même&lt;/em> moteur Python est compilé en WebAssembly et s&amp;rsquo;exécute côté client via Pyodide. Le résultat est un site &lt;strong>100 % statique, fonctionnel hors-ligne&lt;/strong>, hébergé directement sur GitHub Pages — instantané, gratuit et sans temps de démarrage.&lt;/li>
&lt;li>&lt;strong>Qualité logicielle.&lt;/strong> Tests unitaires et d&amp;rsquo;intégration, linting et typage statique (Ruff, Mypy), images Docker, et CI/CD GitHub Actions pour l&amp;rsquo;API comme pour la démo statique.&lt;/li>
&lt;/ul>
&lt;h2 id="compétences-démontrées">Compétences démontrées&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Calcul scientifique &amp;amp; modélisation :&lt;/strong> analyse dimensionnelle, algèbre linéaire exacte, mathématiques symboliques.&lt;/li>
&lt;li>&lt;strong>Architecture logicielle :&lt;/strong> séparation nette entre un moteur réutilisable, une couche API et une interface ; typage de bout en bout.&lt;/li>
&lt;li>&lt;strong>Intégration web :&lt;/strong> front end React/TypeScript et la prouesse non triviale d&amp;rsquo;exécuter une véritable pile scientifique Python dans le navigateur via WebAssembly.&lt;/li>
&lt;li>&lt;strong>Livraison &amp;amp; DevOps :&lt;/strong> tests automatisés, conteneurisation et déploiement continu sur GitHub Pages.&lt;/li>
&lt;/ul>
&lt;p>Ce projet illustre, de façon compacte, la capacité à mener un sujet de physique appliquée d&amp;rsquo;un simple script de recherche jusqu&amp;rsquo;à un produit soigné et déployable.&lt;/p></description></item></channel></rss>