<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>rOpenSci - open tools for open science</title>
    <link>https://deploy-preview-1283--ropensci.netlify.app/fr/rbloggers/index.xml</link>
    <description>Recent content on rOpenSci - open tools for open science</description>
    <generator>Hugo</generator>
    <language>fr</language>
    <atom:link href="https://deploy-preview-1283--ropensci.netlify.app/fr/rbloggers/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>En route pour le lancement ! Paquets expédiés au R-Multiverse</title>
      <link>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/10/22/paquets-r-multiverse/</link>
      <pubDate>Wed, 22 Oct 2025 00:00:00 +0000</pubDate>
      <author>rOpenSci</author>
      <guid>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/10/22/paquets-r-multiverse/</guid>
      <description>
         
        
        
        
        
         
        
        
         
        
        
        &lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/10/22/packages-multiverse/&#39;&gt;Read it in: English&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/es/blog/2025/10/22/paquetes-r-multiverse/&#39;&gt;Read it in: Español&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Will Landau a récemment présenté le R-multiverse, &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/commcalls/r-multiverse/&#34;&gt;une nouvelle façon de publier des paquets R&lt;/a&gt; lors d&amp;rsquo;une réunion de la communauté de rOpenSci&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.
Après cet événement, une session &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2023/06/21/coworking/&#34;&gt;coworking&lt;/a&gt; a permis à Will, à ses collègues administrateurs du R-multiverse Jeroen Ooms et Maëlle Salmon, ainsi qu&amp;rsquo;aux membres de la communauté, de discuter encore davantage.&lt;/p&gt;
&lt;p&gt;Une mission clé de cette session de coworking était de soumettre des paquets au R-multiverse en direct !
À la suite de la session de &lt;a href=&#34;https://r-multiverse.org/contributors.html&#34;&gt;instructions&lt;/a&gt; tout responsable de paquet souhaitant envoyer son logiciel dans le dépôt communautaire doit :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;créer une &amp;ldquo;release&amp;rdquo; GitHub ou GitLab de son paquet ;&lt;/li&gt;
&lt;li&gt;ouvrir une Pull Request au dépôt &lt;a href=&#34;https://github.com/r-multiverse/contributions&#34;&gt;contributions&lt;/a&gt; GitHub, en ajoutant un fichier texte contenant l&amp;rsquo;URL du dépôt&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Will a également partagé une fonction R qui vous permet d&amp;rsquo;effectuer des vérifications de paquets R-multiverse localement avant de les soumettre : &lt;a href=&#34;https://r-multiverse.org/multiverse.internals/reference/review_package.html&#34;&gt;&lt;code&gt;multiverse.internals::review_package()&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Trois paquets ont été soumis lors de la session de coworking !&lt;/p&gt;
&lt;h2&gt;
Paquets soumis
&lt;/h2&gt;&lt;h3&gt;
riem, pour obtenir des données météorologiques des stations ASOS (aéroports) via l&amp;rsquo;Iowa Environment Mesonet.
&lt;/h3&gt;&lt;p&gt;J&amp;rsquo;ai soumis mon paquets &lt;a href=&#34;https://github.com/r-multiverse/contributions/pull/238&#34;&gt;riem&lt;/a&gt; qui accède aux données météorologiques des aéroports, même s&amp;rsquo;il est également distribué sur CRAN : je voulais explorer différentes possibilités de publication.
Parce que les vérifications automatiques (de la licence par exemple) ont passé et parce que je suis une membre public d&amp;rsquo;une organisation GitHub à laquelle le multivers fait confiance (ropensci), ma PR a été automatiquement fusionnée.&lt;/p&gt;
&lt;p&gt;En savoir plus sur &lt;a href=&#34;https://docs.ropensci.org/riem/&#34;&gt;riem&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
geotargets, qui étend targets pour travailler avec des formats de données géospatiales
&lt;/h3&gt;&lt;p&gt;Eric R. Scott a soumis le &lt;a href=&#34;https://github.com/r-multiverse/contributions/pull/239&#34;&gt;paquet geotargets&lt;/a&gt; qui étend le champ d&amp;rsquo;application de targets aux formats de données géospatiales, tels que les rasters et les vecteurs (par exemple, les &amp;ldquo;shapefiles&amp;rdquo;).
Eric a co-écrit geotargets avec Nick Tierney et Andrew Brown, mais Nick est le principal mainteneur.
Cependant, il est tout à fait acceptable qu&amp;rsquo;Eric ait soumis le paquet plutôt que Nick.
En effet, R-multiverse vous permet de contribuer à des paquets que vous n&amp;rsquo;avez pas écrits du tout &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; à condition que la licence accorde&lt;a href=&#34;https://en.wikipedia.org/wiki/Free_and_open-source_software&#34;&gt;l&amp;rsquo;autorisation claire de distribuer et de modifier le code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En savoir plus sur &lt;a href=&#34;https://docs.ropensci.org/geotargets/&#34;&gt;geotargets&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
weathercan, pour trouver et télécharger des données météorologiques historiques d&amp;rsquo;Environnement et Changement Climatique Canada (ECCC)
&lt;/h3&gt;&lt;p&gt;Steffi LaZerte a soumis son &lt;a href=&#34;https://github.com/r-multiverse/contributions/pull/240/&#34;&gt;paquet weathercan&lt;/a&gt; également un paquet météo mais pour le Canada !
Steffi s&amp;rsquo;est demandé s&amp;rsquo;il était judicieux de soumettre weathercan avant d&amp;rsquo;effectuer un certain nombre de corrections et d&amp;rsquo;améliorations qu&amp;rsquo;elle avait planifiées pour les semaines à venir. Il s&amp;rsquo;avère que, oui, cela a du sens ! En effet, le multivers récupère automatiquement la dernière version.
Steffi doit seulement se rappeler de créer une nouvelle &amp;ldquo;release&amp;rdquo; après avoir amélioré weathercan.&lt;/p&gt;
&lt;p&gt;En savoir plus sur &lt;a href=&#34;https://docs.ropensci.org/weathercan/&#34;&gt;weathercan&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Quelle est la suite pour ces paquets ?
&lt;/h2&gt;&lt;p&gt;Maintenant que ces paquets sont arrivés, ils sont distribués par l&amp;rsquo;intermédiaire du dépôt de &lt;a href=&#34;https://r-multiverse.org/community.html&#34;&gt;&lt;strong&gt;communauté&lt;/strong&gt;&lt;/a&gt;.
Il s&amp;rsquo;agit d&amp;rsquo;une sorte d&amp;rsquo;aperçu des nouvelles versions.&lt;/p&gt;
&lt;p&gt;Dans quelques semaines, lorsque R-multiverse commencera à construire le prochain instantané de &lt;a href=&#34;https://r-multiverse.org/production.html&#34;&gt;&lt;strong&gt;production&lt;/strong&gt;&lt;/a&gt; ils seront vérifiés en même temps que les autres paquets.
S&amp;rsquo;ils sont acceptables, leur version à ce moment-là sera celle qui sera intégrée à la production.
S&amp;rsquo;il y a des problèmes, le responsable peut toujours apporter des corrections.&lt;/p&gt;
&lt;p&gt;Tant que ces paquets sont listés dans le R-multiverse, ils participeront aux snapshots de production trimestriels.
Les responsables n&amp;rsquo;ont qu&amp;rsquo;à continuer à créer des &amp;ldquo;releases&amp;rdquo; (bonne pratique de toute façon) et à suivre la procédure &lt;a href=&#34;https://r-multiverse.org/status/&#34;&gt;statut&lt;/a&gt; de leur paquet dans R-multiverse.&lt;/p&gt;
&lt;p&gt;Pour que les utilisateur·rice·s du paquet sachent qu&amp;rsquo;il·elle·s peuvent l&amp;rsquo;installer à partir du dépôt &lt;a href=&#34;https://r-multiverse.org/community.html&#34;&gt;communauté&lt;/a&gt; ou du dépôt &lt;a href=&#34;https://r-multiverse.org/production.html&#34;&gt;production&lt;/a&gt; les responsables des paquets devront mettre à jour les instructions d&amp;rsquo;installation dans le README de leur paquet.
Ils peuvent également ajouter un &lt;a href=&#34;https://r-multiverse.org/contributors.html#badges&#34;&gt;badge&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Quelle est la suite pour le multivers R ?
&lt;/h2&gt;&lt;p&gt;Après la conférence posit, l&amp;rsquo;appel à la communauté rOpenSci et la session de coworking rOpenSci, R-multiverse vise à augmenter la participation à son système pour le renforcer et le diversifier.
Les soumissions de nouveaux paquets sont les bienvenues, tout comme les &lt;a href=&#34;https://github.com/r-multiverse/help&#34;&gt;questions et demandes de fonctionnalités&lt;/a&gt;.
Vous pouvez également poser votre candidature pour devenir &lt;a href=&#34;https://r-multiverse.org/moderators.html&#34;&gt;modérateur de paquet&lt;/a&gt; pour aider à gérer les nouvelles soumissions.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Et avant cela, lors d&amp;rsquo;une conférence à posit::conf ! Restez à l&amp;rsquo;écoute pour la publication des enregistrements des conférences publiques sur YouTube.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Ou un fichier JSON un peu plus complexe si le paquet se trouve dans un sous-répertoire, par exemple.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;La liste d&amp;rsquo;auteur·rice·s du paquet reste inchangée.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

      
      
      
      </description>
    </item>
    
    <item>
      <title>Reconnaissance au-delà des auteur·rice·s de billets de blog</title>
      <link>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/10/14/reconnaissance-blog/</link>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <author>rOpenSci</author>
      <guid>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/10/14/reconnaissance-blog/</guid>
      <description>
         
        
        
        
        
         
        
        
         
        
        
        &lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/10/14/blog-roles/&#39;&gt;Read it in: English&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/es/blog/2025/10/14/reconocimiento_blog/&#39;&gt;Read it in: Español&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Notre propre guide de développement &lt;a href=&#34;https://devguide.ropensci.org/maintenance_collaboration.html#attributions&#34;&gt;souligne&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Sois généreux·se avec les attributions&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Reconnaître les diverses formes de &lt;a href=&#34;https://contributing.ropensci.org/&#34;&gt;contributions&lt;/a&gt; à notre mission est très importante pour nous :
