Correspondances Zoliennes

Site d’archives numériques de la correspondance d’Emile Zola avec gestion WordPress et import de données Omeka

Un site d’archives numériques propulsé par WordPress

En 2016, j’ai eu la chance de travailler pour  l’ITEM (département de littérature du CNRS) afin d’optimiser et moderniser leur site WordPress Archives Zoliennes — l’espace en ligne pour parcourir les archives visuelles d’Emile Zola.

En 2018, on m’a alors demandé de développer un nouveau site web dans le but de migrer toutes les lettres transcrites d’Émile Zola du CMS Omeka vers WordPress.

Plongeons-nous dans ce défi intéressant qui impliquait une ingénierie WordPress front-end et back-end.


L’équipe d’ITEM a pour tâche (colossale !) d’organiser et de numériser toutes les lettres d’Emile Zola existantes. Ce travail (commencé il y a plusieurs années) permet la retranscription numérique de milliers de lettres qui ont été scannées et stockées dans le CMS Omeka avec de précieuses métadonnées.

L’équipe ayant apprécié la gestion de contenu avec WordPress, elle a décidé d’utiliser à nouveau ce CMS pour le site Correspondances Zoliennes.

La gestion des éléments de contenu dans Omeka s’est avérée lourde et complexe et il a alors fallu opter pour une meilleure solution. WordPress était la réponse parfaite pour gérer le contenu dans un back-end centralisé et pour afficher des lettres sur le site public.

Détails techniques du site d’archives Correspondances Zoliennes

Intégration avec l’API Omeka

Plus de 1 500 lettres étaient déjà stockées sur un site Web propulsé par Omeka et créées par le client. L’importation de ces données dans WordPress était donc cruciale pour éviter une main d’œuvre inutile.

J’ai donc développé un plugin WordPress sur-mesure pour cela ; communiquant avec la base de données Omeka via son API Rest publique, cette extension automatise l’import du contenu des archives via un CRON :

  • les collections, les balises, les contributeurs, les créateurs et les langues ont été importés dans de nouvelles taxonomies personnalisées pour une organisation sémantique du contenu,
  • les lettres transcrites sont importées dans un nouveau type de contenu personnalisé (CPT),
  • les images de lettres numérisées ont également été importées dans WordPress et affectées aux lettres correspondantes,
  • toutes les données existantes (date, sources, éditeur, etc.) sont enfin assignées aux contenus via des champs de métadonnées personnalisés mis en place avec ACF.

Une expérience back-end personnalisée

En plus de tous ces champs créés pour stocker ces nombreuses métadonnées, l’administration d’une transcription de lettre nécessitait quelques améliorations ergonomiques afin d’offrir une expérience optimale pour les administrateurs.

Le texte d’une lettre transcrite contient des notes (primaires et secondaires) stockant des explications complémentaires au texte original de Zola.

Outil de positionnement des notes principales et secondaires dans les écrits originaux

Il a donc fallu développer une logique JavaScript back-end unique afin de lier les champs de notes avec l’éditeur principal de transcription WYSIWYG. Des marqueurs dynamiques sont automatiquement ajoutés dans l’éditeur de transcription lorsqu’une note est créée, et ces marqueurs sont transformés côté front-end du site pour mentionner et lier des notes n’importe où dans le contenu d’un texte de la lettre.

Une interface front-end sur-mesure

Avec autant de métadonnées liées à une seule lettre, nous devions réfléchir à un moyen de l’afficher correctement. Inspirée du site Web Van Gogh Letters , la page de la lettre unique offre au visiteur une mise en page personnalisable affichant les images de la lettre, la transcription et les notes.

Les notes et le texte de transcription sont intelligemment liés avec des ancres et des info-bulles. La mise en page à 3 colonnes peut être réorganisée pour permettre aux utilisateurs de mettre en valeur les images, la transcription et les notes comme ils le souhaitent. Enfin, des métadonnées complémentaires sont affichées sous la section principale.