Skip to content

Commit 85fb992

Browse files
ntoulemondemelinahillionRLesur
authored
Newsletter 20 (#113)
* delete unused files * newsletter 20 : writing and approval * dev.yaml : preview on gh-pages for PR --------- Co-authored-by: Mélina Hillion <[email protected]> Co-authored-by: Romain Lesur <[email protected]>
1 parent 1cb04db commit 85fb992

File tree

7 files changed

+179
-28
lines changed

7 files changed

+179
-28
lines changed

.github/workflows/dev.yaml

Lines changed: 82 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,100 @@
11
on:
22
pull_request:
3+
types:
4+
- opened
5+
- reopened
6+
- synchronize
7+
- closed # Including closed to remove preview when PR is closed.
38
branches:
49
- main
510

11+
# To cancel previous actions that could run on this PR
12+
concurrency:
13+
group: preview-${{ github.ref }}
14+
cancel-in-progress: true
15+
616
jobs:
7-
pages:
8-
name: Render-Blog
17+
build-deploy:
18+
if: github.event.action != 'closed' # If closing the PR, no publishing
919
runs-on: ubuntu-latest
1020
steps:
11-
- uses: actions/checkout@v4
21+
- name: Check out repository
22+
uses: actions/checkout@v4
1223
with:
13-
fetch-depth: 0
14-
ref: ${{ github.event.pull_request.head.ref }}
15-
repository: ${{github.event.pull_request.head.repo.full_name}}
24+
fetch-depth: 0 # To enable full access to Git repo
25+
ref: ${{ github.event.pull_request.head.ref }} # Reference of the commit to checkout to. To ensure it's the one of the PR
26+
repository: ${{github.event.pull_request.head.repo.full_name}} # Reference to the branch to checkout to. Useful with PR from forks
27+
28+
# add software dependencies here and any libraries
29+
# See more at https://github.com/quarto-dev/quarto-actions/blob/main/examples/example-03-dependencies.md
1630
- name: Configure safe.directory # Workaround for actions/checkout#760
1731
run: git config --global --add safe.directory /__w/ssphub/ssphub
18-
- uses: actions/setup-python@v4
32+
33+
# Python
34+
- name: Setup Python
35+
uses: actions/setup-python@v4
1936
with:
20-
python-version: '3.10' # Version range or exact version of a Python version to use, using SemVer's version range syntax
37+
python-version: '3.13' # Version range or exact version of a Python version to use, using SemVer's version range syntax
38+
39+
# Jupyter
2140
- run: pip install jupyter nbformat
22-
- uses: quarto-dev/quarto-actions/setup@v2
41+
42+
# Quarto
43+
- name: Set up Quarto
44+
uses: quarto-dev/quarto-actions/setup@v2
45+
env:
46+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+
48+
# To publish to GitHub Pages
49+
- name: Publish to GitHub Pages (and render)
50+
uses: quarto-dev/quarto-actions/publish@v2
2351
with:
24-
version: 1.7.31
25-
- name: Render Quarto Project
26-
uses: quarto-dev/quarto-actions/render@v2
52+
target: gh-pages
53+
env:
54+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # this secret is always available for github actions
55+
2756
- name: Install npm
2857
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
2958
uses: actions/setup-node@v2
3059
with:
31-
node-version: '18'
32-
- name: Deploy to Netlify
33-
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
34-
# NETLIFY_AUTH_TOKEN and NETLIFY_SITE_ID added in the repo's secrets
35-
env:
36-
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
37-
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
38-
BRANCHE_REF: ${{ github.event.pull_request.head.ref }}
39-
run: |
40-
npm init -y
41-
npm install --unsafe-perm=true netlify-cli -g
42-
netlify init
43-
netlify deploy --alias=${BRANCHE_REF} --dir="_site" --message "Preview deploy from ${BRANCHE_REF}"
60+
node-version: '18'
61+
62+
- name: Comment PR with preview URL
63+
uses: actions/github-script@v6
64+
with:
65+
github-token: ${{ secrets.GITHUB_TOKEN }}
66+
script: |
67+
const previewUrl = `https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}`;
68+
github.rest.issues.createComment({
69+
issue_number: context.issue.number,
70+
owner: context.repo.owner,
71+
repo: context.repo.repo,
72+
body: `✅ Preview site is ready: [${previewUrl}](${previewUrl})`
73+
})
74+
75+
delete-preview:
76+
if: github.event.action == 'closed' # Only run when PR is closed
77+
runs-on: ubuntu-latest
78+
steps:
79+
- name: Remove preview from GitHub Pages
80+
uses: peaceiris/[email protected] # https://github.com/marketplace/actions/github-pages-action
81+
with:
82+
github_token: ${{ secrets.GITHUB_TOKEN }}
83+
publish_branch: gh-pages
84+
publish_dir: ./
85+
keep_files: false
86+
force_orphan: true # This allows you to make your publish branch with only the latest commit.
87+
enable_jekyll: false
88+
allow_empty_commit: true
89+
90+
- name: Comment PR that preview was removed
91+
uses: actions/github-script@v6
92+
with:
93+
github-token: ${{ secrets.GITHUB_TOKEN }}
94+
script: |
95+
github.rest.issues.createComment({
96+
issue_number: context.issue.number,
97+
owner: context.repo.owner,
98+
repo: context.repo.repo,
99+
body: `🗑️ Preview site has been removed.`
100+
})

infolettre/infolettre_19/index.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ date: '2025-09-29'
99
number: 19
1010

1111
authors:
12-
- Nicolas Toulemonde
12+
- Nicolas
1313

1414
image: 2025_09_back_school.png
1515

857 KB
Loading

infolettre/infolettre_20/index.qmd

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: "De belles cartographies, des packages R et l'importance des données d'entraînement pour l'IA"
3+
4+
description: |
5+
Infolettre du mois d'__octobre 2025__
6+
7+
# Date published
8+
date: '2025-10-25'
9+
number: 20
10+
11+
authors:
12+
- Nicolas
13+
14+
image: newsletter_20.png
15+
16+
tags:
17+
- datavis
18+
- IA
19+
- Python
20+
- cartographie
21+
22+
categories:
23+
- Infolettre
24+
25+
---
26+
27+
28+
Bienvenue à la **vingtième infolettre** ! Il est temps de se mettre au défi de respecter ce qui a été dit il y a quelques semaines : une newsletter par mois ga-ran-tie je vous ai dit. Bon, à l'époque, je ne savais pas qu'un mois ça voulait dire 4 semaines et que 4, c'est pas beaucoup 🙃. Allez, on y va !
29+
30+
Bonne lecture 📔 !
31+
32+
# L'infographie
33+
34+
Beaucoup d'infographies ce mois-ci, le choix a été dur. Pour une fois, partons sur une vidéo réalisée par [Fabian Lang](https://www.fabianlang.net/schweizer-bergwelten/) : le trajet d'un gypaète barbu suivi par GPS en 3D dans les Alpes suisses. La vraie infographie, en format vidéo, est disponible [ici](https://www.linkedin.com/posts/fbnlng_vulture-beardedvulture-cartography-activity-7274787245021188097-L9vj). Attention, vertige.
35+
36+
![](2025_10_gypaete.png)
37+
38+
39+
40+
# Actus du réseau
41+
42+
## La troisième journée du réseau 📅 1 décembre - La Tréso (Malakoff)
43+
Les **inscriptions** pour la troisième journée du réseau le 1^er^ décembre 2025 sont [ouvertes](https://www.eventbrite.com/e/billets-3e-journee-du-reseau-des-data-scientists-1664052518879?aff=oddtdtcreator). Si vous souhaitez présenter un sujet, n'hésitez pas à me contacter !
44+
45+
## Présentation de Cartographia - 📅 13 janvier 2026 - format mixte (Montrouge et en ligne)
46+
[Françoise Bahoken](https://bsky.app/profile/fbahoken.bsky.social) et [Nicolas Lambert](https://bsky.app/profile/neocarto.bsky.social) vont venir nous parler de leur livre [Cartographia](https://neocarto.hypotheses.org/22669) et des questions de cartographie (!) passionnantes qu'ils y abordent. Cela se passera **le 13 janvier 2026** en début d'après-midi, en format mixte : présentiel (à la DG de l'Insee) et à distance. Nicolas Lambert était déjà intervenu pour nous présenter Observable, une librairie Javascript très pratique pour faire des dataviz ([ici](../../talk/presentation-dobservable-par-nicolas-lambert/index.qmd), pour rappel). Si cela vous intéresse, réservez donc votre début d'après-midi !
47+
48+
# Actualités
49+
Ce mois-ci, place aux belles images et à la cartographie. L'IA reste omniprésente : les institutions cherchent à favoriser la réutilisation de leurs données, certains contournent les LLM avec des consignes écrites « en blanc sur blanc », et les données d'entraînement sont au centre de l'attention.
50+
51+
52+
53+
54+
55+
56+
::: {.callout-tip}
57+
Vous voyez d'autres sujets d'actualité intéressants ? N'hésitez pas à les partager sur le [groupe Tchap 💬](https://tchap.gouv.fr/#/room/#ssphub:agent.finances.tchap.gouv.fr) directement !
58+
:::
59+
60+
## Datavisualisation
61+
- Une [belle carte](https://neocarto.hypotheses.org/21980) de **migration simulée au niveau infra-national** en zone endémique paludéenne africaine. Françoise Bahoken, son autrice, sera notre invitée début 2026.
62+
- Pour les passionnés d'espace, voici une [**carte en 3D et dynamique**](https://atlasof.space/) du système solaire, comprenant les planètes mais aussi les astéroïdes! Vous pouvez jouer avec le temps pour savoir où sera la Terre quand vous aurez 30/40/50/60/70 ans (spoiler alert : c'est cyclique), et vérifier aussi qu'aucun astéroïde ne passe sur la Terre d'ici là.
63+
- Pour les autres candidats à l'infographie du mois :
64+
- pour voir l'ensemble des **livres publiés** en une seule carte interactive, cela donne [cela](https://phiresky.github.io/isbn-visualization/?).
65+
- la cheffe de l’infographie d’Epsiloon (magazine de sciences) a publié les étapes [avant / après](https://www.figma.com/proto/C8xDR9mlWX8kBV0crJr1IK/Les-infographies-d-Epsiloon?page-id=3102%3A2581&node-id=3102-2979&viewport=1040%2C640%2C0.18&t=h0dF40xsTRgqYfJi-8&scaling=scale-down-width&content-scaling=fixed&starting-point-node-id=3102%3A2583&hide-ui=1) de ses infographies. Je vous recommande celle sur les **habitudes de sommeil par pays**.
66+
- Enfin, un petit jeu à la SUTOM en version graphique : un [**graphique par jour**](https://chartle.cc/), devinez le pays !
67+
68+
69+
## Cartographie
70+
- Des chercheurs de l'Université de Charles (en Tchéquie) et de Freiburg ont publié une (très belle) **taxonomie des bâtiments urbains**, disponible en ligne. Tout est [ici](https://urbantaxonomy.org) et vous pouvez explorer le bâti urbain de six pays d'Europe centrale et de l'est.
71+
- L'IGN a publié [une cartographie](https://www.ign.fr/publications-de-l-ign/institut/kiosque/publications/atlas_anthropocene/2025/Atlas-2025-risque-inondation.pdf) très détaillée des **risques d'inondation et de submersion** sur tout le territoire national, notamment grâce aux images LIDAR. Par exemple, vous habitez à Saint-Maur-des-Fossés? Vous pouvez y voir la simulation d'une inondation majeure chez vous.
72+
- Utiliser l'**IA pour faire des fonds de carte** à partir d'image satellite ? Cela semble bien fonctionner d'après ce [post](https://www.linkedin.com/posts/davidoesch_map-generation-geospatial-activity-7379129420801875968-yNzj).
73+
- A partir des données d'utilisateurs de Facebook, des [chercheurs](https://www.pnas.org/doi/10.1073/pnas.2409418122) ont bâti des **indicateurs mensuels de flux migratoires** couvrant 181 pays.
74+
- Après la prévisualisation de données Parquet en ligne, cette fois [ce site](https://developmentseed.org/stac-map/) permet de **visualiser très facilement des fichiers de données géographiques** types STAC (dont Geoparquet). Explications sur la plomberie [ici](https://developmentseed.org/blog/2025-09-02-stacmap/).
75+
- La communauté Apache Sedona publie [**SedonaDB**](https://sedona.apache.org/latest/blog/2025/09/24/introducing-sedonadb-a-single-node-analytical-database-engine-with-geospatial-as-a-first-class-citizen/), un moteur de base de données analytique open source et pensé nativement aussi pour des données spatiales.
76+
77+
## Le reste c'est le R
78+
- Le [package R tinytable](https://vincentarelbundock.github.io/tinytable/), permet de faire des **tableaux de qualité** en de multiples formats. L'ambition de ce package est d'être simple, léger (0 dépendance à des packages externes), flexible et de différencier les données de l'affichage.
79+
- Le [package R redoc](https://r-consortium.org/all-projects/2025-group-1.html#reviving-redoc) devrait être mis à jour. Il permet notamment de **faire le lien entre Quarto, et la suite Office**, par exemple si vous générez des documents qui seront relus par des personnes utilisant Word comme outil de travail 😉.
80+
- En machine learning, quels sont les problèmes posés par des **classes d'apprentissage de tailles très différentes** ? Selon cet [article](https://datascience.stackexchange.com/questions/134389/is-class-imbalance-really-a-problem-in-machine-learning), il s'agit surtout 1/ d'avoir des métriques de performance adéquates, 2/ d'avoir un nombre absolu d'observations dans la classe minoritaire suffisant (et non une part dans le total) et enfin 3/ de faire attention à la fongibilité entre classes.
81+
82+
## IA
83+
- Qu'est-ce que les **paramètres des modèles publiés** disent des données d'entraînement sous-jacentes, confidentielles ? Des chercheurs sont [allés fouiller](https://fi-le.net/oss/) ce que cache GPT-5.
84+
- Du côté de **l'entraînement des modèles**, la gamme des données disponibles s'enrichit pour que ses données soient mieux reprises par l'IA. C'est un nouvel épisode de la course à ne pas finir page 15 des résultats Google ou page 259 des blogs Myspace.
85+
- **Wikidata**, qui stocke les données structurées de Wikipédia et consorts, propose maintenant ses données sous format de [données vectorielles](https://www.wikidata.org/wiki/Wikidata:Embedding_Project/October_1_2025_Release).
86+
- Un programme d'**harmonisation des metadata et d'API**, l'[Open Semantic Interchange Initiative](https://www.snowflake.com/en/blog/open-semantic-interchange-ai-standard/), a été lancé pour enrichir les données d'apprentissage et la précision des IA. L'idée est d'avoir un langage YAML commun pour permettre aux IA d'échanger des données de manière robuste, par exemple par API et sans perte de sens au fur et à mesure de leur traitement par des agents d'IA.
87+
- Une fois que l'on a les données, on cherche ensuite à savoir de **combien de GPU j'ai besoin pour entraîner mon modèle**. La Dinum a développé [un outil](https://github.com/etalab-ia/InfraScale) pour estimer ses besoins pour cette étape.
88+
- Des faiblesses des modèles de LLM sont, comme toujours, remontées, notamment sur **l'importance des données d'apprentissage et d'un prompt propre**. Cela met notamment en valeur le fait que les modèles ne sont pour le moment pas très efficaces quand il s'agit de trier des CV ou des articles.
89+
- Le "prompt injection" : c'est l'idée de truquer l'IA dans son CV/projet d'article scientifique/sur Linkedin, par exemple avec des instructions écrites en « blanc sur blanc », pour avoir plus de chance d'être sélectionné/de détecter les messages écrits par l'IA. Cela marche à presque 100 % des cas selon [cet article](https://arxiv.org/pdf/2509.10248), d'autant plus que l'IA a un biais positif naturel.
90+
- Une [étude](https://www.anthropic.com/research/small-samples-poison) confirme que l'IA est **particulièrement sensible à la qualité de la donnée d'apprentissage**. Ainsi, 250 observations fausses suffisent pour empoisonner durablement un LLM, et ce **quel que soit sa taille**. Une [présentation intéressante](https://www.youtube.com/watch?v=zKW8sVIOCTY) à une conférence PyData présentait par ailleurs ce qu'il se passait quand on entraîne une IA sur des images générés par une IA, avec des résultats similaires.
91+
- Le site [**AI Darwin Awards**](https://aidarwinawards.org/nominees-2025.html) rassemble des exemples d'usage raté d'IA. Globalement, les cas d'usage où l'IA est mis directement face à un client peuvent rapidement mal tourner... Peut-être que [Diella](https://www.politico.eu/article/albania-apppoints-worlds-first-virtual-minister-edi-rama-diella/), la première et seule ministre à être une IA dans le monde, rejoindra cette liste ?
92+
- Si vous voulez **comparer le résultat de deux LLM et leur empreinte carbone**, n'oubliez pas l'outil [ComparIA](https://comparia.beta.gouv.fr/) créé par une start-up d'État du ministère de la Culture.
93+
94+
# La non interview du mois
95+
Pas d'interview finie en temps et en heure ce mois-ci, priorité au direct, ce sera donc (peut-être) le mois prochain !
96+
677 KB
Loading

preview.png

-217 KB
Binary file not shown.

requirements.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)