diff --git a/journal/module_4.html b/journal/module_4.html index f47f5d800cdf21d82b58d3e2a9615a1422e02ca8..0b17cde2c96532fddbfcb921f901d6ebf279d713 100644 --- a/journal/module_4.html +++ b/journal/module_4.html @@ -254,6 +254,203 @@ pre code { +
Notebook long devient vraiment difficile à lire
+Utilisation d’un workflow pour bien comprendre l’ensemble du code, avec représentation en graphe
+Workflow
+exemples:
+L’usine à gaz des calculs coûteux Calcul interminable qui peuvent rendre le notebook inutilisable
+l’horreur des dépendance
+Pas de standard pour la gestion des éco-systèmes
+gestionnaire de paquet:
+Il faut controler l’environement dans lequel on travaille
+sur VM ou conteneur
+Conserver le bazar: capture automatique de l’environnement, CDE, ReproZip
+Faire le ménage: partir d’un environnment vierge, installer que le nécessaire et l’expliciter, docker/singularity, guix/nix
+conteneur: aucune bibliothéque de la machine sera utilisée
+Probleme de repro FreeSurfer -> resultat different entre windows/linux/!= os mac
+orgmode aussi
+outil à dev rapide
+ce restreindre a ce qui est maitrisable (c / cpp)
+L’archivage
+Gestion de l’environnement - périnité de l’accés à dockerhub, nix repo, code ocean ? - une fois environnement gelé, quelle est la pérennité d’une VM, d’une image docker ?
+Concerver le plus d’info possible en automatisant - logiciel, version, procédures d’installation
+a+b
-> arrondi(a+b)
arrondi(arrondi(a+b)+c) != arrondi(a + arrondi(b+c))
++exemple avec la simulation d’une goutte d’eau avec un ou quatre processeur
+
Génération de nomnbre aléatoire:
+graine -> état 1 -> nbr 1
+ -> état 2 -> nbr 2
+ -> ...
+La reproductibilité:
+En python:
+import random
+
+random.seed(123)
+assert random.random() == valeur aléatoire 1
+assert random.random() == valeur aléatoire 2
+assert random.random() == valeur aléatoire 3
+