OFCE : coupé pour une faille de sécurité, le site est reconstruit en quinze jours

Client
OFCE, centre de recherche en économie de Sciences Po
Période
Janvier à février 2026
Besoin
Remettre en ligne un site coupé après une faille de sécurité
Ce qu'on a fait
Un site statique produit avec Quarto et GitHub, sans PHP ni base de données
Résultat
En ligne trois jours après la coupure, restauré en quinze jours. L'OFCE l'alimente lui-même.
Photo de Zetong Li sur Unsplash

Le client et le contexte

L’OFCE est l’Observatoire français des conjonctures économiques, le centre de recherche en économie de Sciences Po. Il publie des prévisions, des documents de travail, des policy briefs, une revue et un blog.

Depuis 2021, ses équipes produisent une part croissante de ces contenus avec R, Quarto et GitHub. Le blog et les prévisions sortaient déjà de cette chaîne. Le reste du site, c’est-à-dire la page d’accueil, les pages institutionnelles et les listes de publications, reposait sur un ancien système en PHP et sa base de données. L’OFCE avait le projet de le refondre, et on avait audité sa chaîne de publication et ses sites un an plus tôt.

Notre interlocuteur était Xavier Timbeau, directeur principal de l’OFCE.

Le problème

Le lundi 26 janvier 2026, la direction informatique de Sciences Po a mis le site hors ligne après la découverte d’une faille de sécurité dans l’ancien site. Le blog et les prévisions, hébergés au même endroit, ont disparu avec le reste.

L’OFCE avait besoin de retrouver une présence en ligne au plus vite, même réduite, puis de restaurer ses publications. Le site rouvert devait aussi être accepté par la direction informatique de Sciences Po.

Ce qu’on a fait

Xavier Timbeau nous a écrit le lundi en fin d’après-midi. Deux heures plus tard, on lui envoyait une proposition en deux phases, une remise en ligne d’urgence puis une restauration progressive.

Commencer par ce qui existait déjà. Le blog et la dernière prévision étaient des projets Quarto, rangés dans des dépôts GitHub. Ils pouvaient donc revenir en ligne sans attendre la migration du reste, et on les a publiés derrière une nouvelle page d’accueil, écrite elle aussi en Quarto. L’OFCE retrouvait ainsi d’abord les contenus qu’il jugeait prioritaires. L’ancien site est resté consultable en interne, derrière un accès restreint, le temps de reprendre ses contenus.

Supprimer PHP et la base de données. Pour la restauration, on a reconstruit l’ensemble en site statique, c’est-à-dire en pages HTML produites à l’avance et déposées telles quelles sur l’hébergement. Aucun programme ne s’exécute sur le serveur et aucune base de données n’est interrogée, ce qui retire les composants par lesquels un site de ce type se fait attaquer. L’OFCE fabriquait déjà son blog et ses prévisions de cette manière, et on a étendu ce choix à tout le site. Il se publie par le circuit que l’équipe utilisait pour le blog, avec des fichiers suivis sur GitHub et une GitHub Action qui les envoie sur l’hébergement.

Laisser la main à l’équipe. L’OFCE devait pouvoir tenir son site à jour sans passer par nous. Le contenu de chaque bloc de la page d’accueil se modifie donc dans un fichier texte, et le bloc du blog se remplit seul à partir des derniers articles publiés. Les listes de policy briefs, de documents de travail et de rapports sont générées à partir de fichiers de données.

La difficulté : la Revue de l’OFCE

La Revue de l’OFCE, une revue à comité de lecture, ne rentrait pas dans les listes qu’on utilisait pour les autres publications. Sur le site, chaque numéro doit avoir sa page, avec le PDF complet, le lien pour l’acheter et le PDF de chaque article. Il fallait donc gérer deux niveaux, le numéro et ses articles, là où les autres publications n’en ont qu’un.

La liste des numéros et des articles se trouvait dans la base de données de l’ancien site. On l’a exportée une fois vers un fichier texte unique, qui décrit 82 numéros et leurs 982 articles. Un programme s’exécute avant chaque génération du site et crée la page de chaque numéro à partir de ce fichier, si bien que publier un nouveau numéro revient à ajouter une entrée en tête du fichier.

Restaient 2 159 PDF de la Revue parus avant 2012, que l’OFCE voulait tous conserver. C’était trop pour le dépôt qui contient le code du site. On les a déposés directement sur l’hébergement, après avoir vérifié que la publication automatique ne supprime que les fichiers qu’elle a elle-même déposés.

Les résultats

Trois jours après la coupure, l’OFCE retrouvait sa page d’accueil, son blog et sa dernière prévision. Le même jour, la réunion de sécurité avec la direction informatique de Sciences Po a validé le nouveau dispositif, et son analyse de vulnérabilité, menée sur 458 pages, n’a détecté aucune vulnérabilité critique.

La restauration a été livrée quinze jours après la coupure. L’OFCE y a retrouvé ses policy briefs, ses rapports, ses anciennes prévisions et 766 documents de travail publiés depuis 1982. Les pages des chercheurs et la version anglaise, écartées du périmètre dès le devis, ont été renvoyées à une étape ultérieure.

Depuis, l’OFCE alimente le site lui-même. Dans les quatre mois qui ont suivi la livraison, il a enregistré plus de 110 modifications sans intervention de notre part, pour l’essentiel par son directeur principal. Il nous a ensuite confié l’accompagnement de l’évolution du site.

Votre site doit être remis en service rapidement, ou reconstruit sur une base plus simple à sécuriser ? Écrivez-nous.

Commentaires

Laisser un commentaire

Les champs obligatoires sont marqués d'un astérisque *

Markdown accepté

Les commentaires sont validés manuellement.
La page va se rafraîchir après envoi.