2026-10-15 / Colin Fay / golem, shiny

{brochure} 1.0.0 est sur le CRAN

Une app {shiny} est une page unique : une url, une UI, une fonction server. Tant que l’app reste petite, c’est confortable. DĂšs qu’on veut un vrai site — une page d’accueil, une page contact, une page par utilisateur, des urls qu’on peut envoyer par mail ou mettre en favori — on se met Ă  simuler des pages Ă  coups ...

hyperverse

2026-09-29 / Arthur Bréant / développement, shiny

Ma premiÚre tentative de portage Shiny a échoué, et pas pour une raison technique

Journal d’une refonte, Ă©pisode 2 sur 4. Traduire son code ligne Ă  ligne, le meilleur moyen de tout rater
 Dans l’épisode prĂ©cĂ©dent, nous racontions pourquoi nous avions annulĂ© notre propre choix de stack Ă  mi-parcours, et pourquoi nous Ă©tions revenus Ă  R. Si vous ne l’avez pas lu, pas de panique : celui-ci se suffit Ă  lui-mĂȘme. Aujourd’hui, on parle ...

staffpuzzle v2

2026-09-22 / Arthur Bréant / développement, shiny

Nous avons choisi React pour apprendre. L’IA a Ă©crit le code Ă  notre place.

Journal d’une refonte, Ă©pisode 1 sur 4. En fĂ©vrier 2026, nous avons choisi React pour refondre un outil interne, en sachant que ce serait deux fois plus long que de le faire en R. C’Ă©tait un arbitrage assumĂ© : nous n’achetions pas une application, nous achetions une montĂ©e en compĂ©tence. En juin, Ă  mi-parcours, deux jalons dĂ©jĂ  livrĂ©s, nous avons ...

2026-08-13 / Arthur Bréant / développement, golem, golem, shiny

D’une URL Ă  un thĂšme : comment {css2r} vole les couleurs d’un site, et oĂč il abandonne

Il vous reste trente minutes avant la dĂ©mo, et votre application Shiny ressemble toujours Ă  du Bootstrap 5 sorti du carton. On est tous passĂ©s par lĂ . L’analyse est solide, le modĂšle tourne bien, les tableaux sont propres. Et puis quelqu’un du service communication passe derriĂšre votre Ă©cran et vous fait remarquer, trĂšs poliment, que « ça ne fait pas ...

2026-07-10 / Colin Fay / golem, shiny

{golem} 1.0.0 est là 🚀

AprĂšs des annĂ©es Ă  faire tourner des applications Shiny en production, {golem} — notre framework structurant pour construire des applications Shiny prĂȘtes pour la production, sous forme de packages R — atteint enfin un jalon symbolique : la version 1.0.0. Bien plus qu’un simple changement de numĂ©ro, cette version marque une API mature et stable, et c’est aussi le bon ...

2026-03-10 / Colin Fay / shiny

Partager des données entre modules Shiny, un update

Certaines personnes se sont récemment exprimées au sujet des mauvais usages de la « stratégie du petit r », un mécanisme de partage de données entre modules {shiny} qui a été détaillé à la fois dans le livre Engineering Production-Grade Shiny Apps et dans un ancien billet publié en 2019 sur ce blog. Et oui, si vous vous posez la question, je ...

2026-03-08 / Vincent Guyader / astuces, base de données, développement

DuckDB + dbplyr : quand votre pipeline donne des résultats différents à chaque exécution

TL;DR ? L’essentiel en une phrase : DuckDB parallĂ©lise l’exĂ©cution des requĂȘtes et ne garantit jamais l’ordre des lignes sans ORDER BY explicite. Si une Ă©tape de votre pipeline dĂ©pend de l’ordre, row_number(), cumsum(), lag(), distinct(.keep_all = TRUE), jointures par inĂ©galitĂ©, vous produisez silencieusement des rĂ©sultats non reproductibles. Cet article prĂ©sente les quatre patterns qui font mal et comment les ...

talk about tests

2025-06-12 / Arthur Bréant / développement, golem, golem, javascript, shiny

Du laboratoire Ă  la vraie vie : Comment votre application Shiny peut survivre Ă  ses utilisateurs

Du prototype Ă  la production, assurez-vous que rien ne se casse
 Vous avez rĂ©alisĂ© une superbe maquette et votre client est ravi. Vous ĂȘtes prĂȘt Ă  passer Ă  la production de votre application. Mais une question vous taraude : comment vous assurer que votre application restera stable et fonctionnelle au fil des modifications et des Ă©volutions ? La rĂ©ponse tient ...

2025-06-03 / Vincent Guyader / docker, développement, shiny

