---
date: '2025-03-04'
category: internal
---

# CR visio py-edu-fr 2025-03-04

## Contexte

- Création d'un groupe formalisé national / francophone pour formations Python dans les
  pays francophones, notamment en présentielles.

- Plein de formations et cours dispos sur le web mais pas ou peu de mutualisation des
  efforts.

- Besoin mise à jour formation UGA (Grenoble) Python science :

  - présentielle
  - adapté pour un public majoritairement francophone (et PEP8 donc code en anglais)
  - à jour en 2025
  - Linux, Windows et macOS
  - ne pas oublier les outils européens et les problématiques de diversité techno et de
    souveraineté

- Pas de ressources adaptées pour une telle formation.

## Buts généraux

- ressources mutualisées

- un pole / groupe (re)connu

- quelques formations clés en main réutilisables (entièrement ou en parties)

## But de cette visio

- se présenter

- présentation du projet + où on en est

- lister idées et problématiques

- mieux définir / se mettre d'accord sur les productions du groupe

- liens entre ce groupe et la liste python ?

## Participants

- Pierre Augier, CR CNRS LEGI (Grenoble),
  https://gricad-gitlab.univ-grenoble-alpes.fr/python-uga/, mainteneur Fluiddyn et co,
  pyfftw, ...
- Emilien Schultz, IR CREST/ENSAE (Palaiseau), Sciences sociales computationnelles /
  Python pour les SHS
- Cyrille Bonamy, IR CNRS LEGI (Grenoble)
- Chiara Marmo, IR, Université Paris Saclay - LISN
- Manon Marchand, IR, Centre de Données Astronomiques de Strasbourg (CDS)
- Olivier Pantalé, PU, LGP / Université de Tarbes Occitanie Pyrénées (Tarbes) / Calcul
  scientifique pour ingénieur, réseaux de neurones, dev de codes laboratoire
- Matthieu Haefele, IR CNRS LMAP / Université de Pau
- Florian De Vuyst, PU, U. de technologie de Compiègne (UTC)
- Laurent Dorel, Météo-France (Toulouse) : problème de connexion
- Lionel Darras, IR CNRS Archéorient (Lyon)
- Aubin Thomas, IR CNRS Institut de Génétique Humaine (Montpellier)

## où en est-t-on?

- Le groupe py-edu-fr pourrait être formalisé en tant que groupe de travail du groupe
  Calcul CNRS.

- Plusieurs petits sites web sur différents sujets à base de [JupyterBook] et
  [JupyterLite] (écrits en MyST). Liens croisés. Niveaux et prérequis explicites. Points
  "pour aller plus loin" qui doivent être abordés seulement dans les formations plus
  avancées.

  Pour l'instant sites hébergés sur des GitLab Pages:

  - https://py-edu-fr.pages.heptapod.net (site web présentant le groupe)

  - https://py-edu-fr.pages.heptapod.net/py-edu-fr-jupyterlite (pour faire un peu de
    Python avant de savoir installer Python et gérer des environnements virtuels)

  - https://py-edu-fr.pages.heptapod.net/py-edu-fr/init (initiation à Python)

    Devrait contenir (à chaque fois avec des relativement courts exos pratiques):

    - des intros sur l'installation de Python (multi OS), les environnements virtuels et
      des outils de base comme IPython, des éditeurs/IDE (JupyterLab, Spyder et VSCode)
      et des outils d'installation / managers de projets (venv, pip, pipx, PDM, UV,
      miniforge, Pixi, ...).
    - une partie "pure Python" avec du contenu pour différents niveaux
    - une partie Python scientifique basique (Numpy simple, Matplotlib, Pandas/Polar)

  - https://py-edu-fr.pages.heptapod.net/py-edu-fr/science (utilisation avancée de Python
    pour la science, commence pour le pure Python par des liens vers py-edu-fr/init)

  - https://py-edu-fr.pages.heptapod.net/py-edu-fr-gallery (des travaux pratiques et
    exemples d'applications)

