{"id":1207,"date":"2026-08-21T14:28:53","date_gmt":"2026-08-21T14:28:53","guid":{"rendered":"https:\/\/matforge.org\/?p=1207","raw":"https:\/\/matforge.org\/?p=1207"},"modified":"2026-08-21T14:28:53","modified_gmt":"2026-08-21T14:28:53","slug":"structured-learning-paths-computational-mechanics","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/","title":{"rendered":"Parcours d&rsquo;apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique","raw":"Parcours d'apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 10<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>Si vous n&rsquo;avez jamais cod\u00e9 un solveur d&rsquo;\u00e9l\u00e9ments finis auparavant &#8211; ou si vous connaissez quelques fonctions Python, mais que vous ne savez pas par o\u00f9 commencer -, c&rsquo;est votre feuille de route.<\/p>\n<p>Voici exactement comment les meilleurs programmes de m\u00e9canique informatique (Stanford, ETH Zurich, TUM) structurent le parcours de \u00ab\u00a0First Python Script\u00a0\u00bb \u00e0 \u00ab\u00a0J&rsquo;ai \u00e9crit mon propre solveur FEM\u00a0\u00bb et ce que vous devriez r\u00e9ellement construire \u00e0 chaque \u00e9tape.<\/p>\n<p>\u00c9vitez les conjectures. Suivez l&rsquo;\u00e9chelle.<\/p>\n<h2>tl;dr \u2014 Ce que vous devez savoir<\/h2>\n<p><strong>Le chemin en 6&nbsp;\u00e9tapes&nbsp;:<\/strong><\/p>\n<ol>\n<li><strong>Construisez d&rsquo;abord les trois piliers&nbsp;:<\/strong> Math\u00e9matiques appliqu\u00e9es, m\u00e9canique du continuum et informatique &#8211; tous les trois ne sont pas n\u00e9gociables en m\u00e9canique informatique.<\/li>\n<li><strong>Commencez avec un \u00e9l\u00e9ment 1D Spring.<\/strong> C&rsquo;est tout. Un \u00e9l\u00e9ment. Une matrice de rigidit\u00e9. Nothing else matters until you can do this yourself.<\/li>\n<li><strong>Progression \u00e0 travers 1D \u2192 2D \u2192 3D&nbsp;:<\/strong> ressorts 1D, maillages 2D (triangles, quads), puis solides 3D (t\u00e9tra\u00e8dres, hexa\u00e8dres). Il s&rsquo;agit de l&rsquo;\u00e9chelle de codage progressive \u00e9prouv\u00e9e.<\/li>\n<li><strong>Apprendre le g\u00e9nie logiciel en parall\u00e8le&nbsp;:<\/strong> Git, tests, profilage et code modulaire. Stanford enseigne ceci <em>Avant<\/em> M\u00e9canique de calcul, pas apr\u00e8s.<\/li>\n<li><strong>Utilisez Python pour l&rsquo;apprentissage, puis les langues compil\u00e9es gradu\u00e9es&nbsp;:<\/strong> Python (numpy, scipy) est la bonne pile \u00e9ducative. Apprenez \u00e9ventuellement C++ ou Fortran pour des simulations \u00e0 l&rsquo;\u00e9chelle de la production.<\/li>\n<li><strong>Cr\u00e9ez votre propre code FE avant de faire confiance aux logiciels commerciaux&nbsp;:<\/strong> L&rsquo;\u00e9tude de Warwick a r\u00e9v\u00e9l\u00e9 que 85&nbsp;% des \u00e9tudiants qui avaient \u00e9crit leurs propres codes FE comprenaient mieux le mat\u00e9riel que ceux qui n&rsquo;utilisaient que des outils commerciaux.<\/li>\n<\/ol>\n<p><strong>Le moyen le plus rapide de commencer&nbsp;?<\/strong> Ouvrez un ordinateur portable Jupyter, \u00e9crivez un solveur d&rsquo;\u00e9l\u00e9ments \u00e0 ressort 1D et arr\u00eatez de regarder les barres de menu dans Abaqus.<\/p>\n<hr>\n<h2>Les trois piliers de la m\u00e9canique informatique<\/h2>\n<p>La m\u00e9canique informatique vit \u00e0 l&rsquo;intersection de trois disciplines. Si vous n&rsquo;\u00eates fort que dans un seul, vous frapperez les murs &#8211; rapidement.<\/p>\n<p><strong>Math\u00e9matiques appliqu\u00e9es<\/strong> Vous donne le langage&nbsp;: alg\u00e8bre lin\u00e9aire (assemblage de la matrice, probl\u00e8mes de valeurs propres), calcul (gradients, int\u00e9grales, PDE), analyse num\u00e9rique (stabilit\u00e9, convergence, estimation des erreurs).<\/p>\n<p><strong>M\u00e9canique du continuum<\/strong> vous donne la physique&nbsp;: relations contrainte-d\u00e9formation, \u00e9quations d&rsquo;\u00e9quilibre, conditions aux limites, mod\u00e8les constitutifs.<\/p>\n<p><strong>Informatique<\/strong> vous offre les outils&nbsp;: structures de donn\u00e9es, algorithmes, gestion de la m\u00e9moire, parall\u00e9lisation, tests, profilage.<\/p>\n<p>L&rsquo;IA Vue d&rsquo;ensemble Comparaison des programmes d&rsquo;\u00e9tudes \u00e0 partir de TUM comms mappe directement sur ces piliers \u2014 Math\u00e9matiques \u2192 M\u00e9canique \u2192 Calcul \u2192 Application \u2014 Et ce n&rsquo;est pas une co\u00efncidence. Les programmes qui n&rsquo;enseignent pas les trois en parall\u00e8le produisent des \u00e9tudiants qui peuvent d\u00e9river des \u00e9quations mais qui ne peuvent pas les coder, ou qui peuvent coder mais ne comprennent pas la physique.<\/p>\n<p>Si vous partez de z\u00e9ro, la commande compte. Voici ce que je recommande :<\/p>\n<ul>\n<li><strong>Commencez par les math\u00e9matiques<\/strong> (alg\u00e8bre lin\u00e9aire, calcul, m\u00e9thodes num\u00e9riques d&rsquo;introduction) aux c\u00f4t\u00e9s de <strong>programmation de base de python<\/strong>.<\/li>\n<li><strong>Simultan\u00e9ment<\/strong>, commencez \u00e0 lire les fondamentaux de la m\u00e9canique du continuum &#8211; contrainte, contrainte, \u00e9quilibre.<\/li>\n<li><strong>Couche en informatique<\/strong> au d\u00e9but&nbsp;: Git, tests et mod\u00e8les de d\u00e9bogage. N&rsquo;attendez pas la troisi\u00e8me ann\u00e9e pour vous soucier du contr\u00f4le des versions.<\/li>\n<\/ul>\n<p>Le pipeline de mod\u00e9lisation des \u00e9quations \u00e0 la simulation traverse simultan\u00e9ment les trois piliers. Si vous d\u00e9butez dans le flux de travail complet, la lecture du <a href=\"https:\/\/matforge.org\/from-equations-to-simulations-the-modeling-pipeline\/\" target=\"_blank\" rel=\"nofollow noopener\">Guide des \u00e9quations aux simulations<\/a> vous donne le contexte d&rsquo;une vue d&rsquo;ensemble avant de plonger dans l&rsquo;\u00e9chelle \u00e9tape par \u00e9tape ci-dessous.<\/p>\n<hr>\n<h2>L&rsquo;\u00e9chelle de codage progressive 1D \u2192 2D \u2192 3D<\/h2>\n<p>C&rsquo;est le cadre le plus important de cet article. Chaque \u00e9tudiant en m\u00e9canique informatique suit cette progression, que son programme soit explicite ou non \u00e0 ce sujet.<\/p>\n<h3>Phase 1 : 1D \u2014 Ressorts et barres (la fondation)<\/h3>\n<p><strong>Ce que vous apprenez&nbsp;:<\/strong> Assemblage de la matrice de rigidit\u00e9, forces nodales, conditions aux limites, cartographie globale des coordonn\u00e9es, assemblage \u00e9l\u00e9mentaire.<\/p>\n<p><strong>Ce que vous construisez&nbsp;:<\/strong> Une fonction Python qui prend des \u00e9l\u00e9ments de ressort 1D, assemble une matrice de rigidit\u00e9 globale, applique des conditions aux limites et r\u00e9sout <code>F = Kx<\/code>.<\/p>\n<p><strong>Jalons concrets&nbsp;:<\/strong><\/p>\n<ul>\n<li>R\u00e9soudre un syst\u00e8me de s\u00e9rie \u00e0 5 ressorts avec une extr\u00e9mit\u00e9 fixe<\/li>\n<li>Ajouter un n\u0153ud avec un d\u00e9placement prescrit<\/li>\n<li>Mapper les coordonn\u00e9es de l&rsquo;\u00e9l\u00e9ment aux coordonn\u00e9es globales<\/li>\n<li>R\u00e9diger un test unitaire qui v\u00e9rifie l&rsquo;\u00e9quilibre de force<\/li>\n<li>D\u00e9placement du trac\u00e9 VS position<\/li>\n<\/ul>\n<p><strong>Pourquoi cela est important&nbsp;:<\/strong> Si vous ne pouvez pas assembler une matrice de rigidit\u00e9 \u00e0 la main et l&rsquo;\u00e9crire en Python en un apr\u00e8s-midi, vous n&rsquo;\u00eates pas pr\u00eat pour la 2D. C&rsquo;est le moment o\u00f9 \u00ab\u00a0FEM\u00a0\u00bb cesse d&rsquo;\u00eatre un mot \u00e0 la mode et commence \u00e0 \u00eatre une proc\u00e9dure que vous pouvez ex\u00e9cuter.<\/p>\n<p><strong>Par o\u00f9 commencer&nbsp;:<\/strong> Lisez l&rsquo;article <a\u00a00>Qu&rsquo;est-ce que la simulation scientifique et pourquoi cela est important pour comprendre l&rsquo;\u00e9cosyst\u00e8me de la simulation avant de commencer \u00e0 coder. Essayez ensuite <a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\" target=\"_blank\" rel=\"nofollow noopener\">Cet exemple de FIPY<\/a> pour voir comment le code Python structur\u00e9 g\u00e8re la discr\u00e9tisation, m\u00eame s&rsquo;il s&rsquo;agit d&rsquo;un probl\u00e8me de diffusion, les sch\u00e9mas de discr\u00e9tisation se transf\u00e8rent directement \u00e0 FEM.<\/a\u00a00><\/p>\n<h3>Phase 2 : 2D \u2014 maillages, continua et r\u00e9alit\u00e9 (le vrai travail)<\/h3>\n<p><strong>Ce que vous apprenez&nbsp;:<\/strong>&nbsp;g\u00e9n\u00e9ration de maillages (triangles CST, quadrilat\u00e8res), fonctions de forme, int\u00e9gration num\u00e9rique (quadrature de Gauss), assemblage de matrices clairsem\u00e9es, r\u00e9solution de syst\u00e8mes plus importants.<\/p>\n<p><strong>Ce que vous cr\u00e9ez&nbsp;:<\/strong> Un solveur \u00e9lastique 2D avec g\u00e9n\u00e9ration de maillage, \u00e9valuation de la fonction de forme et assemblage de matrice clairsem\u00e9e.<\/p>\n<p><strong>Jalons concrets&nbsp;:<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage triangulaire pour un domaine carr\u00e9<\/li>\n<li>Impl\u00e9menter les fonctions de forme CST (Triangle de d\u00e9formation constante)<\/li>\n<li>Assembler une matrice de rigidit\u00e9 d&rsquo;\u00e9lasticit\u00e9 2D<\/li>\n<li>Appliquer des contraintes planes par rapport aux conditions de d\u00e9formation plane<\/li>\n<li>R\u00e9solvez avec le solveur clairsem\u00e9 de Scipy (scipy.sparse.linalg)<\/li>\n<li>Visualisez le maillage d\u00e9form\u00e9 avec matplotlib<\/li>\n<\/ul>\n<p><strong>Pourquoi cela est important&nbsp;:<\/strong> 2D est l&rsquo;endroit o\u00f9 FEM devient <em>actuelle<\/em> engineering. Vous avez maintenant affaire \u00e0 des maillages, des fonctions de forme et les mod\u00e8les de matrice clairsem\u00e9es qui dominent les solveurs du monde r\u00e9el. C&rsquo;est \u00e9galement l\u00e0 que les \u00e9tudiants rencontrent g\u00e9n\u00e9ralement leurs premi\u00e8res \u00e9tudes de convergence.<\/p>\n<p><strong>La le\u00e7on de qualit\u00e9 du maillage&nbsp;:<\/strong> Ne sautez pas les \u00e9tudes de convergence \u00e0 ce stade. <a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\" target=\"_blank\" rel=\"nofollow noopener\">ce guide sur la qualit\u00e9 des maillages et les \u00e9tudes de convergence<\/a> explique Comment prouver que votre solution est en train de converger, pas simplement de deviner.<\/p>\n<h3>Phase 3 : 3D \u2014 Solides, continua et r\u00e9alit\u00e9 de la production (la pierre angulaire)<\/h3>\n<p><strong>Ce que vous apprenez&nbsp;:<\/strong>&nbsp;\u00e9l\u00e9ments t\u00e9tra\u00e9driques et hexa\u00e9driques 3D, m\u00e9canique solide (param\u00e8tres boiteux, ratio de Poisson), raffinement de maillage adaptatif, assemblage parall\u00e8le, goulots d&rsquo;\u00e9tranglement.<\/p>\n<p><strong>Ce que vous cr\u00e9ez&nbsp;:<\/strong> Un solveur 3D FEM complet avec visualisation, v\u00e9rification de la convergence et profilage des performances.<\/p>\n<p><strong>Jalons concrets&nbsp;:<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage t\u00e9tra\u00e9drique pour un domaine 3D<\/li>\n<li>Impl\u00e9menter des fonctions de forme de t\u00e9tra\u00e8dre lin\u00e9aire<\/li>\n<li>Assembler la matrice de rigidit\u00e9 d&rsquo;\u00e9lasticit\u00e9 3D<\/li>\n<li>Profilez votre code (trouver des goulots d&rsquo;\u00e9tranglement)<\/li>\n<li>Ajouter un raffinement de maillage adaptatif<\/li>\n<li>Comparez avec une solution de r\u00e9f\u00e9rence<\/li>\n<\/ul>\n<p><strong>Pourquoi cela est important&nbsp;:<\/strong> 3D est l&rsquo;endroit o\u00f9 la m\u00e9canique de calcul devient de niveau de production. Il s&rsquo;agit de la pierre angulaire avant la sp\u00e9cialisation de niveau sup\u00e9rieur. Si vous pouvez cr\u00e9er un solveur 3D FEM fonctionnel \u00e0 partir de z\u00e9ro, vous \u00eates au niveau d&rsquo;un ing\u00e9nieur de simulation junior.<\/p>\n<hr>\n<h2>Alphab\u00e9tisation en g\u00e9nie logiciel \u2014 La voie parall\u00e8le manquante<\/h2>\n<p>Voici ce que presque aucun programme de premier cycle ne fait bien&nbsp;: enseigner le g\u00e9nie logiciel aux c\u00f4t\u00e9s de la m\u00e9canique informatique. Le CME 211 de Stanford (Python\/C++ pour les scientifiques et les ing\u00e9nieurs) est l&rsquo;exception &#8211; et c&rsquo;est exactement pourquoi les dipl\u00f4m\u00e9s de Stanford \u00e9crivent un meilleur code de simulation que la plupart.<\/p>\n<p><strong>Pourquoi l&rsquo;ing\u00e9nierie logicielle compte dans la simulation&nbsp;:<\/strong><\/p>\n<p>Votre code FEM n&rsquo;est pas un devoir. C&rsquo;est un outil de recherche. Il durera des heures ou des jours. Il sera partag\u00e9 avec les collaborateurs. Il sera revisit\u00e9 des mois plus tard. Si votre code ne peut pas \u00eatre mis en version, test\u00e9 et profil\u00e9, vous n&rsquo;avez pas d&rsquo;outil de recherche. Vous disposez d&rsquo;un ordinateur portable avec des scripts temporaires.<\/p>\n<p><strong>La liste de contr\u00f4le du g\u00e9nie logiciel pour les \u00e9tudiants&nbsp;:<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th>Comp\u00e9tence<\/th>\n<th>Quand l&rsquo;apprendre<\/th>\n<th>Pourquoi c&rsquo;est important<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Git + contr\u00f4le de version<\/td>\n<td>Jour 1<\/td>\n<td>suivre chaque changement&nbsp;; Collaborer avec des pairs<\/td>\n<\/tr>\n<tr>\n<td>Pytest + test unitaire<\/td>\n<td>Phase&nbsp;1 (1D)<\/td>\n<td>V\u00e9rifiez que votre matrice de rigidit\u00e9 s&rsquo;assemble correctement<\/td>\n<\/tr>\n<tr>\n<td>D\u00e9bogage (Imprimer \u2192 Profileur)<\/td>\n<td>Phase 1-2<\/td>\n<td>Trouver des fuites de m\u00e9moire, des indices incorrects, des erreurs num\u00e9riques<\/td>\n<\/tr>\n<tr>\n<td>Numpi + Scipy<\/td>\n<td>phase 1<\/td>\n<td>Pile de calcul scientifique de base<\/td>\n<\/tr>\n<tr>\n<td>Profilage des performances<\/td>\n<td>Phase 2 (2D)<\/td>\n<td>Trouvez les goulots d&rsquo;\u00e9tranglement avant qu&rsquo;ils ne deviennent des bloqueurs<\/td>\n<\/tr>\n<tr>\n<td>Conception de code modulaire<\/td>\n<td>Phase 2-3<\/td>\n<td>G\u00e9n\u00e9ration, assemblage, r\u00e9solution, r\u00e9solution, visualisation de maillage s\u00e9par\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Documentation<\/td>\n<td>Phase&nbsp;3 (3D)<\/td>\n<td>Expliquez ce que fait votre code&nbsp;; publiable<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Vous pouvez lire <a href=\"https:\/\/matforge.org\/version-control-patterns-git-branching-strategies-research\/\" target=\"_blank\" rel=\"nofollow noopener\">Mod\u00e8les de contr\u00f4le de version Logiciel<\/a> pour les strat\u00e9gies de branchement qui fonctionnent r\u00e9ellement dans des contextes de recherche, et <a href=\"https:\/\/matforge.org\/python-testing-patterns-for-scientific-code-beyond-pytest-basics\/\" target=\"_blank\" rel=\"nofollow noopener\">Mod\u00e8les de test Python pour le code scientifique<\/a> pour les strat\u00e9gies de test qui vont au-del\u00e0 des assertions de base de Pytest.<\/p>\n<p><strong>Ce que je choisirais&nbsp;:<\/strong> Commencez par Git le premier jour. Ajoutez PyTest dans la phase 1. Ajoutez le profilage dans la phase 2. Cette s\u00e9quence vous permet de d\u00e9tecter les erreurs avant qu&rsquo;elles ne se compliquent. N&rsquo;attendez pas. Plus t\u00f4t vous traiterez votre code comme un logiciel, moins vous le regretterez dans la phase 3.<\/p>\n<hr>\n<h2>Quand utiliser Python vs C++ vs Julia<\/h2>\n<p>C&rsquo;est la question que j&rsquo;entends la plus courante des \u00e9l\u00e8ves&nbsp;: \u00ab\u00a0Quelle langue dois-je utiliser&nbsp;?\u00a0\u00bb La r\u00e9ponse d\u00e9pend de votre \u00e9tape.<\/p>\n<table>\n<thead>\n<tr>\n<th>\u00c9tape<\/th>\n<th>Langue recommand\u00e9e<\/th>\n<th>Pourquoi<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Phase 1-2 (apprentissage)<\/td>\n<td><strong>Python<\/strong> (numpy, scipy)<\/td>\n<td>Boucle de r\u00e9troaction la plus rapide, \u00e9cosyst\u00e8me riche, ordinateurs portables Jupyter<\/td>\n<\/tr>\n<tr>\n<td>Phase 3 (Capstone)<\/td>\n<td><strong>Python + Cython<\/strong><\/td>\n<td>Optimisation des performances sans abandonner Python<\/td>\n<\/tr>\n<tr>\n<td>Simulation de production<\/td>\n<td><strong>C++ ou Fortran<\/strong><\/td>\n<td>Compil\u00e9, parall\u00e9lisable, pr\u00eat pour la production<\/td>\n<\/tr>\n<tr>\n<td>Surrogations ML \/ PINN<\/td>\n<td><strong>Python<\/strong> (PyTorch, TensorFlow)<\/td>\n<td>Les biblioth\u00e8ques ML sont en premier<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Python pour l&rsquo;apprentissage \u2014 Pas de d\u00e9bat.<\/strong> L&rsquo;\u00e9cosyst\u00e8me Python scientifique (<a href=\"https:\/\/matforge.org\/the-scientific-python-ecosystem-navigating-scipy-numpy-sympy-2\/\" target=\"_blank\" rel=\"nofollow noopener\">scipy, numpy, sympy<\/a>) vous donne une alg\u00e8bre lin\u00e9aire, une int\u00e9gration num\u00e9rique, des math\u00e9matiques symboliques et un tra\u00e7age dans une pile coh\u00e9rente. Vous ne pouvez pas \u00e9galer cette productivit\u00e9 en C++.<\/p>\n<p><strong>C++\/Fortran pour la production \u2014 in\u00e9vitable.<\/strong> Une fois que vos simulations sont suffisamment importantes pour que les frais g\u00e9n\u00e9raux de Python soient importants (et ils le seront), vous aurez besoin de code compil\u00e9. C++ avec Eigen ou Armadillo, ou Fortran avec syntaxe moderne, sont les normes de production.<\/p>\n<p><strong>Julia pour les curieux.<\/strong> Julia gagne du terrain dans la m\u00e9canique informatique (surtout pour les solveurs PDE via DifferentialEquations.jl). C&rsquo;est plus rapide que Python et plus accessible que le C++, mais ce n&rsquo;est pas encore la norme pour l&rsquo;\u00e9ducation des \u00e9tudiants.<\/p>\n<p><strong>Ma recommandation&nbsp;:<\/strong> Apprenez \u00e0 fond Python. Master Numpy, Scipy et Matplotlib. Apprenez ensuite C++ (ou Fortran) en parall\u00e8le au cours de la phase 2. \u00c0 la phase 3, vous serez pr\u00eat \u00e0 porter des parties critiques de performances de votre solveur vers le code compil\u00e9. Il s&rsquo;agit de la progression de la s\u00e9quence CME 211\u2192212 de Stanford.<\/p>\n<hr>\n<h2>Analyse comparative par rapport aux meilleurs programmes<\/h2>\n<p>\u00c0 quoi ressemblent r\u00e9ellement les meilleurs programmes de m\u00e9canique informatique&nbsp;? Voici une comparaison de quatre rep\u00e8res institutionnels.<\/p>\n<table>\n<thead>\n<tr>\n<th>Programme<\/th>\n<th>Dur\u00e9e<\/th>\n<th>structure<\/th>\n<th>Principales caract\u00e9ristiques<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Commas de Tum<\/strong><\/td>\n<td>Ma\u00eetrise (4 semestres, 120 ECTS)<\/td>\n<td>Progression en 4 phases<\/td>\n<td>120 ECTS au total, Fondations \u2192 \u00c9lectifs \u2192 Th\u00e8se, \u00c9cole d&rsquo;\u00e9t\u00e9 avec les meilleurs chercheurs<\/td>\n<\/tr>\n<tr>\n<td><strong>Stanford CME<\/strong><\/td>\n<td>Cours de deuxi\u00e8me cycle<\/td>\n<td>Pr\u00e9requis \u2192 Core \u2192 Capture<\/td>\n<td>CME 211 (ing\u00e9nierie logicielle) \u2192 CME 232 (m\u00e9canique informatique), CME 212 interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td><strong>ETH Zurich CSE<\/strong><\/td>\n<td>Licence (3 ans, 180 cr\u00e9dits)<\/td>\n<td>Progression de l&rsquo;ann\u00e9e 1 \u00e0 3<\/td>\n<td>Ann\u00e9e&nbsp;1&nbsp;: Math\u00e9matiques unifi\u00e9es\/physique\/CS, Ann\u00e9e&nbsp;2&nbsp;: Sciences naturelles + Ing\u00e9nierie, Ann\u00e9e&nbsp;3&nbsp;: Sp\u00e9cialisation + HPC<\/td>\n<\/tr>\n<tr>\n<td><strong>MIT OCW<\/strong><\/td>\n<td>\u00c9tudiant<\/td>\n<td>cours par cours<\/td>\n<td>Un didacticiel ouvert, aucun dipl\u00f4me structur\u00e9, mais d&rsquo;excellents modules individuels<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Le BSC&nbsp;CSE de Zurich est l&rsquo;\u00e9quivalent le plus proche d&rsquo;un parcours d&rsquo;apprentissage en m\u00e9canique informatique.<\/strong> Contrairement \u00e0 la plupart des programmes qui traitent la science informatique comme un cours de soutien, ETH la traite comme une discipline de premi\u00e8re classe avec son propre programme d&rsquo;\u00e9tudes. L&rsquo;ann\u00e9e 1 force les math\u00e9matiques unifi\u00e9es\/physique\/cs. L&rsquo;ann\u00e9e 2 s&rsquo;approfondit en sciences naturelles. L&rsquo;ann\u00e9e 3 est sp\u00e9cialis\u00e9e. C&rsquo;est le programme rare qui structure r\u00e9ellement la progression compl\u00e8te.<\/p>\n<p>Si vous \u00eates dans un programme sans trajectoire structur\u00e9e (ce qui est la plupart d&rsquo;entre eux), utilisez ces benchmarks pour \u00e9valuer votre propre programme. O\u00f9 est la lumi\u00e8re&nbsp;? O\u00f9 es-tu fort ? Remplissez d\u00e9lib\u00e9r\u00e9ment les lacunes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png\" alt=\"Structure du programme d'\u00e9tudes COMMAS montrant les fondations du 1er semestre \u2192 2e\/3e semestre au choix \u2192 4e semestre de th\u00e8se\" width=\"1200\" height=\"675\"><\/p>\n<p><em>La structure des programmes d&rsquo;\u00e9tudes du programme Commas Summer School de l&rsquo;Universit\u00e9 de Stuttgart &#8211; montre la progression progressive des fondations \u00e0 la th\u00e8se.<\/em><\/p>\n<hr>\n<h2>Que construire r\u00e9ellement &#8211; la feuille de route d&rsquo;un projet d&rsquo;\u00e9tudiant<\/h2>\n<p>La th\u00e9orie est invisible sans projets concrets. Voici la progression que je recommande, class\u00e9e par difficult\u00e9 et valeur p\u00e9dagogique.<\/p>\n<p><strong>Niveau&nbsp;1&nbsp;\u2013&nbsp;\u00c9l\u00e9ment \u00e0 ressort&nbsp;1D (2&nbsp;&#8211;&nbsp;4&nbsp;heures)<\/strong><\/p>\n<ul>\n<li>\u00c9crire une fonction qui assemble une matrice de rigidit\u00e9 globale \u00e0 partir de N \u00e9l\u00e9ments de ressort<\/li>\n<li>Appliquer les conditions aux limites de Dirichlet<\/li>\n<li>r\u00e9soudre avec <code>numpy.linalg.solve<\/code><\/li>\n<li>D\u00e9placement du trac\u00e9<\/li>\n<li><em>Ceci est votre premier code FEM. Rien avant que cela n&rsquo;importe jusqu&rsquo;\u00e0 ce que cela fonctionne.<\/em><\/li>\n<\/ul>\n<p><strong>Niveau 2 \u2014 Solveur d&rsquo;\u00e9lasticit\u00e9 2D (1 \u00e0 2&nbsp;semaines)<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage triangulaire (ou importer un)<\/li>\n<li>Impl\u00e9menter les fonctions de forme CST<\/li>\n<li>Assembler la matrice de rigidit\u00e9 d&rsquo;\u00e9lasticit\u00e9 2D<\/li>\n<li>r\u00e9soudre avec <code>scipy.sparse.linalg<\/code><\/li>\n<li>Visualiser le maillage d\u00e9form\u00e9<\/li>\n<li><em>C&rsquo;est la v\u00e9ritable \u00e9tape d&rsquo;ing\u00e9nierie. C&rsquo;est l\u00e0 que FEM devient une v\u00e9ritable ing\u00e9nierie.<\/em><\/li>\n<\/ul>\n<p><strong>Niveau 3 \u2014 Solveur de m\u00e9canique solide 3D (3-6 semaines)<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage t\u00e9tra\u00e9drique<\/li>\n<li>Impl\u00e9menter des fonctions de forme de t\u00e9tra\u00e8dre lin\u00e9aire<\/li>\n<li>Assembler la matrice de rigidit\u00e9 3D<\/li>\n<li>Ajouter un raffinement de maillage adaptatif<\/li>\n<li>Profiler et optimiser<\/li>\n<li>Comparez avec une solution de r\u00e9f\u00e9rence<\/li>\n<\/ul>\n<p><strong>Niveau&nbsp;4&nbsp;\u2013&nbsp;Comparaison des solveurs (avanc\u00e9)<\/strong><\/p>\n<ul>\n<li>Comparez votre solveur \u00e0 <a href=\"https:\/\/fenicsproject.org\/\" target=\"_blank\" rel=\"nofollow noopener\">fenics<\/a> ou <a href=\"https:\/\/www.fipy.org\/\" target=\"_blank\" rel=\"nofollow noopener\">fipy<\/a><\/li>\n<li>Pr\u00e9cision de r\u00e9f\u00e9rence, vitesse, m\u00e9moire<\/li>\n<li>R\u00e9diger un rapport de comparaison<\/li>\n<li><em>Ceci vous apprend \u00e0 utiliser des outils open source de mani\u00e8re critique, pas seulement comme des bo\u00eetes noires.<\/em><\/li>\n<\/ul>\n<p>Vous pouvez trouver du code de d\u00e9marrage pour certains d&rsquo;entre eux dans la <a href=\"https:\/\/matforge.org\/student-project-ideas-computational-science-simulation\/\" target=\"_blank\" rel=\"nofollow noopener\">liste d&rsquo;id\u00e9es de projets d&rsquo;\u00e9tudiants<\/a> &#8211; non pas en tant que voies d&rsquo;apprentissage, mais en tant que mod\u00e8les concrets que vous pouvez \u00e9tudier et adapter.<\/p>\n<hr>\n<h2>Preuve&nbsp;: Pourquoi le codage pratique bat-il la formation en bo\u00eete noire<\/h2>\n<p>Permettez-moi d&rsquo;\u00eatre direct sur ce que montre la recherche&nbsp;: <strong>\u00c9crire votre propre code FE vaut l&rsquo;apprentissage des menus de logiciels commerciaux \u00e0 chaque fois.<\/strong><\/p>\n<p>L&rsquo;\u00e9tude de Warwick (Khajehsaeid &amp; Riazifar, 2023) a interrog\u00e9 des \u00e9tudiants qui ont construit et adapt\u00e9 leurs propres codes d&rsquo;\u00e9l\u00e9ments finis &#8211; \u00e0 partir de la 2D, s&rsquo;\u00e9tendant \u00e0 la 3D &#8211; et les ont compar\u00e9s aux \u00e9tudiants qui n&rsquo;utilisaient que des packages FE commerciaux.<\/p>\n<p><strong>Le r\u00e9sultat&nbsp;:<\/strong> 85&nbsp;% des \u00e9tudiants qui ont r\u00e9dig\u00e9 leurs propres codes ont indiqu\u00e9 qu&rsquo;il \u00ab\u00a0a aid\u00e9 \u00e0 comprendre comment la th\u00e9orie se traduit par des outils de r\u00e9solution de probl\u00e8mes et des logiciels de FE\u00a0\u00bb. Ce n&rsquo;est pas une petite majorit\u00e9. C&rsquo;est un consensus \u00e9crasant.<\/p>\n<p>Les \u00e9tudiants qui n&rsquo;utilisaient que des logiciels commerciaux (ABAQUS, ANSYS, COMSOL) pouvaient ex\u00e9cuter des simulations. Ils pourraient cliquer sur les menus. Mais ils ne pouvaient pas expliquer ce que leur logiciel calculait r\u00e9ellement.<\/p>\n<p>Les \u00e9tudiants qui ont \u00e9crit leurs propres codes ont compris :<\/p>\n<ul>\n<li>Ce que repr\u00e9sente r\u00e9ellement la matrice de rigidit\u00e9<\/li>\n<li>Comment les conditions aux limites modifient le syst\u00e8me<\/li>\n<li>Pourquoi l&rsquo;int\u00e9gration num\u00e9rique est importante<\/li>\n<li>Quand faire confiance ou se m\u00e9fier des r\u00e9sultats<\/li>\n<\/ul>\n<p><strong>Ma recommandation&nbsp;:<\/strong> Commencez par votre propre solveur 1D. Passez en 2D. Utilisez ensuite FENICS ou FIPY comme outils de v\u00e9rification, et non les remplacements. C&rsquo;est la progression que l&rsquo;\u00e9tude de Warwick a valid\u00e9e.<\/p>\n<p>Si vous ne savez pas quand utiliser FEM vs FVM vs FDM, commencez par lire <a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\" target=\"_blank\" rel=\"nofollow noopener\">Cette comparaison pratique<\/a>. Il explique clairement les diff\u00e9rences avant de commencer \u00e0 coder.<\/p>\n<hr>\n<h2>Vos prochaines \u00e9tapes &#8211; par o\u00f9 commencer aujourd&rsquo;hui<\/h2>\n<p>Vous n&rsquo;avez pas besoin d&rsquo;attendre une classe. Vous n&rsquo;avez pas besoin d&rsquo;une autorisation. Voici exactement ce qu&rsquo;il faut faire ensuite&nbsp;:<\/p>\n<ol>\n<li><strong>Installez Python, NumPy, Scipy et Matplotlib.<\/strong> Si vous avez besoin d&rsquo;aide, <a href=\"https:\/\/matforge.org\/the-scientific-python-ecosystem-navigating-scipy-numpy-sympy-2\/\" target=\"_blank\" rel=\"nofollow noopener\">ce guide sur le L&rsquo;\u00e9cosyst\u00e8me scientifique Python<\/a> vous guide \u00e0 travers la pile compl\u00e8te.<\/li>\n<li><strong>\u00c9crivez un \u00e9l\u00e9ment de ressort 1D.<\/strong> Cinq ressorts. Fin fixe. r\u00e9soudre. trac\u00e9. Rien de plus.<\/li>\n<li><strong>Engagez-le sur git.<\/strong> Premier jour. Suivez chaque changement. Apprenez \u00e0 brancher.<\/li>\n<li><strong>Ajouter un test unitaire.<\/strong> V\u00e9rifiez l&rsquo;\u00e9quilibre de force. Prouvez que votre code fonctionne.<\/li>\n<li><strong>\u00c9largir en 2D.<\/strong> Triangles CST. g\u00e9n\u00e9ration de maillage. Assemblage clairsem\u00e9.<\/li>\n<li><strong>Profil. Optimiser. R\u00e9p\u00e9tez.<\/strong> Trouvez des goulots d&rsquo;\u00e9tranglement avec <a href=\"https:\/\/matforge.org\/scientific-computing-performance-profiling-identifying-bottlenecks\/\" target=\"_blank\" rel=\"nofollow noopener\">Ce guide de profilage<\/a>.<\/li>\n<\/ol>\n<p><strong>L&rsquo;\u00e9tape la plus importante&nbsp;?<\/strong> Commencez par l&rsquo;\u00e9l\u00e9ment 1D Spring. Arr\u00eatez de regarder les barres de menu \u00e0 Abaqus. Cr\u00e9ez votre propre solveur. C&rsquo;est la diff\u00e9rence entre conna\u00eetre FEM et le comprendre.<\/p>\n<p><strong>Voulez d&rsquo;abord explorer Fipy&nbsp;?<\/strong> Commencez par la <a href=\"https:\/\/matforge.org\/reading-and-understanding-fipy-documentation\/\" target=\"_blank\" rel=\"nofollow noopener\">Fipy Documentation<\/a> et parcourez <a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\" target=\"_blank\" rel=\"nofollow noopener\">cet exemple de diffusion<\/a>. Cela ne vous apprendra pas directement FEM, mais cela vous apprendra les mod\u00e8les Python qui transf\u00e8rent.<\/p>\n<hr>\n<h2>Guides connexes<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/from-equations-to-simulations-the-modeling-pipeline\/\" target=\"_blank\" rel=\"nofollow noopener\">Des \u00e9quations aux simulations : la mod\u00e9lisation Pipeline<\/a> \u2014 Contexte global pour le flux de travail de simulation complet<\/li>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\" target=\"_blank\" rel=\"nofollow noopener\">Quand utiliser FEM, FVM ou FDM<\/a> \u2014 Comparaison pratique des m\u00e9thodes de discr\u00e9tisation pour les d\u00e9butants<\/li>\n<li><a href=\"https:\/\/matforge.org\/the-scientific-python-ecosystem-navigating-scipy-numpy-sympy-2\/\" target=\"_blank\" rel=\"nofollow noopener\">le scientifique \u00c9cosyst\u00e8me Python<\/a> \u2014 Pr\u00e9sentation de la pile d&rsquo;outils pour la simulation<\/li>\n<li><a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\" target=\"_blank\" rel=\"nofollow noopener\">R\u00e9solution des \u00e9quations de diffusion avec Fipy<\/a> \u2014 Python concret Exemple \u00e0 \u00e9tudier<\/li>\n<li><a href=\"https:\/\/matforge.org\/unit-testing-scientific-code-pytest-strategies-research-projects\/\" target=\"_blank\" rel=\"nofollow noopener\">Tests unitaires pour le code scientifique<\/a> \u2014 Test des strat\u00e9gies qui vont au-del\u00e0 des assertions de base<\/li>\n<li><a href=\"https:\/\/matforge.org\/version-control-patterns-git-branching-strategies-research\/\" target=\"_blank\" rel=\"nofollow noopener\">Mod\u00e8les de contr\u00f4le de version pour les logiciels scientifiques<\/a> \u2014 Strat\u00e9gies de branchement Git pour la recherche<\/li>\n<li><a href=\"https:\/\/matforge.org\/scientific-computing-performance-profiling-identifying-bottlenecks\/\" target=\"_blank\" rel=\"nofollow noopener\">Profilage des performances de calcul scientifique<\/a> \u2014 Identification et correction des goulots d&rsquo;\u00e9tranglement<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\" target=\"_blank\" rel=\"nofollow noopener\">\u00c9tudes de qualit\u00e9 et de convergence<\/a> Votre solution converge<\/li>\n<li><a href=\"https:\/\/matforge.org\/gpu-acceleration-for-fipy-simulations-cupy-and-numba-integration-guide\/\" target=\"_blank\" rel=\"nofollow noopener\">Acc\u00e9l\u00e9ration GPU pour les simulations FIPY<\/a> \u2014 Mise \u00e0 l&rsquo;\u00e9chelle jusqu&rsquo;au calcul GPU<\/li>\n<li><a href=\"https:\/\/matforge.org\/choosing-right-python-pde-solver-fipy-py-pde-fenics\/\" target=\"_blank\" rel=\"nofollow noopener\">Choisir le bon solveur Python PDE<\/a> \u2014 Comparaison FIPY vs PY-PDE vs Fenics<\/li>\n<li><a href=\"https:\/\/matforge.org\/hpc-python-workflows-from-laptop-to-supercomputer\/\" target=\"_blank\" rel=\"nofollow noopener\">hpc python Flux de travail<\/a> \u2014 Mise \u00e0 l&rsquo;\u00e9chelle d&rsquo;un ordinateur portable au superordinateur<\/li>\n<\/ul>\n<hr>\n<p><em>Cet article d\u00e9crit la progression \u00e9tape par \u00e9tape de \u00ab\u00a0First Python Script\u00a0\u00bb \u00e0 \u00ab\u00a0Own Fem Solver\u00a0\u00bb, en utilisant les rep\u00e8res institutionnels de Tum Commas, Stanford CME, ETH Zurich CSE et MIT OCW comme guides structurels. L&rsquo;\u00e9chelle de codage 1D \u2192 2D \u2192 3D est le cadre le plus important &#8211; suivez-le et vous d\u00e9velopperez une v\u00e9ritable compr\u00e9hension, pas seulement une familiarit\u00e9 logicielle.<\/em><\/p>\n","protected":false,"raw":"<p>Si vous n'avez jamais cod\u00e9 un solveur d'\u00e9l\u00e9ments finis auparavant - ou si vous connaissez quelques fonctions Python, mais que vous ne savez pas par o\u00f9 commencer -, c'est votre feuille de route.<\/p>\n<p>Voici exactement comment les meilleurs programmes de m\u00e9canique informatique (Stanford, ETH Zurich, TUM) structurent le parcours de \"First Python Script\" \u00e0 \"J'ai \u00e9crit mon propre solveur FEM\" et ce que vous devriez r\u00e9ellement construire \u00e0 chaque \u00e9tape.<\/p>\n<p>\u00c9vitez les conjectures. Suivez l'\u00e9chelle.<\/p>\n<h2>tl;dr \u2014 Ce que vous devez savoir<\/h2>\n<p><strong>Le chemin en 6&nbsp;\u00e9tapes&nbsp;:<\/strong><\/p>\n<ol>\n<li><strong>Construisez d'abord les trois piliers&nbsp;:<\/strong> Math\u00e9matiques appliqu\u00e9es, m\u00e9canique du continuum et informatique - tous les trois ne sont pas n\u00e9gociables en m\u00e9canique informatique.<\/li>\n<li><strong>Commencez avec un \u00e9l\u00e9ment 1D Spring.<\/strong> C'est tout. Un \u00e9l\u00e9ment. Une matrice de rigidit\u00e9. Nothing else matters until you can do this yourself.<\/li>\n<li><strong>Progression \u00e0 travers 1D \u2192 2D \u2192 3D&nbsp;:<\/strong> ressorts 1D, maillages 2D (triangles, quads), puis solides 3D (t\u00e9tra\u00e8dres, hexa\u00e8dres). Il s'agit de l'\u00e9chelle de codage progressive \u00e9prouv\u00e9e.<\/li>\n<li><strong>Apprendre le g\u00e9nie logiciel en parall\u00e8le&nbsp;:<\/strong> Git, tests, profilage et code modulaire. Stanford enseigne ceci <em>Avant<\/em> M\u00e9canique de calcul, pas apr\u00e8s.<\/li>\n<li><strong>Utilisez Python pour l'apprentissage, puis les langues compil\u00e9es gradu\u00e9es&nbsp;:<\/strong> Python (numpy, scipy) est la bonne pile \u00e9ducative. Apprenez \u00e9ventuellement C++ ou Fortran pour des simulations \u00e0 l'\u00e9chelle de la production.<\/li>\n<li><strong>Cr\u00e9ez votre propre code FE avant de faire confiance aux logiciels commerciaux&nbsp;:<\/strong> L'\u00e9tude de Warwick a r\u00e9v\u00e9l\u00e9 que 85&nbsp;% des \u00e9tudiants qui avaient \u00e9crit leurs propres codes FE comprenaient mieux le mat\u00e9riel que ceux qui n'utilisaient que des outils commerciaux.<\/li>\n<\/ol>\n<p><strong>Le moyen le plus rapide de commencer&nbsp;?<\/strong> Ouvrez un ordinateur portable Jupyter, \u00e9crivez un solveur d'\u00e9l\u00e9ments \u00e0 ressort 1D et arr\u00eatez de regarder les barres de menu dans Abaqus.<\/p>\n<hr>\n<h2>Les trois piliers de la m\u00e9canique informatique<\/h2>\n<p>La m\u00e9canique informatique vit \u00e0 l'intersection de trois disciplines. Si vous n'\u00eates fort que dans un seul, vous frapperez les murs - rapidement.<\/p>\n<p><strong>Math\u00e9matiques appliqu\u00e9es<\/strong> Vous donne le langage&nbsp;: alg\u00e8bre lin\u00e9aire (assemblage de la matrice, probl\u00e8mes de valeurs propres), calcul (gradients, int\u00e9grales, PDE), analyse num\u00e9rique (stabilit\u00e9, convergence, estimation des erreurs).<\/p>\n<p><strong>M\u00e9canique du continuum<\/strong> vous donne la physique&nbsp;: relations contrainte-d\u00e9formation, \u00e9quations d'\u00e9quilibre, conditions aux limites, mod\u00e8les constitutifs.<\/p>\n<p><strong>Informatique<\/strong> vous offre les outils&nbsp;: structures de donn\u00e9es, algorithmes, gestion de la m\u00e9moire, parall\u00e9lisation, tests, profilage.<\/p>\n<p>L'IA Vue d'ensemble Comparaison des programmes d'\u00e9tudes \u00e0 partir de TUM comms mappe directement sur ces piliers \u2014 Math\u00e9matiques \u2192 M\u00e9canique \u2192 Calcul \u2192 Application \u2014 Et ce n'est pas une co\u00efncidence. Les programmes qui n'enseignent pas les trois en parall\u00e8le produisent des \u00e9tudiants qui peuvent d\u00e9river des \u00e9quations mais qui ne peuvent pas les coder, ou qui peuvent coder mais ne comprennent pas la physique.<\/p>\n<p>Si vous partez de z\u00e9ro, la commande compte. Voici ce que je recommande :<\/p>\n<ul>\n<li><strong>Commencez par les math\u00e9matiques<\/strong> (alg\u00e8bre lin\u00e9aire, calcul, m\u00e9thodes num\u00e9riques d'introduction) aux c\u00f4t\u00e9s de <strong>programmation de base de python<\/strong>.<\/li>\n<li><strong>Simultan\u00e9ment<\/strong>, commencez \u00e0 lire les fondamentaux de la m\u00e9canique du continuum - contrainte, contrainte, \u00e9quilibre.<\/li>\n<li><strong>Couche en informatique<\/strong> au d\u00e9but&nbsp;: Git, tests et mod\u00e8les de d\u00e9bogage. N'attendez pas la troisi\u00e8me ann\u00e9e pour vous soucier du contr\u00f4le des versions.<\/li>\n<\/ul>\n<p>Le pipeline de mod\u00e9lisation des \u00e9quations \u00e0 la simulation traverse simultan\u00e9ment les trois piliers. Si vous d\u00e9butez dans le flux de travail complet, la lecture du <a href=\"https:\/\/matforge.org\/from-equations-to-simulations-the-modeling-pipeline\/\" target=\"_blank\" rel=\"nofollow noopener\">Guide des \u00e9quations aux simulations<\/a> vous donne le contexte d'une vue d'ensemble avant de plonger dans l'\u00e9chelle \u00e9tape par \u00e9tape ci-dessous.<\/p>\n<hr>\n<h2>L'\u00e9chelle de codage progressive 1D \u2192 2D \u2192 3D<\/h2>\n<p>C'est le cadre le plus important de cet article. Chaque \u00e9tudiant en m\u00e9canique informatique suit cette progression, que son programme soit explicite ou non \u00e0 ce sujet.<\/p>\n<h3>Phase 1 : 1D \u2014 Ressorts et barres (la fondation)<\/h3>\n<p><strong>Ce que vous apprenez&nbsp;:<\/strong> Assemblage de la matrice de rigidit\u00e9, forces nodales, conditions aux limites, cartographie globale des coordonn\u00e9es, assemblage \u00e9l\u00e9mentaire.<\/p>\n<p><strong>Ce que vous construisez&nbsp;:<\/strong> Une fonction Python qui prend des \u00e9l\u00e9ments de ressort 1D, assemble une matrice de rigidit\u00e9 globale, applique des conditions aux limites et r\u00e9sout <code>F = Kx<\/code>.<\/p>\n<p><strong>Jalons concrets&nbsp;:<\/strong><\/p>\n<ul>\n<li>R\u00e9soudre un syst\u00e8me de s\u00e9rie \u00e0 5 ressorts avec une extr\u00e9mit\u00e9 fixe<\/li>\n<li>Ajouter un n\u0153ud avec un d\u00e9placement prescrit<\/li>\n<li>Mapper les coordonn\u00e9es de l'\u00e9l\u00e9ment aux coordonn\u00e9es globales<\/li>\n<li>R\u00e9diger un test unitaire qui v\u00e9rifie l'\u00e9quilibre de force<\/li>\n<li>D\u00e9placement du trac\u00e9 VS position<\/li>\n<\/ul>\n<p><strong>Pourquoi cela est important&nbsp;:<\/strong> Si vous ne pouvez pas assembler une matrice de rigidit\u00e9 \u00e0 la main et l'\u00e9crire en Python en un apr\u00e8s-midi, vous n'\u00eates pas pr\u00eat pour la 2D. C'est le moment o\u00f9 \"FEM\" cesse d'\u00eatre un mot \u00e0 la mode et commence \u00e0 \u00eatre une proc\u00e9dure que vous pouvez ex\u00e9cuter.<\/p>\n<p><strong>Par o\u00f9 commencer&nbsp;:<\/strong> Lisez l'article <a\u00a00>Qu'est-ce que la simulation scientifique et pourquoi cela est important pour comprendre l'\u00e9cosyst\u00e8me de la simulation avant de commencer \u00e0 coder. Essayez ensuite <a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\" target=\"_blank\" rel=\"nofollow noopener\">Cet exemple de FIPY<\/a> pour voir comment le code Python structur\u00e9 g\u00e8re la discr\u00e9tisation, m\u00eame s'il s'agit d'un probl\u00e8me de diffusion, les sch\u00e9mas de discr\u00e9tisation se transf\u00e8rent directement \u00e0 FEM.<\/a\u00a00><\/p>\n<h3>Phase 2 : 2D \u2014 maillages, continua et r\u00e9alit\u00e9 (le vrai travail)<\/h3>\n<p><strong>Ce que vous apprenez&nbsp;:<\/strong>&nbsp;g\u00e9n\u00e9ration de maillages (triangles CST, quadrilat\u00e8res), fonctions de forme, int\u00e9gration num\u00e9rique (quadrature de Gauss), assemblage de matrices clairsem\u00e9es, r\u00e9solution de syst\u00e8mes plus importants.<\/p>\n<p><strong>Ce que vous cr\u00e9ez&nbsp;:<\/strong> Un solveur \u00e9lastique 2D avec g\u00e9n\u00e9ration de maillage, \u00e9valuation de la fonction de forme et assemblage de matrice clairsem\u00e9e.<\/p>\n<p><strong>Jalons concrets&nbsp;:<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage triangulaire pour un domaine carr\u00e9<\/li>\n<li>Impl\u00e9menter les fonctions de forme CST (Triangle de d\u00e9formation constante)<\/li>\n<li>Assembler une matrice de rigidit\u00e9 d'\u00e9lasticit\u00e9 2D<\/li>\n<li>Appliquer des contraintes planes par rapport aux conditions de d\u00e9formation plane<\/li>\n<li>R\u00e9solvez avec le solveur clairsem\u00e9 de Scipy (scipy.sparse.linalg)<\/li>\n<li>Visualisez le maillage d\u00e9form\u00e9 avec matplotlib<\/li>\n<\/ul>\n<p><strong>Pourquoi cela est important&nbsp;:<\/strong> 2D est l'endroit o\u00f9 FEM devient <em>actuelle<\/em> engineering. Vous avez maintenant affaire \u00e0 des maillages, des fonctions de forme et les mod\u00e8les de matrice clairsem\u00e9es qui dominent les solveurs du monde r\u00e9el. C'est \u00e9galement l\u00e0 que les \u00e9tudiants rencontrent g\u00e9n\u00e9ralement leurs premi\u00e8res \u00e9tudes de convergence.<\/p>\n<p><strong>La le\u00e7on de qualit\u00e9 du maillage&nbsp;:<\/strong> Ne sautez pas les \u00e9tudes de convergence \u00e0 ce stade. <a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\" target=\"_blank\" rel=\"nofollow noopener\">ce guide sur la qualit\u00e9 des maillages et les \u00e9tudes de convergence<\/a> explique Comment prouver que votre solution est en train de converger, pas simplement de deviner.<\/p>\n<h3>Phase 3 : 3D \u2014 Solides, continua et r\u00e9alit\u00e9 de la production (la pierre angulaire)<\/h3>\n<p><strong>Ce que vous apprenez&nbsp;:<\/strong>&nbsp;\u00e9l\u00e9ments t\u00e9tra\u00e9driques et hexa\u00e9driques 3D, m\u00e9canique solide (param\u00e8tres boiteux, ratio de Poisson), raffinement de maillage adaptatif, assemblage parall\u00e8le, goulots d'\u00e9tranglement.<\/p>\n<p><strong>Ce que vous cr\u00e9ez&nbsp;:<\/strong> Un solveur 3D FEM complet avec visualisation, v\u00e9rification de la convergence et profilage des performances.<\/p>\n<p><strong>Jalons concrets&nbsp;:<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage t\u00e9tra\u00e9drique pour un domaine 3D<\/li>\n<li>Impl\u00e9menter des fonctions de forme de t\u00e9tra\u00e8dre lin\u00e9aire<\/li>\n<li>Assembler la matrice de rigidit\u00e9 d'\u00e9lasticit\u00e9 3D<\/li>\n<li>Profilez votre code (trouver des goulots d'\u00e9tranglement)<\/li>\n<li>Ajouter un raffinement de maillage adaptatif<\/li>\n<li>Comparez avec une solution de r\u00e9f\u00e9rence<\/li>\n<\/ul>\n<p><strong>Pourquoi cela est important&nbsp;:<\/strong> 3D est l'endroit o\u00f9 la m\u00e9canique de calcul devient de niveau de production. Il s'agit de la pierre angulaire avant la sp\u00e9cialisation de niveau sup\u00e9rieur. Si vous pouvez cr\u00e9er un solveur 3D FEM fonctionnel \u00e0 partir de z\u00e9ro, vous \u00eates au niveau d'un ing\u00e9nieur de simulation junior.<\/p>\n<hr>\n<h2>Alphab\u00e9tisation en g\u00e9nie logiciel \u2014 La voie parall\u00e8le manquante<\/h2>\n<p>Voici ce que presque aucun programme de premier cycle ne fait bien&nbsp;: enseigner le g\u00e9nie logiciel aux c\u00f4t\u00e9s de la m\u00e9canique informatique. Le CME 211 de Stanford (Python\/C++ pour les scientifiques et les ing\u00e9nieurs) est l'exception - et c'est exactement pourquoi les dipl\u00f4m\u00e9s de Stanford \u00e9crivent un meilleur code de simulation que la plupart.<\/p>\n<p><strong>Pourquoi l'ing\u00e9nierie logicielle compte dans la simulation&nbsp;:<\/strong><\/p>\n<p>Votre code FEM n'est pas un devoir. C'est un outil de recherche. Il durera des heures ou des jours. Il sera partag\u00e9 avec les collaborateurs. Il sera revisit\u00e9 des mois plus tard. Si votre code ne peut pas \u00eatre mis en version, test\u00e9 et profil\u00e9, vous n'avez pas d'outil de recherche. Vous disposez d'un ordinateur portable avec des scripts temporaires.<\/p>\n<p><strong>La liste de contr\u00f4le du g\u00e9nie logiciel pour les \u00e9tudiants&nbsp;:<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th>Comp\u00e9tence<\/th>\n<th>Quand l'apprendre<\/th>\n<th>Pourquoi c'est important<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Git + contr\u00f4le de version<\/td>\n<td>Jour 1<\/td>\n<td>suivre chaque changement&nbsp;; Collaborer avec des pairs<\/td>\n<\/tr>\n<tr>\n<td>Pytest + test unitaire<\/td>\n<td>Phase&nbsp;1 (1D)<\/td>\n<td>V\u00e9rifiez que votre matrice de rigidit\u00e9 s'assemble correctement<\/td>\n<\/tr>\n<tr>\n<td>D\u00e9bogage (Imprimer \u2192 Profileur)<\/td>\n<td>Phase 1-2<\/td>\n<td>Trouver des fuites de m\u00e9moire, des indices incorrects, des erreurs num\u00e9riques<\/td>\n<\/tr>\n<tr>\n<td>Numpi + Scipy<\/td>\n<td>phase 1<\/td>\n<td>Pile de calcul scientifique de base<\/td>\n<\/tr>\n<tr>\n<td>Profilage des performances<\/td>\n<td>Phase 2 (2D)<\/td>\n<td>Trouvez les goulots d'\u00e9tranglement avant qu'ils ne deviennent des bloqueurs<\/td>\n<\/tr>\n<tr>\n<td>Conception de code modulaire<\/td>\n<td>Phase 2-3<\/td>\n<td>G\u00e9n\u00e9ration, assemblage, r\u00e9solution, r\u00e9solution, visualisation de maillage s\u00e9par\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Documentation<\/td>\n<td>Phase&nbsp;3 (3D)<\/td>\n<td>Expliquez ce que fait votre code&nbsp;; publiable<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Vous pouvez lire <a href=\"https:\/\/matforge.org\/version-control-patterns-git-branching-strategies-research\/\" target=\"_blank\" rel=\"nofollow noopener\">Mod\u00e8les de contr\u00f4le de version Logiciel<\/a> pour les strat\u00e9gies de branchement qui fonctionnent r\u00e9ellement dans des contextes de recherche, et <a href=\"https:\/\/matforge.org\/python-testing-patterns-for-scientific-code-beyond-pytest-basics\/\" target=\"_blank\" rel=\"nofollow noopener\">Mod\u00e8les de test Python pour le code scientifique<\/a> pour les strat\u00e9gies de test qui vont au-del\u00e0 des assertions de base de Pytest.<\/p>\n<p><strong>Ce que je choisirais&nbsp;:<\/strong> Commencez par Git le premier jour. Ajoutez PyTest dans la phase 1. Ajoutez le profilage dans la phase 2. Cette s\u00e9quence vous permet de d\u00e9tecter les erreurs avant qu'elles ne se compliquent. N'attendez pas. Plus t\u00f4t vous traiterez votre code comme un logiciel, moins vous le regretterez dans la phase 3.<\/p>\n<hr>\n<h2>Quand utiliser Python vs C++ vs Julia<\/h2>\n<p>C'est la question que j'entends la plus courante des \u00e9l\u00e8ves&nbsp;: \"Quelle langue dois-je utiliser&nbsp;?\" La r\u00e9ponse d\u00e9pend de votre \u00e9tape.<\/p>\n<table>\n<thead>\n<tr>\n<th>\u00c9tape<\/th>\n<th>Langue recommand\u00e9e<\/th>\n<th>Pourquoi<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Phase 1-2 (apprentissage)<\/td>\n<td><strong>Python<\/strong> (numpy, scipy)<\/td>\n<td>Boucle de r\u00e9troaction la plus rapide, \u00e9cosyst\u00e8me riche, ordinateurs portables Jupyter<\/td>\n<\/tr>\n<tr>\n<td>Phase 3 (Capstone)<\/td>\n<td><strong>Python + Cython<\/strong><\/td>\n<td>Optimisation des performances sans abandonner Python<\/td>\n<\/tr>\n<tr>\n<td>Simulation de production<\/td>\n<td><strong>C++ ou Fortran<\/strong><\/td>\n<td>Compil\u00e9, parall\u00e9lisable, pr\u00eat pour la production<\/td>\n<\/tr>\n<tr>\n<td>Surrogations ML \/ PINN<\/td>\n<td><strong>Python<\/strong> (PyTorch, TensorFlow)<\/td>\n<td>Les biblioth\u00e8ques ML sont en premier<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Python pour l'apprentissage \u2014 Pas de d\u00e9bat.<\/strong> L'\u00e9cosyst\u00e8me Python scientifique (<a href=\"https:\/\/matforge.org\/the-scientific-python-ecosystem-navigating-scipy-numpy-sympy-2\/\" target=\"_blank\" rel=\"nofollow noopener\">scipy, numpy, sympy<\/a>) vous donne une alg\u00e8bre lin\u00e9aire, une int\u00e9gration num\u00e9rique, des math\u00e9matiques symboliques et un tra\u00e7age dans une pile coh\u00e9rente. Vous ne pouvez pas \u00e9galer cette productivit\u00e9 en C++.<\/p>\n<p><strong>C++\/Fortran pour la production \u2014 in\u00e9vitable.<\/strong> Une fois que vos simulations sont suffisamment importantes pour que les frais g\u00e9n\u00e9raux de Python soient importants (et ils le seront), vous aurez besoin de code compil\u00e9. C++ avec Eigen ou Armadillo, ou Fortran avec syntaxe moderne, sont les normes de production.<\/p>\n<p><strong>Julia pour les curieux.<\/strong> Julia gagne du terrain dans la m\u00e9canique informatique (surtout pour les solveurs PDE via DifferentialEquations.jl). C'est plus rapide que Python et plus accessible que le C++, mais ce n'est pas encore la norme pour l'\u00e9ducation des \u00e9tudiants.<\/p>\n<p><strong>Ma recommandation&nbsp;:<\/strong> Apprenez \u00e0 fond Python. Master Numpy, Scipy et Matplotlib. Apprenez ensuite C++ (ou Fortran) en parall\u00e8le au cours de la phase 2. \u00c0 la phase 3, vous serez pr\u00eat \u00e0 porter des parties critiques de performances de votre solveur vers le code compil\u00e9. Il s'agit de la progression de la s\u00e9quence CME 211\u2192212 de Stanford.<\/p>\n<hr>\n<h2>Analyse comparative par rapport aux meilleurs programmes<\/h2>\n<p>\u00c0 quoi ressemblent r\u00e9ellement les meilleurs programmes de m\u00e9canique informatique&nbsp;? Voici une comparaison de quatre rep\u00e8res institutionnels.<\/p>\n<table>\n<thead>\n<tr>\n<th>Programme<\/th>\n<th>Dur\u00e9e<\/th>\n<th>structure<\/th>\n<th>Principales caract\u00e9ristiques<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Commas de Tum<\/strong><\/td>\n<td>Ma\u00eetrise (4 semestres, 120 ECTS)<\/td>\n<td>Progression en 4 phases<\/td>\n<td>120 ECTS au total, Fondations \u2192 \u00c9lectifs \u2192 Th\u00e8se, \u00c9cole d'\u00e9t\u00e9 avec les meilleurs chercheurs<\/td>\n<\/tr>\n<tr>\n<td><strong>Stanford CME<\/strong><\/td>\n<td>Cours de deuxi\u00e8me cycle<\/td>\n<td>Pr\u00e9requis \u2192 Core \u2192 Capture<\/td>\n<td>CME 211 (ing\u00e9nierie logicielle) \u2192 CME 232 (m\u00e9canique informatique), CME 212 interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td><strong>ETH Zurich CSE<\/strong><\/td>\n<td>Licence (3 ans, 180 cr\u00e9dits)<\/td>\n<td>Progression de l'ann\u00e9e 1 \u00e0 3<\/td>\n<td>Ann\u00e9e&nbsp;1&nbsp;: Math\u00e9matiques unifi\u00e9es\/physique\/CS, Ann\u00e9e&nbsp;2&nbsp;: Sciences naturelles + Ing\u00e9nierie, Ann\u00e9e&nbsp;3&nbsp;: Sp\u00e9cialisation + HPC<\/td>\n<\/tr>\n<tr>\n<td><strong>MIT OCW<\/strong><\/td>\n<td>\u00c9tudiant<\/td>\n<td>cours par cours<\/td>\n<td>Un didacticiel ouvert, aucun dipl\u00f4me structur\u00e9, mais d'excellents modules individuels<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Le BSC&nbsp;CSE de Zurich est l'\u00e9quivalent le plus proche d'un parcours d'apprentissage en m\u00e9canique informatique.<\/strong> Contrairement \u00e0 la plupart des programmes qui traitent la science informatique comme un cours de soutien, ETH la traite comme une discipline de premi\u00e8re classe avec son propre programme d'\u00e9tudes. L'ann\u00e9e 1 force les math\u00e9matiques unifi\u00e9es\/physique\/cs. L'ann\u00e9e 2 s'approfondit en sciences naturelles. L'ann\u00e9e 3 est sp\u00e9cialis\u00e9e. C'est le programme rare qui structure r\u00e9ellement la progression compl\u00e8te.<\/p>\n<p>Si vous \u00eates dans un programme sans trajectoire structur\u00e9e (ce qui est la plupart d'entre eux), utilisez ces benchmarks pour \u00e9valuer votre propre programme. O\u00f9 est la lumi\u00e8re&nbsp;? O\u00f9 es-tu fort ? Remplissez d\u00e9lib\u00e9r\u00e9ment les lacunes.<\/p>\n<p><img src=\"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png\" alt=\"Structure du programme d'\u00e9tudes COMMAS montrant les fondations du 1er semestre \u2192 2e\/3e semestre au choix \u2192 4e semestre de th\u00e8se\" width=\"1200\" height=\"675\"><\/p>\n<p><em>La structure des programmes d'\u00e9tudes du programme Commas Summer School de l'Universit\u00e9 de Stuttgart - montre la progression progressive des fondations \u00e0 la th\u00e8se.<\/em><\/p>\n<hr>\n<h2>Que construire r\u00e9ellement - la feuille de route d'un projet d'\u00e9tudiant<\/h2>\n<p>La th\u00e9orie est invisible sans projets concrets. Voici la progression que je recommande, class\u00e9e par difficult\u00e9 et valeur p\u00e9dagogique.<\/p>\n<p><strong>Niveau&nbsp;1&nbsp;\u2013&nbsp;\u00c9l\u00e9ment \u00e0 ressort&nbsp;1D (2&nbsp;-&nbsp;4&nbsp;heures)<\/strong><\/p>\n<ul>\n<li>\u00c9crire une fonction qui assemble une matrice de rigidit\u00e9 globale \u00e0 partir de N \u00e9l\u00e9ments de ressort<\/li>\n<li>Appliquer les conditions aux limites de Dirichlet<\/li>\n<li>r\u00e9soudre avec <code>numpy.linalg.solve<\/code><\/li>\n<li>D\u00e9placement du trac\u00e9<\/li>\n<li><em>Ceci est votre premier code FEM. Rien avant que cela n'importe jusqu'\u00e0 ce que cela fonctionne.<\/em><\/li>\n<\/ul>\n<p><strong>Niveau 2 \u2014 Solveur d'\u00e9lasticit\u00e9 2D (1 \u00e0 2&nbsp;semaines)<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage triangulaire (ou importer un)<\/li>\n<li>Impl\u00e9menter les fonctions de forme CST<\/li>\n<li>Assembler la matrice de rigidit\u00e9 d'\u00e9lasticit\u00e9 2D<\/li>\n<li>r\u00e9soudre avec <code>scipy.sparse.linalg<\/code><\/li>\n<li>Visualiser le maillage d\u00e9form\u00e9<\/li>\n<li><em>C'est la v\u00e9ritable \u00e9tape d'ing\u00e9nierie. C'est l\u00e0 que FEM devient une v\u00e9ritable ing\u00e9nierie.<\/em><\/li>\n<\/ul>\n<p><strong>Niveau 3 \u2014 Solveur de m\u00e9canique solide 3D (3-6 semaines)<\/strong><\/p>\n<ul>\n<li>G\u00e9n\u00e9rer un maillage t\u00e9tra\u00e9drique<\/li>\n<li>Impl\u00e9menter des fonctions de forme de t\u00e9tra\u00e8dre lin\u00e9aire<\/li>\n<li>Assembler la matrice de rigidit\u00e9 3D<\/li>\n<li>Ajouter un raffinement de maillage adaptatif<\/li>\n<li>Profiler et optimiser<\/li>\n<li>Comparez avec une solution de r\u00e9f\u00e9rence<\/li>\n<\/ul>\n<p><strong>Niveau&nbsp;4&nbsp;\u2013&nbsp;Comparaison des solveurs (avanc\u00e9)<\/strong><\/p>\n<ul>\n<li>Comparez votre solveur \u00e0 <a href=\"https:\/\/fenicsproject.org\/\" target=\"_blank\" rel=\"nofollow noopener\">fenics<\/a> ou <a href=\"https:\/\/www.fipy.org\/\" target=\"_blank\" rel=\"nofollow noopener\">fipy<\/a><\/li>\n<li>Pr\u00e9cision de r\u00e9f\u00e9rence, vitesse, m\u00e9moire<\/li>\n<li>R\u00e9diger un rapport de comparaison<\/li>\n<li><em>Ceci vous apprend \u00e0 utiliser des outils open source de mani\u00e8re critique, pas seulement comme des bo\u00eetes noires.<\/em><\/li>\n<\/ul>\n<p>Vous pouvez trouver du code de d\u00e9marrage pour certains d'entre eux dans la <a href=\"https:\/\/matforge.org\/student-project-ideas-computational-science-simulation\/\" target=\"_blank\" rel=\"nofollow noopener\">liste d'id\u00e9es de projets d'\u00e9tudiants<\/a> - non pas en tant que voies d'apprentissage, mais en tant que mod\u00e8les concrets que vous pouvez \u00e9tudier et adapter.<\/p>\n<hr>\n<h2>Preuve&nbsp;: Pourquoi le codage pratique bat-il la formation en bo\u00eete noire<\/h2>\n<p>Permettez-moi d'\u00eatre direct sur ce que montre la recherche&nbsp;: <strong>\u00c9crire votre propre code FE vaut l'apprentissage des menus de logiciels commerciaux \u00e0 chaque fois.<\/strong><\/p>\n<p>L'\u00e9tude de Warwick (Khajehsaeid &amp; Riazifar, 2023) a interrog\u00e9 des \u00e9tudiants qui ont construit et adapt\u00e9 leurs propres codes d'\u00e9l\u00e9ments finis - \u00e0 partir de la 2D, s'\u00e9tendant \u00e0 la 3D - et les ont compar\u00e9s aux \u00e9tudiants qui n'utilisaient que des packages FE commerciaux.<\/p>\n<p><strong>Le r\u00e9sultat&nbsp;:<\/strong> 85&nbsp;% des \u00e9tudiants qui ont r\u00e9dig\u00e9 leurs propres codes ont indiqu\u00e9 qu'il \"a aid\u00e9 \u00e0 comprendre comment la th\u00e9orie se traduit par des outils de r\u00e9solution de probl\u00e8mes et des logiciels de FE\". Ce n'est pas une petite majorit\u00e9. C'est un consensus \u00e9crasant.<\/p>\n<p>Les \u00e9tudiants qui n'utilisaient que des logiciels commerciaux (ABAQUS, ANSYS, COMSOL) pouvaient ex\u00e9cuter des simulations. Ils pourraient cliquer sur les menus. Mais ils ne pouvaient pas expliquer ce que leur logiciel calculait r\u00e9ellement.<\/p>\n<p>Les \u00e9tudiants qui ont \u00e9crit leurs propres codes ont compris :<\/p>\n<ul>\n<li>Ce que repr\u00e9sente r\u00e9ellement la matrice de rigidit\u00e9<\/li>\n<li>Comment les conditions aux limites modifient le syst\u00e8me<\/li>\n<li>Pourquoi l'int\u00e9gration num\u00e9rique est importante<\/li>\n<li>Quand faire confiance ou se m\u00e9fier des r\u00e9sultats<\/li>\n<\/ul>\n<p><strong>Ma recommandation&nbsp;:<\/strong> Commencez par votre propre solveur 1D. Passez en 2D. Utilisez ensuite FENICS ou FIPY comme outils de v\u00e9rification, et non les remplacements. C'est la progression que l'\u00e9tude de Warwick a valid\u00e9e.<\/p>\n<p>Si vous ne savez pas quand utiliser FEM vs FVM vs FDM, commencez par lire <a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\" target=\"_blank\" rel=\"nofollow noopener\">Cette comparaison pratique<\/a>. Il explique clairement les diff\u00e9rences avant de commencer \u00e0 coder.<\/p>\n<hr>\n<h2>Vos prochaines \u00e9tapes - par o\u00f9 commencer aujourd'hui<\/h2>\n<p>Vous n'avez pas besoin d'attendre une classe. Vous n'avez pas besoin d'une autorisation. Voici exactement ce qu'il faut faire ensuite&nbsp;:<\/p>\n<ol>\n<li><strong>Installez Python, NumPy, Scipy et Matplotlib.<\/strong> Si vous avez besoin d'aide, <a href=\"https:\/\/matforge.org\/the-scientific-python-ecosystem-navigating-scipy-numpy-sympy-2\/\" target=\"_blank\" rel=\"nofollow noopener\">ce guide sur le L'\u00e9cosyst\u00e8me scientifique Python<\/a> vous guide \u00e0 travers la pile compl\u00e8te.<\/li>\n<li><strong>\u00c9crivez un \u00e9l\u00e9ment de ressort 1D.<\/strong> Cinq ressorts. Fin fixe. r\u00e9soudre. trac\u00e9. Rien de plus.<\/li>\n<li><strong>Engagez-le sur git.<\/strong> Premier jour. Suivez chaque changement. Apprenez \u00e0 brancher.<\/li>\n<li><strong>Ajouter un test unitaire.<\/strong> V\u00e9rifiez l'\u00e9quilibre de force. Prouvez que votre code fonctionne.<\/li>\n<li><strong>\u00c9largir en 2D.<\/strong> Triangles CST. g\u00e9n\u00e9ration de maillage. Assemblage clairsem\u00e9.<\/li>\n<li><strong>Profil. Optimiser. R\u00e9p\u00e9tez.<\/strong> Trouvez des goulots d'\u00e9tranglement avec <a href=\"https:\/\/matforge.org\/scientific-computing-performance-profiling-identifying-bottlenecks\/\" target=\"_blank\" rel=\"nofollow noopener\">Ce guide de profilage<\/a>.<\/li>\n<\/ol>\n<p><strong>L'\u00e9tape la plus importante&nbsp;?<\/strong> Commencez par l'\u00e9l\u00e9ment 1D Spring. Arr\u00eatez de regarder les barres de menu \u00e0 Abaqus. Cr\u00e9ez votre propre solveur. C'est la diff\u00e9rence entre conna\u00eetre FEM et le comprendre.<\/p>\n<p><strong>Voulez d'abord explorer Fipy&nbsp;?<\/strong> Commencez par la <a href=\"https:\/\/matforge.org\/reading-and-understanding-fipy-documentation\/\" target=\"_blank\" rel=\"nofollow noopener\">Fipy Documentation<\/a> et parcourez <a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\" target=\"_blank\" rel=\"nofollow noopener\">cet exemple de diffusion<\/a>. Cela ne vous apprendra pas directement FEM, mais cela vous apprendra les mod\u00e8les Python qui transf\u00e8rent.<\/p>\n<hr>\n<h2>Guides connexes<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/from-equations-to-simulations-the-modeling-pipeline\/\" target=\"_blank\" rel=\"nofollow noopener\">Des \u00e9quations aux simulations : la mod\u00e9lisation Pipeline<\/a> \u2014 Contexte global pour le flux de travail de simulation complet<\/li>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\" target=\"_blank\" rel=\"nofollow noopener\">Quand utiliser FEM, FVM ou FDM<\/a> \u2014 Comparaison pratique des m\u00e9thodes de discr\u00e9tisation pour les d\u00e9butants<\/li>\n<li><a href=\"https:\/\/matforge.org\/the-scientific-python-ecosystem-navigating-scipy-numpy-sympy-2\/\" target=\"_blank\" rel=\"nofollow noopener\">le scientifique \u00c9cosyst\u00e8me Python<\/a> \u2014 Pr\u00e9sentation de la pile d'outils pour la simulation<\/li>\n<li><a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\" target=\"_blank\" rel=\"nofollow noopener\">R\u00e9solution des \u00e9quations de diffusion avec Fipy<\/a> \u2014 Python concret Exemple \u00e0 \u00e9tudier<\/li>\n<li><a href=\"https:\/\/matforge.org\/unit-testing-scientific-code-pytest-strategies-research-projects\/\" target=\"_blank\" rel=\"nofollow noopener\">Tests unitaires pour le code scientifique<\/a> \u2014 Test des strat\u00e9gies qui vont au-del\u00e0 des assertions de base<\/li>\n<li><a href=\"https:\/\/matforge.org\/version-control-patterns-git-branching-strategies-research\/\" target=\"_blank\" rel=\"nofollow noopener\">Mod\u00e8les de contr\u00f4le de version pour les logiciels scientifiques<\/a> \u2014 Strat\u00e9gies de branchement Git pour la recherche<\/li>\n<li><a href=\"https:\/\/matforge.org\/scientific-computing-performance-profiling-identifying-bottlenecks\/\" target=\"_blank\" rel=\"nofollow noopener\">Profilage des performances de calcul scientifique<\/a> \u2014 Identification et correction des goulots d'\u00e9tranglement<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\" target=\"_blank\" rel=\"nofollow noopener\">\u00c9tudes de qualit\u00e9 et de convergence<\/a> Votre solution converge<\/li>\n<li><a href=\"https:\/\/matforge.org\/gpu-acceleration-for-fipy-simulations-cupy-and-numba-integration-guide\/\" target=\"_blank\" rel=\"nofollow noopener\">Acc\u00e9l\u00e9ration GPU pour les simulations FIPY<\/a> \u2014 Mise \u00e0 l'\u00e9chelle jusqu'au calcul GPU<\/li>\n<li><a href=\"https:\/\/matforge.org\/choosing-right-python-pde-solver-fipy-py-pde-fenics\/\" target=\"_blank\" rel=\"nofollow noopener\">Choisir le bon solveur Python PDE<\/a> \u2014 Comparaison FIPY vs PY-PDE vs Fenics<\/li>\n<li><a href=\"https:\/\/matforge.org\/hpc-python-workflows-from-laptop-to-supercomputer\/\" target=\"_blank\" rel=\"nofollow noopener\">hpc python Flux de travail<\/a> \u2014 Mise \u00e0 l'\u00e9chelle d'un ordinateur portable au superordinateur<\/li>\n<\/ul>\n<hr>\n<p><em>Cet article d\u00e9crit la progression \u00e9tape par \u00e9tape de \"First Python Script\" \u00e0 \"Own Fem Solver\", en utilisant les rep\u00e8res institutionnels de Tum Commas, Stanford CME, ETH Zurich CSE et MIT OCW comme guides structurels. L'\u00e9chelle de codage 1D \u2192 2D \u2192 3D est le cadre le plus important - suivez-le et vous d\u00e9velopperez une v\u00e9ritable compr\u00e9hension, pas seulement une familiarit\u00e9 logicielle.<\/em><\/p>\n"},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 10<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Un guide \u00e9tape par \u00e9tape du premier script Python \u00e0 votre propre solveur FEM. Apprenez les comp\u00e9tences, les outils et les rep\u00e8res progressifs utilis\u00e9s par les meilleurs programmes.<\/p>\n","protected":false,"raw":"Un guide \u00e9tape par \u00e9tape du premier script Python \u00e0 votre propre solveur FEM. Apprenez les comp\u00e9tences, les outils et les rep\u00e8res progressifs utilis\u00e9s par les meilleurs programmes."},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"fr_FR","_original_post":"https:\/\/matforge.org\/?p=1071","iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1207","post","type-post","status-publish","format-standard","hentry","category-simulation-modeling-projects","fr-FR"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Parcours d&#039;apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique - matforge.org<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Parcours d&#039;apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique - matforge.org\" \/>\n<meta property=\"og:description\" content=\"Reading Time:  10 minutesUn guide \u00e9tape par \u00e9tape du premier script Python \u00e0 votre propre solveur FEM. Apprenez les comp\u00e9tences, les outils et les rep\u00e8res progressifs utilis\u00e9s par les meilleurs programmes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-21T14:28:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Parcours d&rsquo;apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique\",\"datePublished\":\"2026-08-21T14:28:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/\"},\"wordCount\":3363,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/matforge.org\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Studienstruktur_graphisch_en.png\",\"articleSection\":[\"Simulation &amp; Projets de mod\u00e9lisation\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/\",\"name\":\"Parcours d'apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique - matforge.org\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/matforge.org\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Studienstruktur_graphisch_en.png\",\"datePublished\":\"2026-08-21T14:28:53+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#primaryimage\",\"url\":\"https:\\\/\\\/matforge.org\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Studienstruktur_graphisch_en.png\",\"contentUrl\":\"https:\\\/\\\/matforge.org\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Studienstruktur_graphisch_en.png\",\"width\":728,\"height\":921},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/structured-learning-paths-computational-mechanics\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Parcours d&#8217;apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\",\"url\":\"https:\\\/\\\/matforge.org\\\/\",\"name\":\"matforge.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matforge.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"caption\":\"Elena Markovska\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/elena-markovska\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Parcours d'apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique - matforge.org","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/","og_locale":"fr_FR","og_type":"article","og_title":"Parcours d'apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique - matforge.org","og_description":"Reading Time:  10 minutesUn guide \u00e9tape par \u00e9tape du premier script Python \u00e0 votre propre solveur FEM. Apprenez les comp\u00e9tences, les outils et les rep\u00e8res progressifs utilis\u00e9s par les meilleurs programmes.","og_url":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:28:53+00:00","og_image":[{"url":"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png","type":"","width":"","height":""}],"author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Elena Markovska","Dur\u00e9e de lecture estim\u00e9e":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Parcours d&rsquo;apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique","datePublished":"2026-08-21T14:28:53+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/"},"wordCount":3363,"commentCount":0,"image":{"@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#primaryimage"},"thumbnailUrl":"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png","articleSection":["Simulation &amp; Projets de mod\u00e9lisation"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/","url":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/","name":"Parcours d'apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique - matforge.org","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#primaryimage"},"image":{"@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#primaryimage"},"thumbnailUrl":"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png","datePublished":"2026-08-21T14:28:53+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#primaryimage","url":"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png","contentUrl":"https:\/\/matforge.org\/wp-content\/uploads\/2026\/08\/Studienstruktur_graphisch_en.png","width":728,"height":921},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/structured-learning-paths-computational-mechanics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"Parcours d&#8217;apprentissage structur\u00e9 pour les \u00e9tudiants en m\u00e9canique informatique"}]},{"@type":"WebSite","@id":"https:\/\/matforge.org\/#website","url":"https:\/\/matforge.org\/","name":"matforge.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matforge.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","caption":"Elena Markovska"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/elena-markovska\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=1207"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1207\/revisions"}],"predecessor-version":[{"id":1383,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1207\/revisions\/1383"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}