Conteneuriser une application Shiny avec {shiny2docker} : guide étape par étape

DĂ©ployer une application Shiny sur diffĂ©rents serveurs ou la partager avec d’autres peut s’avĂ©rer complexe en raison des diffĂ©rences de versions de packages R et des exigences systĂšme. La conteneurisation offre une solution : en empaquetant votre application Shiny et son environnement dans un conteneur Docker, vous garantissez qu’elle s’exĂ©cute de maniĂšre cohĂ©rente partout oĂč Docker est disponible. Cependant, tous ...

Shiny Security

2025-05-21 / Arthur Bréant / base de données, développement, security, shiny, sql

Les angles morts de sécurité dans Shiny : Pourquoi votre application est plus vulnérable que vous ne le pensez

Mettez votre ceinture, on parle de sĂ©curité  En dĂ©veloppant l’application Signature.py, ThinkR a rĂ©cemment Ă©tĂ© confrontĂ©e Ă  une problĂ©matique de sĂ©curitĂ© – en Python – qui mĂ©rite toute notre attention. VersionnĂ© sur Github, le code de Signature.py est analysĂ© par le Dependabot. Il s’agit d’un robot qui scanne automatiquement les projets Ă  la recherche de dĂ©pendances obsolĂštes ou vulnĂ©rables et ...

2025-05-15 / Murielle Delmotte / astuces, développement, package

Mockez-les tous : simuler pour mieux tester avec testthat

Les tests unitaires en R. Vous savez, ces petites fonctions qui garantissent que votre code fonctionne Ă  la perfection, mĂȘme lorsque vous partez en vacances ou que vous Ă©crivez de nouveaux modules Ă  2h du matin. Mais, soyons honnĂȘtes, quand il s’agit de tester des interactions utilisateur ou des appels Ă  des ressources externes, ça peut devenir un vrai casse-tĂȘte. ...

2025-03-07 / Murielle Delmotte / package

Personnalisez votre expédition : Créez une documentation unique pour votre package R

Ah, pkgdown
 Ce fantastique outil qui transforme la documentation de votre package R en un site web. Mais parfois, il manque un peu de personnalité. Pas de panique, pkgdown.yml est là pour ajouter de la personnalisation et faire briller votre site comme jamais. Dans cet article, nous allons explorer ensemble quelques secrets du fichier pkgdown.yml qui vous permettront de personnaliser ...

2025-02-03 / Colin Fay / développement, données, mobile

Rlinguo — Pourquoi l’avons-nous créé ?

Header via ChatGPT Nous avons rĂ©cemment lancĂ© un produit inĂ©dit : une application mobile faisant tourner R. Oui, vous avez bien lu : R, le langage de programmation statistique, tient dĂ©sormais dans votre poche. Que vous soyez chercheur en environnement, Ă©tudiant ou professionnel de la logistique, R sur mobile va rĂ©volutionner votre façon de travailler avec les donnĂ©es, oĂč que ...

2025-01-07 / Colin Fay / développement, orienté-objet, shiny

Définir des valeurs dans les classes R6 et tester avec shiny::MockShinySession

Contexte RĂ©cemment, nous avons travaillĂ© sur les tests d’une application {shiny} qui repose sur des valeurs stockĂ©es dans l’objet session$request. Cet objet est un environnement qui capture les dĂ©tails de l’Ă©change HTTP entre R et le navigateur. Sans trop entrer dans les dĂ©tails techniques (mĂȘme si cela me tente 😅), il est important de comprendre que session$request contient des informations ...

2024-12-18 / Colin Fay / développement, javascript, mobile

Découvrez Rlinguo, une application mobile native avec du R

TL;DR Rlinguo est une application mobile rĂ©volutionnaire qui utilise R en backend pour gĂ©rer sa logique mĂ©tier. Disponible dĂšs maintenant en tĂ©lĂ©chargement : iOS sur l’App Store Android sur le Google Play Store Oui, vous avez bien lu : le futur, c’est maintenant, et R peut tourner sur votre tĂ©lĂ©phone portable.   Il Ă©tait une fois
 Je dĂ©veloppe des applications ...

2024-12-09 / Colin Fay / développement, shiny

Programmation parallĂšle et asynchrone dans Shiny avec future, promise, future_promise, et ExtendedTask

Illustration via ChatGPT. Il y a trois choses difficiles en informatique. L’une d’elles est de faire Ă©crire « Invalidation » correctement par ChatGPT sur une image. ​ Il existe un dicton qui dit : « Il n’y a que deux choses difficiles en informatique : l’invalidation du cache et le nommage des variables. » Eh bien, je dirais qu’il y en a ...