nous aimons remercier &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2018/03/16/thanking-reviewers-in-metadata/&#34;&gt;les personnes qui font la révision de paquets&lt;/a&gt; et plus généralement &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2024/11/26/allcontributors/&#34;&gt;tous les contributeur·rice·s aux paquets&lt;/a&gt;, &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/05/09/ror/&#34;&gt;les organisations ainsi que les individus&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nous avons récemment étendu nos efforts à la reconnaissance des différents rôles permettant la publication d&amp;rsquo;un article de blog.&lt;/p&gt;
&lt;h2&gt;
Nouveaux rôles sur le blog : éditeur·rice·s, traducteur·rice·s, interviewé·e·s
&lt;/h2&gt;&lt;p&gt;Les métadonnées de nos articles de blog comportent désormais :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;qui a édité l&amp;rsquo;article de blog
&lt;ul&gt;
&lt;li&gt;par exemple, &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/09/18/markdown-programmatic-parsing/&#34;&gt;Steffi LaZerte a modifié un article récent&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;qui a traduit l&amp;rsquo;article de blog
&lt;ul&gt;
&lt;li&gt;par exemple, &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/es/blog/2025/06/23/edicion-multilingue-preguntas-frecuentes/&#34;&gt;Yanina Bellini Saibene a traduit un article en espagnol&lt;/a&gt; et &lt;a href=&#34;fr/blog/2025/06/23/publication-multilingue-faq/&#34;&gt;Maëlle Salmon l&amp;rsquo;a traduit en français&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;qui était &lt;em&gt;interviewé&lt;/em&gt; pour un article de blog
&lt;ul&gt;
&lt;li&gt;par exemple, &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2023/03/30/r-universe-stars-3-en/&#34;&gt;Athanasia Mo Mowinckel a été interviewée dans la série Étoiles de R-universe.&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La &amp;ldquo;page auteur·rice&amp;rdquo; des contributeur·rice·s énumère leurs diverses contributions au contenu dans la langue actuelle (les articles en tant qu&amp;rsquo;auteur·rice sont listés en premier, suivis des autres rôles) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/author/steffi-lazerte&#34;&gt;Page d&amp;rsquo;autrice de Steffi LaZerte&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/es/author/yanina-bellini-saibene&#34;&gt;Page d&amp;rsquo;autrice de Yanina Bellini Saibene en espagnol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/author/athanasia-mo-mowinckel/&#34;&gt;Page d&amp;rsquo;autrice d&amp;rsquo;Athanasia Mo Mowinckel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour réaliser cette nouvelle fonctionnalité, nous avons&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;modifié les &lt;em&gt;layouts&lt;/em&gt; (modèles) de Hugo pour &lt;a href=&#34;https://github.com/ropensci/roweb3/blob/main/themes/ropensci/layouts/partials/blogs/blog-single.html&#34;&gt;les articles de blog&lt;/a&gt; et &lt;a href=&#34;https://github.com/ropensci/roweb3/blob/main/themes/ropensci/layouts/author/list.html&#34;&gt;pages d&amp;rsquo;auteur·rice&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;documenté les nouveaux champs de métadonnées correspondants dans notre &lt;a href=&#34;https://blogguide.ropensci.org/editorchecklistany.html&#34;&gt;guide pour le blog&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Conclusion
&lt;/h2&gt;&lt;p&gt;Nous sommes ravi·e·s de pouvoir reconnaître davantage de contributions à notre blog.&lt;/p&gt;
&lt;p&gt;Cette différenciation des rôles nous permet également d&amp;rsquo;analyser plus en détail la façon dont les collaborations liées au blog se produisent parmi les membres de notre communauté.
Grâce à ces informations, nous pouvons explorer différentes façons d&amp;rsquo;encourager la participation des personnes intéressées, y compris la meilleure façon de fournir le soutien nécessaire à une participation réussie.&lt;/p&gt;
&lt;p&gt;Nous espérons également que nos résultats seront utiles à d&amp;rsquo;autres communautés pour identifier les différents types de contributions et les façons de les honorer.&lt;/p&gt;
&lt;p&gt;Nous continuerons à travailler pour que davantage de ces contributions soient présentées dans notre fil d&amp;rsquo;actualité sur &lt;a href=&#34;https://rogue-scholar.org/communities/ropensci/records?q=&amp;amp;l=list&amp;amp;p=1&amp;amp;s=10&amp;amp;sort=newest&#34;&gt;Rogue Scholar&lt;/a&gt;.&lt;/p&gt;

      
      
      
      </description>
    </item>
    
    <item>
      <title>Une introduction en douceur à la science ouverte</title>
      <link>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/09/23/gentle-openscience/</link>
      <pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate>
      <author>rOpenSci</author>
      <guid>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/09/23/gentle-openscience/</guid>
      <description>
         
        
        
        
        
         
        
        
        &lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/09/23/gentle-openscience/&#39;&gt;Read it in: English&lt;/a&gt;.&lt;/p&gt; &lt;figure class=&#34;pull-right&#34;&gt;&lt;img src=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/09/23/gentle-openscience/sunny_and_steffi.jpg&#34;
    alt=&#34;Sunny et Steffi montrent leurs autocollants R hex !&#34; width=&#34;300&#34;&gt;&lt;figcaption&gt;
      &lt;p&gt;Sunny et Steffi montrent leurs autocollants R hex !&lt;/p&gt;
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Cet été, j&amp;rsquo;ai eu le plaisir de participer à la &lt;a href=&#34;https://www.sco-soc.ca/fr&#34;&gt;Société des ornithologistes du Canada&lt;/a&gt; à &lt;a href=&#34;https://fr.wikipedia.org/wiki/Saskatoon&#34;&gt;Saskatoon&lt;/a&gt; au Canada.
C&amp;rsquo;était génial de croiser &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/author/yi-chin-sunny-tseng/&#34;&gt;Sunny Tseng&lt;/a&gt;, &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/champions&#34;&gt;Championne rOpenSci&lt;/a&gt; et collègue &lt;a href=&#34;https://fr.wikipedia.org/wiki/Ornithologie&#34;&gt;ornithologiste&lt;/a&gt;!
Ce n&amp;rsquo;est pas souvent que je rencontre les deux types de collègues (développeur·se·s R et ornithologistes) lors d&amp;rsquo;une même conférence, alors je chéris ces expériences.&lt;/p&gt;
&lt;p&gt;Avant de rejoindre rOpenSci, j&amp;rsquo;ai commencé ma carrière professionnelle en tant &lt;a href=&#34;https://royalsocietypublishing.org/doi/10.1098/rspb.2016.1058&#34;&gt;qu&amp;rsquo;écologiste comportementale et ornithologiste&lt;/a&gt;, étudiant les effets du bruit urbain et de l&amp;rsquo;habitat sur la communication chez les &lt;a href=&#34;https://fr.wikipedia.org/wiki/m%C3%A9sanges&#34;&gt;mésanges&lt;/a&gt;.
Alors que je me suis reconvertie dans le conseil et l&amp;rsquo;assistance en matière de R ainsi que le travail avec &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/author/yanina-bellini-saibene&#34;&gt;Yani&lt;/a&gt; ici à rOpenSci avec notre incroyable communauté, je travaille encore aujourd&amp;rsquo;hui principalement pour d&amp;rsquo;autres ornithologistes ou des organisations à but non lucratif de conservation des oiseaux.&lt;/p&gt;
&lt;p&gt;Cela signifie que la &lt;a href=&#34;https://www.sco-soc.ca/fr&#34;&gt;Société des ornithologistes du Canada&lt;/a&gt; est toujours mon organisation d&amp;rsquo;origine et je suis toujours enthousiaste à l&amp;rsquo;idée d&amp;rsquo;assister à des réunions et de renouer avec mes collègues.
Mais conférence ornithologique ou pas, j&amp;rsquo;essaie toujours d&amp;rsquo;apporter un peu de R, de Science Ouverte et de rOpenSci à la réunion.&lt;/p&gt;
&lt;p&gt;Dans le passé, j&amp;rsquo;ai organisé des symposiums sur des sujets tels que &amp;ldquo;&lt;a href=&#34;https://github.com/steffilazerte/Presentations/tree/master/2019-08%20SOC%20-%20R%20Symposium#readme&#34;&gt;R pour les ornithologues : Points de vue des utilisateuRs et programmeuRs&lt;/a&gt;&amp;rdquo; ou &amp;ldquo;&lt;a href=&#34;https://github.com/steffilazerte/Presentations/tree/master/2021-08%20AOS%7CSOC%20-%20R%20Symposium#readme&#34;&gt;Comment les ornithologues peuvent-il·elle·s trouver des paquets R ?&lt;/a&gt;&amp;rdquo; et j&amp;rsquo;ai participé à l&amp;rsquo;organisation d&amp;rsquo;ateliers sur les paquets R pour l&amp;rsquo;ornithologie (comme &lt;a href=&#34;https://github.com/bbsBayes/bbsBayes2&#34;&gt;bbsBayes2&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Cette année, j&amp;rsquo;ai eu envie d&amp;rsquo;aller un peu plus loin que R et j&amp;rsquo;ai décidé de parler de &amp;ldquo;&lt;a href=&#34;https://github.com/steffilazerte/Presentations/tree/master/2025-08-Open-Science#readme&#34;&gt;Conseils pratiques pour la science ouverte en ornithologie&lt;/a&gt;&amp;rdquo;.
Mon objectif était d&amp;rsquo;encourager les ornithologistes (ou d&amp;rsquo;autres scientifiques) à essayer la science ouverte.
Pour se rendre compte qu&amp;rsquo;il n&amp;rsquo;est nécessaire ni d&amp;rsquo;avoir une formation en informatique, ni d&amp;rsquo;avoir beaucoup d&amp;rsquo;argent !
Et comme l&amp;rsquo;ornithologie compte de nombreux scientifiques qui travaillent déjà avec des données ouvertes, des méthodes ouvertes et la science ouverte, je voulais partager quelques idées sur la manière dont il·elle·s pourraient encourager un plus grand nombre de leurs collègues à se joindre à elleux.&lt;/p&gt;
&lt;p&gt;Pour la communauté rOpenSci, il s&amp;rsquo;agit d&amp;rsquo;un véritable &amp;ldquo;retour aux sources&amp;rdquo;.
Les conversations que nous avons portent plus souvent sur la façon dont on peut devenir &lt;em&gt;meilleur·e&lt;/em&gt; en science ouverte ?
Comment rendre cette étude &lt;em&gt;complètement&lt;/em&gt; reproductible ?
Comment &lt;em&gt;améliorer&lt;/em&gt; la qualité du code ouvert&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;?&lt;/p&gt;
&lt;figure class=&#34;pull-right&#34;&gt;&lt;img src=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/09/23/gentle-openscience/alot_fr.png&#34;
    alt=&#34;Grue à couronne grise à l&amp;#39;air surpris, avec une grande couronne de plumes autour de la tête. Le texte est le suivant : &amp;#39;Whoa ! C&amp;#39;est beaucoup ! Pourquoi faire de la science ouverte ?&amp;#39;&#34; width=&#34;400&#34;&gt;&lt;figcaption&gt;
      &lt;p&gt;Diapositive reconnaissant que la science ouverte peut être un défi&lt;br&gt;(&lt;a href=&#34;https://upload.wikimedia.org/wikipedia/commons/1/1c/Grey_Crowned_Crane_2.jpg&#34;&gt;Grey-crowned crane&lt;/a&gt; - Kuribo, CC BY-SA 2.0)&lt;/p&gt;
    &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Mais je pense que nous oublions parfois qu&amp;rsquo;en plus du temps, des compétences et parfois du financement, &lt;strong&gt;la pratique de la science ouverte demande beaucoup de courage&lt;/strong&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Pour celleux qui débutent (comme les étudiant·e·s) ou celleux qui n&amp;rsquo;ont pas de soutien en matière de science ouverte (comme les chercheur·se·s des petites institutions), la pratique de la science ouverte peut sembler écrasante et extrêmement intimidante.
Il est effrayant de penser aux critiques si l&amp;rsquo;on ne &amp;ldquo;fait pas de la science ouverte correctement&amp;rdquo;, ou aux conséquences si l&amp;rsquo;on commet une erreur.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai voulu mettre l&amp;rsquo;accent sur les petits pas, pour qu&amp;rsquo;il soit clair que c&amp;rsquo;est l&amp;rsquo;effort qui est important, et non la perfection !&lt;/p&gt;
&lt;p&gt;En plus de quelques conseils pratiques, j&amp;rsquo;ai donc donné quatre conseils généraux :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://steffilazerte.ca/Presentations/2025-08-Open-Science/index_fr.html#/conseil-n-1-nessayez-pas-de-tout-faire&#34;&gt;Ne pas essayer de tout faire&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Soyez gentil·le avec vous-même&lt;/li&gt;
&lt;li&gt;Vous avez le droit de commencer petit et de grandir !&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://steffilazerte.ca/Presentations/2025-08-Open-Science/index_fr.html#/conseil-n-2-faites-une-chose-nouvelle&#34;&gt;Faites une nouvelle chose&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pour chaque projet, essayez d&amp;rsquo;élargir vos compétences, d&amp;rsquo;apprendre une nouvelle chose.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://steffilazerte.ca/Presentations/2025-08-Open-Science/index_fr.html#/conseil-n-3-cest-normal-d%C3%AAtre-nerveuxse&#34;&gt;C&amp;rsquo;est normal d&amp;rsquo;être nerveux·se&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les erreurs arrivent, mais n&amp;rsquo;oubliez pas qu&amp;rsquo;en pratiquant la science ouverte, vous êtes déjà génial·e !&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://steffilazerte.ca/Presentations/2025-08-Open-Science/index_fr.html#/conseil-n-4-travaillez-avec-les-autres&#34;&gt;Travailler avec d&amp;rsquo;autres&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trouver sa communauté&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Je pense que ce qui m&amp;rsquo;a le plus plu dans cette conférence, c&amp;rsquo;est le nombre d&amp;rsquo;étudiant·e·s qui sont venu·e·s me parler par la suite, enthousiastes (et nerveux·ses) à l&amp;rsquo;idée de commencer à partager leur code en ligne.
Il·elle·s m&amp;rsquo;ont posé de nombreuses questions, qu&amp;rsquo;il s&amp;rsquo;agisse de questions pratiques sur l&amp;rsquo;utilisation de GitHub ou de questions générales sur la qualité de leur code pour qu&amp;rsquo;il soit partagé.
Ma réponse à cette dernière question a été : &amp;ldquo;Si vous l&amp;rsquo;avez utilisé, partagez-le.
(Mais annotez-le énormément !)&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Quels sont vos conseils préférés pour encourager la science ouverte ?&lt;/p&gt;
&lt;h3&gt;
Remerciements
&lt;/h3&gt;&lt;p&gt;Remerciements à &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/author/alex-koiter&#34;&gt;Alex Koiter&lt;/a&gt; pour les idées et le remue-méninges pour mon exposé, ainsi que pour son exposé génial (et beaucoup plus long), &lt;a href=&#34;https://alexkoiter.ca/presentations/UM_Soil_Science_2023/Open_reproducible_science.html&#34;&gt;Open and Reproducible Soil Science&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Trisovic A, Lau MK, Pasquier T, et al.
&lt;a href=&#34;https://www.nature.com/articles/s41597-022-01143-6&#34;&gt;A large-scale study on research code quality and execution&lt;/a&gt;.
Sci Data 9, 60 (2022).
&lt;a href=&#34;https://doi.org/10.1038/s41597-022-01143-6&#34;&gt;https://doi.org/10.1038/s41597-022-01143-6&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;&lt;strong&gt;Insécurité:&lt;/strong&gt;
Gomes DGE, Pottier P, Crystal-Ornelas R, et al.
&lt;a href=&#34;https://pmc.ncbi.nlm.nih.gov/articles/PMC9682438/&#34;&gt;Why don&amp;rsquo;t we share data and code? Perceived barriers and benefits to public archiving practices&lt;/a&gt;.
Proc Biol Sci 289(1987):20221113 (2022).
&lt;a href=&#34;https://doi.org/10.1098/rspb.2022.1113&#34;&gt;https://doi.org/10.1098/rspb.2022.1113&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

      
      
      
      </description>
    </item>
    
    <item>
      <title>Toutes les façons d&#39;éditer ou d&#39;analyser programmatiquement des documents R Markdown / Quarto</title>
      <link>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/09/18/markdown-programmatique/</link>
      <pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate>
      <author>rOpenSci</author>
      <guid>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/09/18/markdown-programmatique/</guid>
      <description>
         
        
        
        
        
         
        
        
         
        
        
        &lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/09/18/markdown-programmatic-parsing/&#39;&gt;Read it in: English&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/es/blog/2025/09/18/markdown-programatico/&#39;&gt;Read it in: Español&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Si la vie te donne un tas de fichiers Markdown à analyser ou à éditer, est-ce que tu fais chauffer tes muscles regex avant de te lancer ? Et si tu utilisais plutôt des outils plus spécifiques ? Dans ce billet, nous allons donner un aperçu des moyens programmatiques d&amp;rsquo;analyser et d&amp;rsquo;éditer les fichiers Markdown : Markdown, R Markdown, Quarto, fichiers Hugo, et plus encore.&lt;/p&gt;
&lt;h2&gt;
Qu&amp;rsquo;est-ce que Markdown ?
&lt;/h2&gt;&lt;p&gt;Markdown est un langage de balisage créé par John Gruber et Aaron Swartz. Voici un exemple :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# Mon premier titre
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Contenu, avec des parties en &lt;span class=&#34;gs&#34;&gt;**gras**&lt;/span&gt; ou &lt;span class=&#34;ge&#34;&gt;*italique*&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;J&amp;#39;ajoute un [&lt;span class=&#34;nt&#34;&gt;lien&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://ropensci.org&lt;/span&gt;).
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Différents fichiers Markdown peuvent conduire au même résultat, par exemple ceci est équivalent à notre premier exemple :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Mon premier titre
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;===============
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Contenu, avec des parties en &lt;span class=&#34;gs&#34;&gt;__gras__&lt;/span&gt; ou &lt;span class=&#34;ge&#34;&gt;_italique_&lt;/span&gt;. J&amp;#39;ajoute un [&lt;span class=&#34;nt&#34;&gt;lien&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://ropensci.org&lt;/span&gt;).
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;De plus, il existe différents &lt;em&gt;flavours&lt;/em&gt; (&lt;em&gt;saveurs&lt;/em&gt;) ou &lt;em&gt;spécifications (specs)&lt;/em&gt; de Markdown &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; qui ajoute des &lt;a href=&#34;https://www.markdownguide.org/extended-syntax/&#34;&gt;syntaxe étendues&lt;/a&gt; comme les emojis écrits avec des deux-points.&lt;/p&gt;
&lt;p&gt;Les utilisateur·rice·s de R interagissent généralement avec les différentes saveurs de Markdown par le biais de leurs outils habituels :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;R Markdown qui utilise Pandoc sous le capot,&lt;/li&gt;
&lt;li&gt;Quarto (qui utilise Pandoc sous le capot&amp;hellip; tu vois une tendance ?),&lt;/li&gt;
&lt;li&gt;GitHub qui utilise &lt;a href=&#34;https://github.github.com/gfm/&#34;&gt;GitHub Flavored Markdown (GFM)&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Markdown dans roxygen2 qui utilise Commonmark par l&amp;rsquo;intermédiaire de &lt;a href=&#34;https://cran.r-project.org/web/packages/commonmark/index.html&#34;&gt;{commonmark}&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Hugo, pour &lt;a href=&#34;https://pkgs.rstudio.com/blogdown/&#34;&gt;blogdown&lt;/a&gt; ou &lt;a href=&#34;https://hugodown.r-lib.org/&#34;&gt;hugodown&lt;/a&gt; qui utilisent &lt;a href=&#34;https://gohugo.io/content-management/formats/#markdown&#34;&gt;Commonmark et GFM&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Jekyll qui utilise GFM avec des spécificités à travers &lt;a href=&#34;https://jekyllrb.com/docs/configuration/markdown/&#34;&gt;kramdown&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;De nombreux outils utilisant Markdown acceptent également un &lt;em&gt;frontmatter&lt;/em&gt; (&lt;em&gt;en-tête&lt;/em&gt;): métadonnées en tête des fichiers Markdown, par exemple YAML, TOML ou JSON. Voici un exemple avec un en-tête YAML :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;title: Mon truc cool
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;author: Moi-même
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Contenu, &lt;span class=&#34;ge&#34;&gt;*bon*&lt;/span&gt; contenu.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le plus souvent, les utilisateur·rice·s de R écrivent du Markdown manuellement, ou à l&amp;rsquo;aide d&amp;rsquo;un éditeur tel que &lt;a href=&#34;https://quarto.org/docs/tools/positron/visual-editor.html&#34;&gt;l&amp;rsquo;éditeur visuel Positron&lt;/a&gt; ou &lt;a href=&#34;https://posit.co/blog/exploring-rstudio-visual-markdown-editor/&#34;&gt;l&amp;rsquo;éditeur visuel RStudio IDE&lt;/a&gt;. Mais parfois, il faut créer ou modifier un grand nombre de fichiers Markdown en même temps, et modifier tous ces fichiers à la main est une énorme perte de temps. Cet article de blog te donnera des ressources en R que tu pourras utiliser pour créer, analyser et modifier des documents Markdown, afin que tu puisses devenir le·a magicien·ne Markdown que tu as toujours rêvé de devenir &amp;#x1f9d9; !&lt;/p&gt;
&lt;h3&gt;
Morceaux de code et programmation lettrée
&lt;/h3&gt;&lt;p&gt;En Markdown, tu peux ajouter des morceaux de code, qui seront correctement formatés et mis en évidence, en utilisant la syntaxe suivante :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```r
1 + 1
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Les outils de programmation lettrée tels que knitr (pour R Markdown et Quarto) te permettront d&amp;rsquo;ajouter des morceaux de code qui seront exécutés pour rendre le document :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;
&lt;pre class=&#39;chroma&#39;&gt;&lt;code class=&#39;language-r&#39; data-lang=&#39;r&#39;&gt;```{r}
#| label: my-chunk
#| echo: true
1 + 1
```
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Cette dernière syntaxe, les chunks de code exécutables, n&amp;rsquo;est pas forcément bien gérée par les outils &amp;ldquo;normaux&amp;rdquo; comme Pandoc. C&amp;rsquo;est quelque chose qu&amp;rsquo;il faut garder à l&amp;rsquo;esprit si tu as affaire à des documents qui contiennent des morceaux de code exécutables.&lt;/p&gt;
&lt;h2&gt;
Outils de création pour les documents standard
&lt;/h2&gt;&lt;p&gt;Imagine que tu doives créer un tas de fichiers R Markdown différents, par exemple pour que les élèves les utilisent comme exercices personnalisés. Dans ce cas, tu peux créer un document comme modèle, et créer ses différentes versions de sortie à l&amp;rsquo;aide d&amp;rsquo;un outil de création de modèles.&lt;/p&gt;
&lt;p&gt;Les outils de création de modèles comprennent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown-cookbook/knit-expand.html&#34;&gt;&lt;code&gt;knitr::knit_expand()&lt;/code&gt;&lt;/a&gt; par Yihui Xie ;&lt;/li&gt;
&lt;li&gt;le &lt;a href=&#34;https://github.com/edwindj/whisker&#34;&gt;paquet whisker&lt;/a&gt; maintenu par Edwin de Jonge (utilisé par exemple dans pkgdown) ;&lt;/li&gt;
&lt;li&gt;le &lt;a href=&#34;https://github.com/gregfrog/brew&#34;&gt;paquet brew&lt;/a&gt; maintenu par Greg Hunt ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2023/06/01/troubleshooting-pandoc-problems-as-an-r-user/&#34;&gt;Pandoc&lt;/a&gt; de John MacFarlane par le biais de son &lt;a href=&#34;https://pandoc.org/MANUAL.html#templates&#34;&gt;modèles&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;exemple le plus simple du paquet whisker pourrait en outre te rappeler le&amp;hellip; &lt;a href=&#34;https://glue.tidyverse.org/&#34;&gt;paquet glue&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un flux de travail courant serait le suivant :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tu crées un modèle dans un fichier, où les parties variables sont indiquées par des chaînes de caractères telles que &lt;code&gt;{{name}}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Tu lis ce modèle dans R en utilisant par exemple le &lt;a href=&#34;https://brio.r-lib.org/&#34;&gt;paquet brio&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;En faisant correspondre ton ensemble de variables, tu rends le modèle à l&amp;rsquo;aide de Whisker et tu enregistres chaque version dans un fichier à l&amp;rsquo;aide du paquet brio.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
Exemple
&lt;/h3&gt;&lt;p&gt;Voici un exemple de fichier Markdown que nous pouvons utiliser comme modèle :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;
&lt;pre class=&#39;chroma&#39;&gt;&lt;code class=&#39;language-r&#39; data-lang=&#39;r&#39;&gt;---
title: &#34;Devoir maison 1&#34;
author: &#34;{{nom}}&#34;
---

Créez une distribution normale avec une moyenne de {{moyenne}} et un écart-type de {{sd}} :

```{r solution-1}
# indice: utilisez la fonction rnorm
```
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;En utilisant le flux de travail ci-dessous, nous pouvons créer différents documents Markdown correspondant à différents élèves.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;
&lt;pre class=&#39;chroma&#39;&gt;&lt;code class=&#39;language-r&#39; data-lang=&#39;r&#39;&gt;&lt;span&gt;&lt;span class=&#39;c&#39;&gt;# génération des variables ----&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;nv&#39;&gt;etudiants&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/c.html&#39;&gt;c&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;s&#39;&gt;&#34;Maëlle&#34;&lt;/span&gt;, &lt;span class=&#39;s&#39;&gt;&#34;Christophe&#34;&lt;/span&gt;, &lt;span class=&#39;s&#39;&gt;&#34;Zhian&#34;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;nv&#39;&gt;n&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/length.html&#39;&gt;length&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;etudiants&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;nv&#39;&gt;clef&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/data.frame.html&#39;&gt;data.frame&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;  nom &lt;span class=&#39;o&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;nv&#39;&gt;etudiants&lt;/span&gt;,&lt;/span&gt;
&lt;span&gt;  moyenne &lt;span class=&#39;o&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/stats/Poisson.html&#39;&gt;rpois&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;n&lt;/span&gt;, &lt;span class=&#39;m&#39;&gt;5&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;,&lt;/span&gt;
&lt;span&gt;  sd &lt;span class=&#39;o&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/sprintf.html&#39;&gt;sprintf&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;s&#39;&gt;&#34;%.1f&#34;&lt;/span&gt;, &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/stats/Uniform.html&#39;&gt;runif&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;,&lt;/span&gt;
&lt;span&gt;  fichier &lt;span class=&#39;o&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/sprintf.html&#39;&gt;sprintf&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;s&#39;&gt;&#34;%s-hw.fr.md&#34;&lt;/span&gt;, &lt;span class=&#39;nv&#39;&gt;etudiants&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;c&#39;&gt;# création des devoirs à partir du modèle ----&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;nv&#39;&gt;make_assignment&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#39;kr&#39;&gt;function&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;clef&lt;/span&gt;, &lt;span class=&#39;nv&#39;&gt;modele&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;  &lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/lapply.html&#39;&gt;lapply&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/seq.html&#39;&gt;seq&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;n&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;, &lt;span class=&#39;kr&#39;&gt;function&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;i&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;    &lt;span class=&#39;nv&#39;&gt;new&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;whisker&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/pkg/whisker/man/whisker.render.html&#39;&gt;whisker.render&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;modele&lt;/span&gt;, data &lt;span class=&#39;o&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;nv&#39;&gt;clef&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;i&lt;/span&gt;, &lt;span class=&#39;o&#39;&gt;]&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;    &lt;span class=&#39;nf&#39;&gt;brio&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://brio.r-lib.org/reference/write_lines.html&#39;&gt;write_lines&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;new&lt;/span&gt;, &lt;span class=&#39;nv&#39;&gt;clef&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;$&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;fichier&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;[&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;i&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;]&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;  &lt;span class=&#39;o&#39;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;  &lt;span class=&#39;kr&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/function.html&#39;&gt;return&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/invisible.html&#39;&gt;invisible&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;o&#39;&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;nv&#39;&gt;md&lt;/span&gt; &lt;span class=&#39;o&#39;&gt;&amp;lt;-&lt;/span&gt; &lt;span class=&#39;nf&#39;&gt;brio&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;::&lt;/span&gt;&lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://brio.r-lib.org/reference/read_lines.html&#39;&gt;read_lines&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;s&#39;&gt;&#34;hw-template.fr.md&#34;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;nf&#39;&gt;make_assignment&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;clef&lt;/span&gt;, modele &lt;span class=&#39;o&#39;&gt;=&lt;/span&gt; &lt;span class=&#39;nv&#39;&gt;md&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;nf&#39;&gt;&lt;a href=&#39;https://rdrr.io/r/base/print.html&#39;&gt;print&lt;/a&gt;&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;(&lt;/span&gt;&lt;span class=&#39;nv&#39;&gt;clef&lt;/span&gt;&lt;span class=&#39;o&#39;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;c&#39;&gt;#&amp;gt;          nom moyenne  sd             fichier&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;c&#39;&gt;#&amp;gt; 1     Maëlle       7 0.1     Maëlle-hw.fr.md&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;c&#39;&gt;#&amp;gt; 2 Christophe       8 0.7 Christophe-hw.fr.md&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span class=&#39;c&#39;&gt;#&amp;gt; 3      Zhian       2 0.8      Zhian-hw.fr.md&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Voici à quoi ressemblent les devoirs de Zhian :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;
&lt;pre class=&#39;chroma&#39;&gt;&lt;code class=&#39;language-r&#39; data-lang=&#39;r&#39;&gt;---
title: &#34;Devoir maison 1&#34;
author: &#34;Zhian&#34;
---

Créez une distribution normale avec une moyenne de 2 et un écart-type de 0.8 :

```{r solution-1}
# indice: utilisez la fonction rnorm
```
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&#34;highlight&#34;&gt;
&lt;/div&gt;
&lt;h2&gt;
Outils de manipulation des chaînes de caractères
&lt;/h2&gt;&lt;p&gt;Tu peux utiliser des outils de manipulation de chaînes pour analyser Markdown si tu es sûr·e des variantes de Markdown que ton code recevra en entrée, ou si tu es prêt·e à développer ta base de code pour prendre en compte de nombreux cas de figure&amp;hellip; ce qui signifie en fin de compte que tu écris un véritable analyseur Markdown. Ce n&amp;rsquo;est pas pour les âmes sensibles&amp;hellip; et ce n&amp;rsquo;est pas nécessaire si tu lis la section qui suit celle-ci &amp;#x1f60c;&lt;/p&gt;
&lt;p&gt;Tu détectes les titres en utilisant par exemple &lt;code&gt;grep(&amp;quot;^#&amp;quot;, markdown_lines)&lt;/code&gt; &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; .&lt;/p&gt;
&lt;p&gt;Parmi les exemples d&amp;rsquo;outils de manipulation de chaînes de caractères, on peut citer R base (&lt;a href=&#34;https://rdrr.io/r/base/grep.html&#34;&gt;&lt;code&gt;sub()&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://rdrr.io/r/base/grep.html&#34;&gt;&lt;code&gt;grep()&lt;/code&gt;&lt;/a&gt; et ses amis), &lt;a href=&#34;https://stringr.tidyverse.org/&#34;&gt;stringr&lt;/a&gt; (et &lt;a href=&#34;https://stringi.gagolewski.com/index.html&#34;&gt;stringi&lt;/a&gt;), &lt;a href=&#34;https://rdrr.io/pkg/xfun/man/gsub_file.html&#34;&gt;&lt;code&gt;xfun::gsub_file()&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Bien que les outils de manipulation de chaînes de caractères soient d&amp;rsquo;une utilité limitée lors de l&amp;rsquo;analyse de Markdown, ils peuvent &lt;em&gt;compléter&lt;/em&gt; les outils d&amp;rsquo;analyse proprement dits. Même si l&amp;rsquo;utilisation d&amp;rsquo;outils d&amp;rsquo;analyse Markdown spécifiques t&amp;rsquo;aidera à écrire moins d&amp;rsquo;expressions régulières toi-même&amp;hellip; ils ne t&amp;rsquo;en libéreront pas complètement.&lt;/p&gt;
&lt;h2&gt;
Outils de manipulation des représentations abstraites
&lt;/h2&gt;&lt;p&gt;Les outils de manipulation des représentations abstraites sont fantastiques et nombreux. Ils traduisent le document Markdown en une structure de données appelée &lt;a href=&#34;https://en.wikipedia.org/wiki/Abstract_syntax_tree&#34;&gt;abstrait Syntax Tree (AST)&lt;/a&gt; qui te permet de contrôler finement des éléments spécifiques du document (par exemple, des titres ou des liens individuels, quelle que soit la façon dont ils sont écrits). Grâce à une structure de données formelle, tu peux manipuler par programme le document Markdown en ajoutant, en supprimant ou en manipulant des éléments de Markdown d&amp;rsquo;une manière standardisée.&lt;/p&gt;
&lt;p&gt;Certains de ces outils te permettent de lire, d&amp;rsquo;éditer et de manipuler des documents Markdown et de les réécrire.&lt;/p&gt;
&lt;p&gt;Nous ne mentionnerons que les outils que tu peux utiliser directement à partir de R.&lt;/p&gt;
&lt;h3&gt;
Exemple de cas d&amp;rsquo;utilisation
&lt;/h3&gt;&lt;p&gt;Disons que tu as créé une série de tutoriels qui renvoient à un site Web contenant une galerie d&amp;rsquo;extensions pour un paquet populaire de visualisation de données. Disons aussi qu&amp;rsquo;un jour, quelqu&amp;rsquo;un découvre que le lien vers le site Web soudainement&amp;hellip; &lt;a href=&#34;https://github.com/ggplot2-exts/gallery/issues/112&#34;&gt;redirige vers un site potentiellement malveillant qui n&amp;rsquo;a certainement rien à voir avec la grammaire des graphiques&lt;/a&gt; et tu dois remplacer toutes les occurrences de ce lien par &lt;code&gt;**redacted**&lt;/code&gt;. Étant donné que les liens en Markdown peuvent être écrits de plusieurs façons, les expressions régulières ne t&amp;rsquo;aideront pas, mais un analyseur Markdown à granularité fine le fera !&lt;/p&gt;
&lt;p&gt;Un flux de travail pour cette situation serait le suivant :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;lis l&amp;rsquo;AST Markdown avec ton analyseur préféré&lt;/li&gt;
&lt;li&gt;retire tous les liens qui pointent vers le lien pourri&lt;/li&gt;
&lt;li&gt;remplace-les par un texte en surbrillance qui dit &amp;ldquo;modifié&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;convertis l&amp;rsquo;AST et écris-le dans le fichier&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
{tinkr}
&lt;/h3&gt;&lt;p&gt;Le &lt;a href=&#34;https://docs.ropensci.org/tinkr/&#34;&gt;paquet tinkr&lt;/a&gt; créé par Maëlle Salmon et maintenu par Zhian Kamvar, analyse Markdown en XML en utilisant Commonmark, te permet d&amp;rsquo;extraire et de manipuler Markdown en utilisant XPath via le paquet &lt;a href=&#34;https://xml2.r-lib.org/&#34;&gt;xml2&lt;/a&gt;. Tinkr réécrit le XML en Markdown à l&amp;rsquo;aide de XSLT. Les métadonnées YAML sont disponibles sous forme de chaîne de caractères. Tinkr prend en charge les morceaux de code exécutables.&lt;/p&gt;
&lt;p&gt;Le paquet tinkr est utilisé dans les paquets &lt;a href=&#34;https://docs.ropensci.org/babeldown/&#34;&gt;babeldown&lt;/a&gt; et &lt;a href=&#34;https://docs.ropensci.org/aeolus/&#34;&gt;aeolus&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
{md4r}
&lt;/h3&gt;&lt;p&gt;Le &lt;a href=&#34;https://rundel.github.io/md4r/&#34;&gt;paquet md4r&lt;/a&gt; est un paquet expérimental récent maintenu par Colin Rundel. Il s&amp;rsquo;agit d&amp;rsquo;une enveloppe R autour de la bibliothèque MD4C (Markdown for C) qui représente l&amp;rsquo;AST sous forme de liste imbriquée avec des attributs dans R. La version de développement du paquet comporte des utilitaires permettant de construire des documents Markdown de manière programmatique.&lt;/p&gt;
&lt;h3&gt;
Pandoc
&lt;/h3&gt;&lt;p&gt;Avec Pandoc que nous avons présenté dans un &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2023/06/01/troubleshooting-pandoc-problems-as-an-r-user/&#34;&gt;note technique&lt;/a&gt; tu peux transformer un fichier Markdown en un arbre syntaxique abstrait Pandoc (soit dans son format natif, soit en JSON).&lt;/p&gt;
&lt;p&gt;Comment utiliser Pandoc pour éditer et réécrire un fichier Markdown ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;En utilisant des filtres Lua : Pandoc convertit en AST dans son format natif, les filtres Lua permettent de le traiter pour le modifier, puis Pandoc peut écrire en markdown.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Utilisation de filtres JSON : Pandoc convertit en AST en produisant une représentation JSON, puis n&amp;rsquo;importe quel outil peut modifier ce fichier JSON et fournir une version modifiée à Pandoc pour qu&amp;rsquo;il la convertisse à nouveau en markdown.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note que Pandoc ne prend pas en charge les morceaux de code exécutables, car il ne sera pas en mesure d&amp;rsquo;analyser les morceaux de code exécutables en tant que &lt;code&gt;Codeblock&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
{parseqmd}
&lt;/h3&gt;&lt;p&gt;Nic Crane a créé un paquet expérimental appelé &lt;a href=&#34;https://github.com/thisisnic/parseqmd&#34;&gt;parseqmd&lt;/a&gt; qui utilise cette stratégie, en analysant la sortie à l&amp;rsquo;aide de l&amp;rsquo;outil &lt;a href=&#34;https://jeroen.r-universe.dev/jsonlite&#34;&gt;jsonlite&lt;/a&gt; . Tu peux aussi transformer le Markdown en HTML, par exemple, puis revenir à Markdown. L&amp;rsquo;avantage du HTML est que tu peux utiliser un paquet tel que &lt;a href=&#34;https://xml2.r-lib.org/&#34;&gt;xml2&lt;/a&gt; ou &lt;a href=&#34;https://rvest.tidyverse.org/&#34;&gt;rvest&lt;/a&gt; pour extraire et manipuler les éléments.&lt;/p&gt;
&lt;h3&gt;
{parsermd}
&lt;/h3&gt;&lt;p&gt;Le &lt;a href=&#34;https://rundel.github.io/parsermd/&#34;&gt;paquet parsermd&lt;/a&gt; est également maintenu par Colin Rundel et est une &amp;ldquo;implémentation d&amp;rsquo;une grammaire formelle et d&amp;rsquo;un analyseur pour les documents R Markdown en utilisant la bibliothèque Boost Spirit X3. Il comprend également une collection de fonctions de haut niveau pour travailler avec l&amp;rsquo;arbre syntaxique abstrait résultant.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Ce paquet possède des fonctionnalités pour un flux de travail &amp;ldquo;tidy&amp;rdquo; te permettant de sélectionner différentes sections du document. Une caractéristique utile est qu&amp;rsquo;il possède la fonction &lt;a href=&#34;https://rundel.github.io/parsermd/articles/templates.html&#34;&gt;&lt;code&gt;rmd_check_template()&lt;/code&gt;&lt;/a&gt; qui te permet de comparer les documents Markdown soumis par des étudiants par exemple, à un modèle standard. Tu peux regarder sa présentation à la conférence &lt;a href=&#34;https://posit.co/resources/videos/parsermd-parsing-r-markdown-for-fun-and-profit/&#34;&gt;RStudio::conf(2021)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le paquet parsermd te permet même de &lt;a href=&#34;https://github.com/rundel/parsermd/issues/21&#34;&gt;modifier les documents&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
{lightparser}
&lt;/h3&gt;&lt;p&gt;Le paquet &lt;a href=&#34;https://cloud.r-project.org/web/packages/lightparser/index.html&#34;&gt;lightparser&lt;/a&gt; de Sébastien Rochette &amp;ldquo;divise tes fichiers rmarkdown ou quarto par sections dans un tibble : titres, texte, chunks ; reconstruit le fichier à partir du tibble&amp;rdquo;. Il peut être utilisé pour &lt;a href=&#34;https://edenian-prince.github.io/blog/posts/2024-08-21-translate-md-files/&#34;&gt;traduire des documents&lt;/a&gt; par exemple.&lt;/p&gt;
&lt;h3&gt;
L&amp;rsquo;impossibilité d&amp;rsquo;un aller-retour parfait
&lt;/h3&gt;&lt;p&gt;Lorsque l&amp;rsquo;on analyse et modifie du Markdown, puis que l&amp;rsquo;on réécrit en Markdown, certaines modifications indésirables peuvent apparaître. Par exemple, avec &lt;a href=&#34;https://docs.ropensci.org/tinkr/#general-principles-and-solution&#34;&gt;tinkr&lt;/a&gt; les éléments de la liste commencent tous par un &lt;code&gt;-&lt;/code&gt; même si dans le document original ils commençaient par un &lt;code&gt;*&lt;/code&gt;. Avec md4r, les listes qui sont indentées avec un espace supplémentaire seront réajustées.&lt;/p&gt;
&lt;p&gt;En fonction de ton cas d&amp;rsquo;utilisation, tu peux trouver des moyens d&amp;rsquo;atténuer ces pertes, par exemple en ne réécrivant que les lignes sur lesquelles tu as fait des modifications intentionnelles.&lt;/p&gt;
&lt;h3&gt;
Comment choisir un analyseur ?
&lt;/h3&gt;&lt;p&gt;Tu peux choisir un analyseur en fonction de ce qu&amp;rsquo;il te permet de manipuler avec le Markdown : si tu préfères XML&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; et HTML aux listes imbriquées, par exemple, tu préféreras utiliser tinkr ou Pandoc. Si les fonctions de haut niveau de md4r ou parsermd conviennent à ton cas d&amp;rsquo;utilisation, tu peux préférer l&amp;rsquo;un d&amp;rsquo;entre eux.&lt;/p&gt;
&lt;p&gt;Il est important de noter que si tes documents contiennent des morceaux de code exécutable, tu dois utiliser un outil qui les prend en charge, comme parsermd, lightparser, tinkr.&lt;/p&gt;
&lt;p&gt;Un autre critère important est de choisir un analyseur syntaxique qui se rapproche le plus possible du cas d&amp;rsquo;utilisation de tes fichiers Markdown. Si tu ne comptes travailler avec des fichiers Markdown que pour GitHub, commonmark/tinkr est un excellent choix puisque GitHub lui-même utilise commonmark. Maintenant, ton travail peut englober différentes sortes de fichiers Markdown qui seront utilisés par différents outils. Par exemple, l&amp;rsquo;outil &lt;a href=&#34;https://docs.ropensci.org/babeldown/&#34;&gt;babeldown&lt;/a&gt; traite n&amp;rsquo;importe quel fichier Markdown&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;: Markdown, R Markdown, Quarto, Hugo. Dans ce cas, ou si aucun analyseur R ne fait exactement ce que fait l&amp;rsquo;utilisateur·rice final·e de ton Markdown, tu dois faire attention aux bizarreries de cet utilisateur·rice final·e. Tu devras peut-être ajouter des &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2023/06/01/troubleshooting-pandoc-problems-as-an-r-user/#raw-attributes&#34;&gt;attributs bruts de Pandoc&lt;/a&gt; autour d&amp;rsquo;un shortcode Hugo, par exemple. De plus, si tu as besoin d&amp;rsquo;analyser certains éléments, comme encore une fois les shortcodes Hugo, tu peux avoir besoin d&amp;rsquo;écrire le code d&amp;rsquo;analyse toi-même, c&amp;rsquo;est-à-dire des expressions régulières.&lt;/p&gt;
&lt;h2&gt;
Qu&amp;rsquo;en est-il des morceaux de code ?
&lt;/h2&gt;&lt;p&gt;L&amp;rsquo;analyse et l&amp;rsquo;édition programmatiques du code R n&amp;rsquo;entrent pas dans le cadre de ce billet, mais sont suffisamment proches pour que tu y ajoutes quelques conseils.&lt;/p&gt;
&lt;h3&gt;
Expressions régulières
&lt;/h3&gt;&lt;p&gt;Comme pour Markdown, tu peux avoir besoin d&amp;rsquo;utiliser des expressions régulières, mais c&amp;rsquo;est une approche risquée, car par exemple &lt;code&gt;plot (x)&lt;/code&gt; et &lt;code&gt;plot(x)&lt;/code&gt; sont tous deux des appels de fonction valides dans R.&lt;/p&gt;
&lt;h3&gt;
{xmlparsedata}
&lt;/h3&gt;&lt;p&gt;Tu peux analyser le code en XML à l&amp;rsquo;aide de l&amp;rsquo;analyseur de base R et de l&amp;rsquo;analyseur de code XML. &lt;a href=&#34;https://r-lib.github.io/xmlparsedata/&#34;&gt;xmlparsedata&lt;/a&gt; puis tu manipules le XML avec &lt;a href=&#34;https://masalmon.eu/2022/04/08/xml-xpath/&#34;&gt;XPath&lt;/a&gt;. Pour réécrire le code, tu peux utiliser les attributs de chaque nœud qui indiquent les lignes et les colonnes d&amp;rsquo;origine.&lt;/p&gt;
&lt;p&gt;Ainsi, un flux de travail possible, tel qu&amp;rsquo;il est &lt;a href=&#34;https://masalmon.eu/2024/05/15/refactoring-xml/&#34;&gt;illustré dans l&amp;rsquo;article de Maëlle&lt;/a&gt; est le suivant :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Transforme le code en XML, utiliser xmlparsedata pour savoir ce qu&amp;rsquo;il faut changer et où. Ces étapes te permettront d&amp;rsquo;obtenir une liste des positions des éléments, par exemple.&lt;/li&gt;
&lt;li&gt;Utilise brio pour lire les lignes, modifie-en quelques-unes avec les outils de base de R, puis utilise à nouveau brio pour réécrire les lignes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
{treesitter}
&lt;/h3&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/DavisVaughan/r-tree-sitter&#34;&gt;tree-sitter&lt;/a&gt; par Davis Vaughan &amp;ldquo;fournit des liens R à tree-sitter, un système d&amp;rsquo;analyse incrémentielle&amp;rdquo;.&lt;/p&gt;
&lt;h2&gt;
Qu&amp;rsquo;en est-il des métadonnées ?
&lt;/h2&gt;&lt;p&gt;Nous avons consacré tout ce billet à la question du &lt;em&gt;corps&lt;/em&gt; des documents Markdown. Qu&amp;rsquo;en est-il des métadonnées contenues dans leur frontmatter, comme par exemple :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Cool doc&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;author&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Jane Doe&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour extraire ou modifier les métadonnées YAML/TOML/JSON, tu dois d&amp;rsquo;abord décapiter les documents Markdown. Par exemple, rmarkdown possède une fonction appelée &lt;a href=&#34;https://pkgs.rstudio.com/rmarkdown/reference/yaml_front_matter.html&#34;&gt;&lt;code&gt;rmarkdown::yaml_front_matter()&lt;/code&gt;&lt;/a&gt; pour extraire les métadonnées YAML d&amp;rsquo;un document R Markdown ; le paquet R quarto possède une fonction appelée &lt;a href=&#34;https://quarto-dev.github.io/quarto-r/reference/quarto_inspect.html&#34;&gt;&lt;code&gt;quarto::quarto_inspect()&lt;/code&gt;&lt;/a&gt; qui, entre autres choses, produit les métadonnées.&lt;/p&gt;
&lt;p&gt;Tu peux lire les &lt;em&gt;lignes&lt;/em&gt; du document Markdown en utilisant &lt;a href=&#34;https://rdrr.io/r/base/readLines.html&#34;&gt;&lt;code&gt;readLines()&lt;/code&gt;&lt;/a&gt; ou &lt;a href=&#34;https://brio.r-lib.org/reference/read_lines.html&#34;&gt;&lt;code&gt;brio::read_lines()&lt;/code&gt;&lt;/a&gt; avant de recourir à des expressions régulières pour identifier le début et la fin de la page de garde en fonction de son format.&lt;/p&gt;
&lt;p&gt;Ensuite, pour gérer YAML, tu utiliseras &lt;a href=&#34;https://github.com/vubiostat/r-yaml/&#34;&gt;{yaml}&lt;/a&gt; et pour gérer TOML, tu pourrais utiliser &lt;a href=&#34;https://github.com/extendr/tomledit&#34;&gt;{tomledit}&lt;/a&gt; ou &lt;a href=&#34;https://cran.r-project.org/web/packages/RcppTOML/index.html&#34;&gt;{RcppTOML}&lt;/a&gt; Pour gérer JSON, tu peux utiliser &lt;a href=&#34;https://jeroen.r-universe.dev/jsonlite&#34;&gt;{jsonlite}&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enfin, si tu as besoin de réécrire le document Markdown, tu écriras ses lignes en utilisant &lt;a href=&#34;https://rdrr.io/r/base/writeLines.html&#34;&gt;&lt;code&gt;writeLines()&lt;/code&gt;&lt;/a&gt; ou &lt;a href=&#34;https://brio.r-lib.org/reference/write_lines.html&#34;&gt;&lt;code&gt;brio::write_lines()&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Exemples d&amp;rsquo;analyse et d&amp;rsquo;édition Markdown
&lt;/h2&gt;&lt;p&gt;Le paquet &lt;a href=&#34;https://carpentries.github.io/pegboard/&#34;&gt;pegboard&lt;/a&gt; créé par Zhian Kamvar et maintenu par The Carpentries, analyse et valide les leçons de Carpentries pour les éléments structurels de Markdown, y compris les liens valides, le texte alt, et les fenced-divs connus grâce à tinkr. Ce paquet a permis de convertir toute l&amp;rsquo;infrastructure des leçons de The Carpentries de la syntaxe Markdown de Jekyll à la syntaxe Markdown de Pandoc. &lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt; .&lt;/p&gt;
&lt;p&gt;Le &lt;a href=&#34;https://docs.ropensci.org/babeldown/&#34;&gt;paquet babeldown&lt;/a&gt; maintenu par Maëlle Salmon transforme Markdown en XML, l&amp;rsquo;envoie à l&amp;rsquo;API DeepL pour traduction, et réécrit les résultats en Markdown, en utilisant également tinkr.&lt;/p&gt;
&lt;h2&gt;
Conclusion
&lt;/h2&gt;&lt;p&gt;Dans ce billet, nous avons expliqué comment analyser et éditer au mieux les fichiers Markdown. Pour créer des documents à partir d&amp;rsquo;un modèle (comme du publipostage), nous avons recommandé des outils de modélisation tels que &lt;a href=&#34;https://bookdown.org/yihui/rmarkdown-cookbook/knit-expand.html&#34;&gt;&lt;code&gt;knitr::knit_expand()&lt;/code&gt;&lt;/a&gt;, le &lt;a href=&#34;https://github.com/edwindj/whisker&#34;&gt;paquet whisker&lt;/a&gt;, le &lt;a href=&#34;https://github.com/gregfrog/brew&#34;&gt;paquet brew&lt;/a&gt;, Pandoc. Pour éditer de petites parties d&amp;rsquo;un document, nous avons fait appel à des outils de manipulation de chaînes de caractères, c&amp;rsquo;est-à-dire des expressions régulières, avec R base (&lt;a href=&#34;https://rdrr.io/r/base/grep.html&#34;&gt;&lt;code&gt;sub()&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://rdrr.io/r/base/grep.html&#34;&gt;&lt;code&gt;grep()&lt;/code&gt;&lt;/a&gt; et ses amis), &lt;a href=&#34;https://stringr.tidyverse.org/&#34;&gt;stringr&lt;/a&gt; (et stringi), &lt;a href=&#34;https://rdrr.io/pkg/xfun/man/gsub_file.html&#34;&gt;&lt;code&gt;xfun::gsub_file()&lt;/code&gt;&lt;/a&gt;. Pour une manipulation plus lourde, et plus sûre, nous avons listé des outils basés sur des outils qui manipulent la représentation abstraite des documents : tinkr, md4r, Pandoc, parseqmd, parsermd, lightparser. Nous avons également mentionné des outils permettant de travailler avec le &lt;em&gt;code R&lt;/em&gt; à l&amp;rsquo;intérieur des cellules de code, et pour travailler avec le &lt;em&gt;frontmatter&lt;/em&gt; YAML/TOML/JSON.&lt;/p&gt;
&lt;p&gt;Qu&amp;rsquo;est-ce que &lt;em&gt;tu&lt;/em&gt; utilises pour gérer les fichiers Markdown ?&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;En date du 2024-06-20, il y a &lt;a href=&#34;https://web.archive.org/web/20250328101117/https://github.com/markdown/markdown.github.com/wiki/Implementations&#34;&gt;76 programmes qui analysent Markdown&lt;/a&gt; dont certains ont une saveur particulière.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Mais cela détecterait également les commentaires de code ! Ne fais pas ça !&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;Maëlle et Zhian sont&lt;em&gt;énormes&lt;/em&gt; fans de XML et de XPath (voir : &lt;a href=&#34;https://masalmon.eu/2022/04/08/xml-xpath/&#34;&gt;https://masalmon.eu/2022/04/08/xml-xpath/&lt;/a&gt; et &lt;a href=&#34;https://zkamvar.netlify.app/blog/gh-task-lists/&#34;&gt;https://zkamvar.netlify.app/blog/gh-task-lists/&lt;/a&gt;).&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34;&gt;
&lt;p&gt;Ou du moins c&amp;rsquo;est censé être le cas :sweat_smile : Heureusement, les utilisateur·rice·s signalent des cas limites qui ne sont pas encore couverts.&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:5&#34;&gt;
&lt;p&gt;Pour des exemples, voir &lt;a href=&#34;https://carpentries.github.io/workbench/transition-guide.html&#34;&gt;The Carpentries Workbench Transition Guide&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

      
      
      
      </description>
    </item>
    
    <item>
      <title>Publication multilingue : Questions fréquemment posées</title>
      <link>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/06/23/publication-multilingue-faq/</link>
      <pubDate>Mon, 23 Jun 2025 00:00:00 +0000</pubDate>
      <author>rOpenSci</author>
      <guid>https://deploy-preview-1283--ropensci.netlify.app/fr/blog/2025/06/23/publication-multilingue-faq/</guid>
      <description>
         
        
        
        
        
         
        
        
         
        
        
        &lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/es/blog/2025/06/23/edicion-multilingue-preguntas-frecuentes/&#39;&gt;Read it in: Español&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href=&#39;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/06/23/translation-faq/&#39;&gt;Read it in: English&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Comme nous l&amp;rsquo;avons &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/multilingual-publishing&#34;&gt;nous l&amp;rsquo;avons déjà dit&lt;/a&gt;, nous pensons que la publication de ressources multilingues peut abaisser la barrière d&amp;rsquo;accès au savoir, aider à démocratiser l&amp;rsquo;accès à des ressources de qualité et augmenter les possibilités de contribuer à des logiciels et à des projets de science ouverte.
Nos efforts continus de &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/multilingual-publishing&#34;&gt;publication multilingue&lt;/a&gt; sont cruciaux pour la &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/about&#34;&gt;mission de rOpenSci&lt;/a&gt;.
En présentant ce projet à des &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/talks-papers/&#34;&gt;conférences&lt;/a&gt; et &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/commcalls/nov2023-multilingual/&#34;&gt;ailleurs&lt;/a&gt;, nous entamons une conversation importante avec des personnes moins familières avec ce type de projet ou qui ne connaissent pas nos &lt;a href=&#34;https://translationguide.ropensci.org/&#34;&gt;méthodes de travail&lt;/a&gt;.
Dans ce billet, nous résumons les questions fréquemment posées, et nos meilleures réponses à ces questions (encore mieux formulées que dans le feu de l&amp;rsquo;action lors d&amp;rsquo;une séances de questions après une présentation &amp;#x1f601;).&lt;/p&gt;
&lt;h2&gt;
Les traductions rendront-elles les gens &amp;ldquo;paresseux&amp;rdquo; en ce sens qu&amp;rsquo;il·elle·s n&amp;rsquo;apprendront pas l&amp;rsquo;anglais ?
&lt;/h2&gt;&lt;p&gt;Tout d&amp;rsquo;abord, il est important de préciser que &lt;em&gt;pas&lt;/em&gt; n&amp;rsquo;apprend pas l&amp;rsquo;anglais ne signifie pas que les gens sont paresseux.
De nombreuses personnes qui ne parlent pas anglais parlent déjà plusieurs langues, et même si elles n&amp;rsquo;en parlent qu&amp;rsquo;une, travailler sur son projet avec les outils dont on dispose est déjà un travail suffisant.&lt;/p&gt;
&lt;p&gt;Deuxièmement, notre objectif n&amp;rsquo;est pas que les gens deviennent anglophones. Les gens peuvent choisir (ou non) d&amp;rsquo;apprendre l&amp;rsquo;anglais à tout moment, mais le fait d&amp;rsquo;avoir d&amp;rsquo;abord appris à, disons, développer un logiciel en utilisant le français ne va pas les en empêcher.
Notre objectif est que les gens puissent utiliser des logiciels libres et y contribuer, et cela ne devrait pas dépendre du fait qu&amp;rsquo;il·elle·s parlent anglais. Dans le domaine des sciences, il est déjà assez difficile de ne pas être de langue maternelle anglaise et il existe un grand &amp;ldquo;potentiel inexploité de locuteurs non natifs de l&amp;rsquo;anglais&amp;rdquo; &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. Libérons ce potentiel !&lt;/p&gt;
&lt;h3&gt;
Relatif : Est-ce si difficile de lire en anglais ?
&lt;/h3&gt;&lt;p&gt;Oui, c&amp;rsquo;est l&amp;rsquo;un des &amp;ldquo;multiples coûts liés au fait d&amp;rsquo;être un anglophone non natif dans le domaine des sciences&amp;rdquo; &lt;sup id=&#34;fnref1:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; .
De plus, plusieurs études ont démontré les difficultés d&amp;rsquo;apprendre à coder dans des langages de programmation basés sur l&amp;rsquo;anglais sans être anglophone, et les avantages d&amp;rsquo;avoir la possibilité d&amp;rsquo;apprendre dans sa langue maternelle.&lt;/p&gt;
&lt;p&gt;Gou&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; a constaté que les personnes dont l&amp;rsquo;anglais n&amp;rsquo;est pas la langue maternelle se heurtaient à des obstacles dans la lecture de matériel pédagogique, la communication technique, la lecture et l&amp;rsquo;écriture de code, et l&amp;rsquo;apprentissage simultané de l&amp;rsquo;anglais et de la programmation.
Ces difficultés trouvent leur origine dans la nécessité de développer la compréhension de l&amp;rsquo;anglais &lt;em&gt;en même temps&lt;/em&gt; que l&amp;rsquo;on attend d&amp;rsquo;elles·eux qu&amp;rsquo;il·elle·s se familiarisent avec le sujet spécifique : dans notre cas, comment développer des logiciels libre et de haute qualité pour la recherche.
Si vous avez déjà essayé d&amp;rsquo;apprendre les statistiques et R en même temps, vous avez peut-être une idée de la difficulté de la tâche. Ce type d&amp;rsquo;apprentissage double augmente la charge cognitive, ce qui peut entraver l&amp;rsquo;apprentissage&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Une autre étude &lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt; suggère que si l&amp;rsquo;apprentissage de la programmation en anglais n&amp;rsquo;est pas nécessairement difficile pour tous les non-anglophones, l&amp;rsquo;inclusion de la langue maternelle des apprenant·e·s peut rendre l&amp;rsquo;expérience d&amp;rsquo;apprentissage plus claire, plus encourageante et plus agréable.&lt;/p&gt;
&lt;p&gt;Pour en savoir plus sur le sujet, vous pouvez suivre le travail de &lt;a href=&#34;https://www.felienne.com&#34;&gt;Felienne Hermans&lt;/a&gt;, spécialisée dans la conception de langages de programmation, qui a développé un langage de programmation multilingue pour l&amp;rsquo;enseignement.&lt;/p&gt;
&lt;h3&gt;
Relatif : Les gens devraient apprendre l&amp;rsquo;anglais
&lt;/h3&gt;&lt;p&gt;Certaines personnes assènent que l&amp;rsquo;on doit apprendre l&amp;rsquo;anglais si l&amp;rsquo;on veut travailler dans le domaine de la programmation et des sciences parce que l&amp;rsquo;anglais est la lingua franca de ces disciplines.&lt;/p&gt;
&lt;p&gt;Malheureusement, même si c&amp;rsquo;était souhaitable, ce n&amp;rsquo;est tout simplement pas possible pour beaucoup de personnes, en particulier pour les programmeur·rice·s occasionnel·le·s ou les utilisateur·rice·s finaux·les. Il·elle·s n&amp;rsquo;ont pas forcément le temps, l&amp;rsquo;énergie ou l&amp;rsquo;argent pour apprendre la programmation et l&amp;rsquo;anglais en même temps &lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Avec quelques chiffres : &lt;a href=&#34;https://www.languagecert.org/en/guided-learning-hours&#34;&gt;Le Cadre européen commun de référence pour les langues&lt;/a&gt; a établi un tableau des heures d&amp;rsquo;apprentissage guidé généralement nécessaires pour atteindre chaque niveau de compétence linguistique. Il s&amp;rsquo;agit des heures passées à étudier avec un·e professeur·e ou dans le cadre d&amp;rsquo;un apprentissage structuré.&lt;/p&gt;
&lt;p&gt;Par exemple, en commençant en tant que débutant·e (A1), pour devenir intermédiaire (B1), il faudra environ &lt;strong&gt;400 heures d&amp;rsquo;apprentissage guidé&lt;/strong&gt;.  En pouvant consacrer &lt;strong&gt;5 heures par semaine&lt;/strong&gt; il faudra &lt;strong&gt;1,5 an&lt;/strong&gt;  et un budget minimum de &lt;strong&gt;6 000 DOLLARS AMÉRICAINS&lt;/strong&gt; pour apprendre l&amp;rsquo;anglais. À titre de référence, cela équivaudrait à deux ans de salaire pour une personne ayant un salaire minimum en Argentine. Ce montant ne prend pas non plus en compte le coût pour trouver le temps d&amp;rsquo;étudier (services de garde d&amp;rsquo;enfants, réduction du nombre d&amp;rsquo;heures de travail, etc.)&lt;/p&gt;
&lt;p&gt;En traduisant les documents et les ressources, nous réduisons la charge qui pèse sur les non-anglophones. Plus il y a de personnes impliquées dans les logiciels libres et la science, plus nous bénéficions tous d&amp;rsquo;un plus grand réservoir d&amp;rsquo;expériences et d&amp;rsquo;expertise.
Enfin, nous voulons que tout le monde ait les mêmes chances d&amp;rsquo;apprendre !&lt;/p&gt;
&lt;h2&gt;
Pourquoi ne pas juste utiliser des traductions automatiques ?
&lt;/h2&gt;&lt;p&gt;Pour nos &lt;a href=&#34;https://translationguide.ropensci.org/intro.html#general-aspects-of-the-stage-1-of-the-translation-process&#34;&gt;flux de traduction&lt;/a&gt; les traductions automatiques constituent la première étape, suivie des révisions humaines.
Bien qu&amp;rsquo;il soit techniquement possible de publier directement des traductions automatiques ou d&amp;rsquo;utiliser des outils de traduction à la volée, il y a des inconvénients.
Tout d&amp;rsquo;abord, il est bien documenté que la traduction automatique ne fonctionne pas bien pour les langues les moins courantes&lt;sup id=&#34;fnref1:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;.
Même pour les langues courantes, les traductions automatiques comportent toujours des erreurs, et font des erreurs liées au contexte, à la grammaire et à la syntaxe, ainsi qu&amp;rsquo;aux marques de genre.
La traduction automatique ne peut pas non plus localiser certains contenus, comme les expressions idiomatiques ou les symboles monétaires et numériques.&lt;/p&gt;
&lt;p&gt;Si nous nous fions uniquement à la traduction automatique, le contenu dans des langues traduites sera de moins bonne qualité, ce qui reviendrait à accepter que les utilisateur·rice·s des langues semi-supportées ne méritent pas la même qualité que les autres.
C&amp;rsquo;est pourquoi, à rOpenSci, des traducteur·rice·s humain·e·s sont impliqué·e·s dans le processus pour s&amp;rsquo;assurer que tout notre contenu est de bonne qualité, quelle que soit la langue.&lt;/p&gt;
&lt;h2&gt;
Pourquoi ne pas utiliser &lt;code&gt;&amp;lt;insérer-le-nom-d&#39;une-plateforme-de-traduction&amp;gt;&lt;/code&gt; au lieu de Git et GitHub ?
&lt;/h2&gt;&lt;p&gt;Il existe de nombreuses plateformes différentes pour la traduction, ce qui est fantastique !
Cependant, nous sommes une communauté technique et nous traduisons et localisons du contenu technique.
Nous utilisons déjà Git et GitHub dans nos autres flux de développement et de nombreux membres de notre communauté connaissent ces outils ou prévoient de les apprendre.
Pour les membres qui ne connaissent pas Git et GitHub, nous avons des ressources et les aidons volontiers à apprendre, et il·elle·s disposent alors de nouveaux outils qu&amp;rsquo;il·elle·s peuvent appliquer à d&amp;rsquo;autres projets techniques.
Pour en savoir plus sur nos outils et nos processus, consultez notre rubrique &lt;a href=&#34;https://translationguide.ropensci.org/intro.html#technical-infrastructure-and-workflows&#34;&gt;guide de traduction&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
La traduction et la maintenance des traductions ne représentent-elles pas un travail considérable ?
&lt;/h2&gt;&lt;p&gt;Oui, c&amp;rsquo;est vrai !
Mais nous pensons que cela en vaut la peine.
De plus, le travail de traduction apporte de nouveaux·elles contributeur·rice·s à la communauté, ce qui a) aide à partager la charge de travail, b) sert de tremplin à d&amp;rsquo;autres formes de contributions, et c) diversifie notre communauté.&lt;/p&gt;
&lt;h2&gt;
Conclusion
&lt;/h2&gt;&lt;p&gt;Dans ce billet, nous avons répondu aux questions courantes que nous recevons sur notre projet de publication multilingue.
Nous sommes convaincus que fournir des ressources multilingues de qualité fait partie du travail pour plus de &lt;a href=&#34;https://deploy-preview-1283--ropensci.netlify.app/blog/2025/02/05/no-science-without-deia/&#34;&gt;diversité, l&amp;rsquo;équité, l&amp;rsquo;inclusion et l&amp;rsquo;accessibilité&lt;/a&gt; dans le logiciel libre et la science ouverte.
Votre participation est la bienvenue&amp;hellip; tout comme vos questions !&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Amano T, Ramírez-Castañeda V, Berdejo-Espinola V, Borokini I, Chowdhury S, Golivets M, et al. (2023) The manifold costs of being a non-native English speaker in science. PLoS Biol 21(7) : e3002184.&lt;a href=&#34;https://doi.org/10.1371/journal.pbio.3002184&#34;&gt;https://doi.org/10.1371/journal.pbio.3002184&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref1:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Philip J. Guo. 2018. Les personnes dont l&amp;rsquo;anglais n&amp;rsquo;est pas la langue maternelle apprennent la programmation informatique : Barrières, désirs et possibilités de conception. Dans les actes de la conférence 2018 de la CHI sur les facteurs humains dans les systèmes informatiques (CHI &amp;lsquo;18). Association for Computing Machinery, New York, NY, États-Unis, document 396, 1-14.&lt;a href=&#34;https://doi.org/10.1145/3173574.3173970&#34;&gt;https://doi.org/10.1145/3173574.3173970&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;Goldin, A. (2022). Neurociencia en la escuela : Guía amigable (sin bla bla) para entender cómo funciona el cerebro durante el aprendizaje. Siglo XXI Editores.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34;&gt;
&lt;p&gt;Ethel Tshukudu, Emma Dodoo, Felienne Hermans, et Monkgogi Mudongo. 2024. La programmation bilingue : Une étude sur les attitudes et les expériences des étudiants dans le contexte africain. Dans les actes de la 24e conférence internationale de Koli Calling sur la recherche en éducation informatique (Koli Calling &amp;lsquo;24). Association for Computing Machinery, New York, NY, États-Unis, article 42, 1-11.&lt;a href=&#34;https://doi.org/10.1145/3699538.3699561&#34;&gt;https://doi.org/10.1145/3699538.3699561&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:5&#34;&gt;
&lt;p&gt;Alaaeddin Swidan et Felienne Hermans. 2023. Un cadre pour la localisation des langages de programmation. Dans les actes du 2023 ACM SIGPLAN International Symposium on SPLASH-E (SPLASH-E 2023). Association for Computing Machinery, New York, NY, États-Unis, 13-25.&lt;a href=&#34;https://doi.org/10.1145/3622780.3623645&#34;&gt;https://doi.org/10.1145/3622780.3623645&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref1:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

      
      
      
      </description>
    </item>
    
  </channel>
</rss>