- Plusieurs dépôts (et leurs issue trackers) sur une forge neutre et souveraine
  https://foss.heptapod.net/py-edu-fr

  - https://foss.heptapod.net/py-edu-fr/py-edu-fr.pages.heptapod.net (site web Sphinx)
  - https://foss.heptapod.net/py-edu-fr/py-edu-fr (site JupyterBook)
  - https://foss.heptapod.net/py-edu-fr/py-edu-fr-jupyterlite (site JupyterLite)
  - https://foss.heptapod.net/py-edu-fr/py-edu-fr-gallery (site web Sphinx?)

  ```{note}
  Pour l'instant, JupyterLite est dans un dépôt à part, mais c'est peut être (sûrement) inutile.
  ```

- Pierre Augier souhaiterait qu'on essaye d'utiliser Mercurial (voir
  https://py-edu-fr.pages.heptapod.net/contribute.html). Le risque technologique est
  faible car il sera facile de migrer vers Git si besoin.

- Un chat Matrix #/room/#py-edu-fr:matrix.org

  Voir aussi https://ferdium.org et https://mattermost.com/ (qui doivent supporter de
  parler avec Matrix)

- Une liste mail

## Idées / problématiques

- Problématique outils européens à mettre en avant aussi (ex: numba/pythran)

- Possibilité espace CoRe ou RESANA

  RESANA "Votre adresse mail ne vous permet pas de vous inscrire seul sur la plateforme
  RESANA. Pour rejoindre RESANA merci de demander à un collaborateur (Agent de l'Etat)
  ayant déjà un compte de vous y inviter."

  "Si on peut s'en passer, ça peut être bien car assez lourd".

- Anglais / Français ?

  Pour les "petites classes" (lycée et 1er cycle univ.), les ressources devraient être en
  français, mais le code en anglais (PEP 8). Pour les plus vieux, nous voudrions créer
  des ressources en anglais avec des points de traduction et de définitions de mots.

  Est-ce qu'il y a de bonnes solutions techniques pour maintenir des documents MyST .md
  traduisibles et produire des sites multilingues?

- Software Carpentry ? https://carpentries-incubator.org/

- hébergement site web.

  - Groupe Calcul notre site web statique (https://calcul.math.cnrs.fr/index.html) est
    déployé sur un pod d'un openshift opéré par Mathrice (https://www.mathrice.fr/) qui
    propose à la communauté math un ensemble de services numériques
    (https://portail.math.cnrs.fr/all-services) dont l'openshift. On pourrait imaginer
    déployer les versions de MR ou certaines branches en utilisant cette technique. Mais
    bon, rapatrier la version en local et faire le rendu d'une page statique en local,
    c'est un peu plus qu'un clic, mais pas beaucoup si on scripte ça correctement.

  - Netlify intègre nativement un mécanisme pour la prévisualisation des résultats des
    MR.

- Liste de formateurs spécialistes de différents sujets pouvant potentiellement répondre
  à des questions.

## Partage du travail selon le niveau

- license : les bases, initiation
- master , doctorants (Emilien Schultz, Pierre Augier)
- Scientifique avancé: HPC, paquetage, CI/CD, test/benchmark, python+cython... (Manon
  Marchand, Matthieu Haefele, Pierre Augier)
- gallery d'applications scientifique la [PanGEO](https://gallery.pangeo.io/): statique
  pour l'instant (contact mesonet après pour eventuellement faire tour les notebook)
  (Chiara Marmo je veux bien m'occuper de la mise en place de la gallery)

## Pas traité lors de la réunion

- Attention à la progressivité des formations. Chaque concept et outil doit être
  introduit puis retravailler. Attention à l'ordre.

- Mail de Nicolas Thiery :

  "Comme premier pas vers des ressources mutualisées, que pourrions nous faire pour
  rendre nos ressources plus facilement réutilisables: conventions d'écritures communes
  (style, format, ...), feuilles courtes, décontextualisation, ...

  Pour les conventions d'écritures, voici celles que nous avons commencé à rédiger pour
  nos cours :
  https://codimd.math.cnrs.fr/cfNAJUBgRDadv6kULCP5rw#Conventions-d%E2%80%99%C3%A9critures"

[jupyterbook]: https://jupyterbook.org/en/stable/intro.html
[jupyterlite]: https://jupyterlite.readthedocs.io/en/stable/
