Gallicagram
banner
gallicagram.bsky.social
Gallicagram
@gallicagram.bsky.social
Robot-historien. Collectionneur de vieux journaux, compteur de mots, traceur de courbes. Lexicomètre pour les intimes. Créé par @bdecourson.bsky.social et Benjamin Azoulay
https://shiny.ens-paris-saclay.fr/app/gallicagram (bientôt la v2)
Alors on va continuer ! Et ouvrir au maximum les données. Dans l’immédiat, diffusez cette nouvelle version ! Combien de fois on tombe sur des gens qui ne nous connaissent pas mais en auraient eu besoin de nous dans leur travail. Il faut que ça cesse, on compte sur vous !
www.gallicagram.com
February 10, 2026 at 12:00 PM
…et au risque de sonner affreusement bisounours, c'est une aventure collective. C’est grâce à la bienveillance des chercheurs, et grâce aux coups de main variés. Merci à G. Plique, W. Gleason, F. Lebaron, B. Coulmont, B. Ooghe-Tabanou, V. Bagilet, P. Soullard et j’en oublie certainement…
February 10, 2026 at 12:00 PM
Un petit mot de conclusion. Gallicagram est une belle aventure, on a été invités une trentaine de fois, l’appli est mentionnée dans plus de 110 publications, le tout en trois ans. Au risque de sonner affreusement pédants, on a le sentiment de faire une réelle différence pour les sciences sociales
February 10, 2026 at 12:00 PM
On essaiera de faire des tutoriels plus précis dans les prochains jours, pour montrer concrètement comment faire tout ça. Mais bon, normalement c'est intuitif. À terme, on vise la boomer-compatibilité.
February 10, 2026 at 12:00 PM
Juste une dernière perle : pour les corpus Gallica, vous pouvez comme d’habitude revenir au contexte des occurrences dans les documents, grâce aux merveilleuses API Gallica. Et on a implémenté l’infinite scrolling. On tient votre attention héhé !
February 10, 2026 at 12:00 PM
À part Gallica en mode "Par document" ou "cooccurrences", ces corpus n'ont pas été portés sur la v2 : les parsers ont une espérance de vie réduite, les moteurs de recherche sont opaques. Le Figaro donnait des résultats aberrants, mais ils s'en sont pas rendu compte...
www.lefigaro.fr/langue-franc...
«PME» ou «start-up» ? «Courriel» ou «email» ? Ce que les mots du Figaro disent de son évolution depuis vingt ans
Grâce à Gallicagram, outil d’analyse statistique de la presse, il est désormais possible de suivre mot à mot les évolutions d’un corpus. Que racontent vingt ans de vocabulaire du Figaro ?
www.lefigaro.fr
February 10, 2026 at 12:00 PM
L'ancienne interface reste évidemment en ligne, même si on aura certainement la flemme de l'entretenir. D'ailleurs, elle contenait plein de corpus traités dans des modes non-ngram, le code lançait des recherches dans le moteur de recherche interne
shiny.ens-paris-saclay.fr/app/gallicag...
gallicagram
shiny.ens-paris-saclay.fr
February 10, 2026 at 12:00 PM
On pourrait passer des heures à vous parler de cette interface, on a été perfectionnistes. Certaines options de l’ancienne version ont disparu, lorsqu’on avait le sentiment qu’elles n’étaient pas utilisées. Dites nous si elles vous manquent.
February 10, 2026 at 12:00 PM
Je pourrais continuer des heures, mais il faudra que je parle plus longuement des nouveaux modes de recherche. Dans Le Monde et les corpus Gallica, vous pouvez faire des recherches par cooccurrence, et rechercher les mots qui accompagnent le plus souvent le mot cible !
February 10, 2026 at 12:00 PM
Un ajout cosmétique mais qui change la vie pour moi : dans un champ de texte, la touche Enter vous génère le graphique. On avait essayé sur la version shiny, ça faisait tout buguer.
February 10, 2026 at 12:00 PM
On a aussi ajouté des avertissements pour vous empêcher de faire n’importe quoi (par exemple, lorsque vous tentez d’utiliser @gallicabnf.bsky.social après les années 1950, chose qu’on a tant observé…
(oh et regardez moi ce double slider !)
February 10, 2026 at 12:00 PM
L’interface se veut aussi beaucoup plus explicite. On a mis des petites help box marquées par un joli point d’interrogation. En survolant avec vos souris, on vous donne une petite explication. C’est surtout utile pour le mode de recherche : qu’est-ce qui est mesuré exactement ?
February 10, 2026 at 12:00 PM
Rien de très original, mais un super dark mode pour les yeux sensibles et autres hipsters pénibles.
(oh et j’y pense, il faut qu’on développe un code couleur et des polices pour les malvoyants, on s’est lâché sur les empâtements, pour l'instant c’est pas bien inclusif)
February 10, 2026 at 12:00 PM
Ensuite, l’application est intégralement bilingue et on bascule d’un simple clic sur le drapeau anglais/français. La langue du navigateur est auto-détectée et l’interface traduite. À terme, on aimerait intégrer davantage de corpus non-francophones !
(hi @sobchuk.bsky.social and @tedunderwood.com)
nderwood.com
February 10, 2026 at 12:00 PM
L’essayer est un vrai bonheur, vous verrez. Un peu comme quand j’ai essayé mon premier vélo carbone, si ça parle à certains par ici.

(hommage à mon petit vélo de route, qui me manque pendant l'hiver londonien)
February 10, 2026 at 12:00 PM
La seconde différence est que R shiny est super foireux, quand javascript est fait pour ça. Il y a beaucoup moins de bugs. Et au pire, en rechargeant la page, vous réinitialisez l’application en un instant. Au lancement, ça va aussi ~10 fois plus vite.
February 10, 2026 at 12:00 PM
La différence majeure est entre server side et client side. Lors d’un lissage, ça envoyait requête à nos petits serveurs, qui vous renvoyait les données lissées. Désormais, le code est directement exécuté sur vos navigateurs, ça va VITE ! et ça épargne nos serveurs, qui servent seulement de backend
February 10, 2026 at 12:00 PM
J’en viens à l’interface. On passe d’un front-end en R shiny à un front-end en React. L’ancienne codebase était un vrai bourbier, c’était notre premier projet avec Benjamin, on n’avait aucune bonne manière… Il fallait repartir sur des bases saines
February 10, 2026 at 12:00 PM
(et ces données de rubrique seront très utiles à d'autres projets de recherche, en particulier celui de @bdecourson.bsky.social sur la féminisation des contenus de presse)
February 10, 2026 at 12:00 PM
Pour l’instant cette fonctionnalité n’est dispo que sur Le Monde, mais on est en train de la généraliser à tous les corpus de presse contemporaine. Ça va être très très bien. Il faut aussi qu’on documente la méthodologie de classification des articles, un problème subtil et intéressant.
February 10, 2026 at 12:00 PM
Ensuite, on peut filtrer, ou comparer entre rubriques. Par exemple, dans Le Monde, il semble que l'islam ait d’abord été une question culturelle, puis internationale vers 2001, puis plus récemment une question de société et de politique.
February 10, 2026 at 12:00 PM
Pour s’approche un peu plus d’une comparaison à périmètre égal, voici la solution que nous commençons à développer : “rubriquer” des corpus de presse. Pour chaque article un SLM (un llama 8b) annote la rubrique, et on segmente le corpus en 8 rubriques. Le corpus vu comme un méta-corpus.
February 10, 2026 at 12:00 PM
MAIS me direz-vous (je commence à vous conaître), cette comparaison n’a toujours de sens : Le Figaro a *énormément* d’articles sur le sport, Mediapart est ultra-politique. Forcément, les mots politiques seront plus fréquents dans Mediapart… Un sacré problème
February 10, 2026 at 12:00 PM
Mieux : l’interface permet désormais les comparaisons inter-corpus. C'est particulièrement utile entre différents journaux contemporains. Qui parle le plus de Gaza ? Qui parle le plus de wokisme ? Vous pouvez avoir plusieurs onglets de recherche et comparer entre corpus.
February 10, 2026 at 12:00 PM
Désormais, en plus du Monde, vous pourrez choisir parmi ces 6 journaux, qui couvrent une diversité de lignes éditoriales et de positionnement politique. Pour étoffer la PQR, Ouest-France est dans les cartons, avec un tuilage avec Ouest-Éclair on aura un corpus continu depuis l’Affaire Dreyfus !
February 10, 2026 at 12:00 PM