En savoir plus

Les applications scientifiques

Le meme code que tu ecris en classe - boucles, listes, graphiques - photographie des trous noirs, replie des proteines et fait atterrir des robots sur Mars. Voici ou ca se passe pour de vrai.

Le code derriere les grandes decouvertes#

Aucune des decouvertes ci-dessous n'aurait ete possible sans des programmes. Pas des logiciels magiques venus d'ailleurs : des boucles, des listes, des fonctions et des graphiques, exactement les briques de notre cours, mais assemblees a tres grande echelle.

Premiere image d'un trou noir, galaxie M87, 2019
Astrophysique - 2019

La premiere photo d'un trou noir

Huit radiotelescopes repartis sur la planete forment un telescope grand comme la Terre. Le code a fusionne 5 petaoctets de donnees (plus que ce qui tient sur un avion de disques durs) pour reconstruire un seul disque lumineux.

Image : EHT Collaboration, CC BY 4.0 - Wikimedia Commons
Structure repliee d'une proteine
Biologie - 2020

AlphaFold replie les proteines

Predire la forme 3D d'une proteine etait un probleme ouvert depuis 50 ans. Un programme l'a quasi resolu, et a publie la forme de presque 200 millions de proteines - un cadeau a toute la recherche medicale.

Image : structure de la myoglobine - Wikimedia Commons
La Terre vue depuis Apollo 17
Climat - aujourd'hui

Simuler l'atmosphere entiere

Les modeles climatiques decoupent l'atmosphere et les oceans en millions de petites cases et font avancer le temps pas a pas - exactement la methode d'Euler du diaporama, mais sur des super-ordinateurs. C'est la base des rapports du GIEC.

Image : NASA, Apollo 17 (Blue Marble), domaine public - Wikimedia Commons
Surface de Mars, Valles Marineris
Exploration - 2021

Se poser seul sur Mars

Pendant l'atterrissage de Perseverance, aucun humain ne peut piloter : le signal met 11 minutes a venir de Mars. Le robot analyse le sol et choisit ou se poser tout seul, en quelques secondes, grace a son programme de bord.

Image : NASA - Valles Marineris, domaine public - Wikimedia Commons
Physique - 2015

Entendre deux trous noirs

Einstein avait predit les ondes gravitationnelles en 1915. Cent ans plus tard, le detecteur LIGO en capte une : un minuscule signal en forme de chirp (ci-dessus), extrait du bruit par traitement du signal. Deux trous noirs venaient de fusionner a un milliard d'annees-lumiere.

Signal redessine d'apres l'evenement GW150914 (LIGO)
Le point commun

Dans chaque cas : on recolte des donnees, on les analyse avec des statistiques, on simule un phenomene, et on trace le resultat. Les quatre gestes que tu apprends ce trimestre.

Les logiciels que les scientifiques utilisent vraiment#

Bonne nouvelle : tu utilises deja les petits cousins de ces outils. matplotlib et statistics, vus en classe, sont exactement ceux des laboratoires - juste a plus petite echelle. Voici la trousse du scientifique programmeur en Python.

OutilA quoi il sertTu connais deja...
NumPyCalculer sur des tableaux geants de nombres, des milliers de fois plus vite qu'une boucle Pythonles listes
pandasCharger, filtrer et resumer des tableaux de donnees (comme un Excel programmable)lire un fichier, les listes
MatplotlibTracer des graphiques scientifiquesdeja vu en classe
statistics / SciPyMoyenne, mediane, ecart-type, et des maths avancees (integrales, equations)deja vu en classe
JupyterLe calepin ou l'on melange code, texte et graphiquestu es dedans
FortranVieux langage (1957) toujours roi des simulations climat et physique tres lourdesles boucles, les variables

Autrement dit : ce que tu apprends n'est pas une version « scolaire » de la programmation scientifique. C'en est la fondation reelle.

Demo : la meme chute sur trois mondes#

Le diaporama affirme qu'une chute de 100 m dure environ 4,5 s sur Terre, 7,4 s sur Mars et 11 s sur la Lune. Plutot que de te croire sur parole, lache les trois objets et observe : moins il y a de gravite, plus la chute est lente.

Lacher de 100 m - temps simule accelere 2x

Terre
g = 9.8 m/s2
0.0 s
Mars
g = 3.7 m/s2
0.0 s
Lune
g = 1.6 m/s2
0.0 s

Le calcul derriere l'animation est exactement celui du diaporama : altitude = altitude - vitesse * pas, repete dans une boucle.

Demo : tire une fusee sur la planete de ton choix#

Une simulation ne sert pas qu'a regarder : elle sert a explorer des scenarios. Change la planete, la vitesse et l'angle de tir, et observe comment la trajectoire reagit. Sans gravite forte, le projectile va beaucoup plus loin.

Simulateur de trajectoire (sans frottement de l'air)

Portee : -
Hauteur max : -
Temps de vol : -

L'angle qui envoie le plus loin est 45° - un resultat que les artilleurs connaissaient bien avant les ordinateurs, et que tu peux verifier ici en deux clics.

Pionniere : celle qui a fait atterrir Apollo#

Margaret Hamilton a cote de la pile de code source d'Apollo
Margaret Hamilton et le code d'Apollo - Wikimedia Commons
Margaret Hamilton (nee en 1936)

Sur la photo, la pile de papier aussi haute qu'elle, c'est le code source du programme de vol d'Apollo, qu'elle a dirige au MIT. Le 20 juillet 1969, quelques minutes avant l'alunissage, l'ordinateur de bord se met a saturer d'alarmes. Le logiciel de Hamilton, concu pour donner la priorite aux taches vitales, ignore le superflu et garde le controle. Sans lui, Armstrong et Aldrin n'auraient peut-etre jamais touche la Lune.

C'est elle qui a popularise l'expression « genie logiciel » (software engineering), pour faire reconnaitre que programmer est un vrai metier d'ingenieur. En 2016, le president des Etats-Unis lui a remis la plus haute distinction civile du pays.

Autre figure du domaine : Katherine Johnson, la mathematicienne de la NASA dont les calculs de trajectoire ont rendu possibles les premiers vols habites americains - l'histoire racontee dans le film Les figures de l'ombre. Quand la NASA a remplace les calculs a la main par un ordinateur, c'est elle que John Glenn a exige pour verifier les chiffres de la machine avant d'accepter de decoller.

A ton tour, scientifique programmeur#

Tu as maintenant les memes gestes que les equipes ci-dessus, en plus petit : analyser un jeu de mesures, le resumer, le tracer, simuler un phenomene et explorer des scenarios. C'est exactement ce que demande le Projet 3 - Mission Espace, le programme integrateur de la semaine.

import statistics import matplotlib.pyplot as plt # Des mesures, comme une vraie sonde temperatures = [-18, -12, 5, 22, 30, 14] print("Moyenne :", statistics.mean(temperatures)) print("Ecart-type :", statistics.stdev(temperatures)) plt.plot(temperatures) plt.title("Tu fais deja de la science") plt.show()