Reprendre un projet avec Drupal 
quand on a des centaines de milliers 
de contenus
Au programme 
> La reprise des contenus c’est casse g*** 
> L’importance de définir la reprise dès le cahier des 
charges ...
La reprise des 
contenus c’est 
casse g****
Les erreurs les plus courantes 
• « Oh, on verra ça à la fin, après les développements » 
• « on va embaucher des stagiair...
Et puis, avec Drupal, 
c’est facile, non ?
Les points de vigilance 
Le client ou l'équipe métier n'anticipe souvent pas suffisamment 
ou ne sait pas ce que ça impliq...
Ca prend du temps et de l’argent
Il faut dire et répéter 
que ce n'est que eux 
qui pourront piloter 
ce chantier, car c'est 
eux qui connaissent 
leur con...
Il faut faire un projet 
à part, le paralléliser 
avec la conduite 
technique du projet 
et identifier les 
adhérences.
Il faut sensibiliser aux 
différences de l’avant 
– après : la méthode 
de gestion des 
contenus ne sera 
évidemment pas l...
Les grandes lois de la reprise de 
contenu 
1. Il n’y a pas de méthode universelle. 
2. Il faut construire à chaque fois u...
La reprise des contenus, ça se 
définit dès le cahier des 
charges
Décider d’une reprise manuelle ou 
automatique ?
Faire une matrice de reprise des 
contenus 
Titre de la page URL de la page Etat du contenu 
Niveau de 
retraitement souha...
Faire une matrice à partir : 
• De Google 
• Du back-office existant 
• Du parcours du site existant (ou plan du site)
Reclassifier les contenus en « types de 
contenus » made in Drupal 
• Actu ? 
• Evènement ? 
• Page éditoriale ? 
• Glossa...
1. Evaluer la capacité de reprise 
automatique – une mission à part 
• Reprendre depuis un ancien Drupal ? 
• Exploiter le...
Les « n » 
méthodes 
automatiques 
de reprise des 
contenus
Reprendre depuis un ancien Drupal ? 
Il existe des logiques de migration D5 – D6 – D7 qui embarquent les 
contenus. 
Mais ...
Le test des modules 
Cela suppose d’avoir un CMS connu : 
• Avec Typo3 
• Avec Spip 
• Avec Joomla 
• Avec Wordpress 
• … ...
La reprise directe en base de données 
Identifier toutes 
les tables 
contenant des 
contenus à 
reprendre 
Identifier tou...
Les modules de migration avec Drupal 
• Avec Migrate 
• Avec Feeds & Feeds Tamper
Un crawler ? Oui, mais… 
• Il faut être certain de pouvoir parcourir toutes les pages 
• Disposer d’un sitemap 
• Ne pas a...
Dans tous les cas, il faut retraiter le 
HTML 
• Identifier les balises à retraiter 
: styles, tableaux, balises 
propres ...
Quelques trucs et astuces 
• Utiliser un module / développement adhoc, permettant de basculer 
d’une structure de contenu ...
Importer, tester, recommencer, 
importer, tester, modifier les scripts, 
recommencer, importer, recommencer, 
Importer, te...
Et finir par la reprise manuelle : 
- Exceptions qui ne peuvent être traitées 
automatiquement 
- Réécriture nécessaire
Les facteurs déterminants d’une 
reprise manuelle 
• Le temps de réalisation 
de la moulinette 
automatique est 
supérieur...
Retour sur le projet du 
Ministère de l’Agriculture
Contexte 
• Un site sous Spip 
• Un site avec plusieurs couches de développement successives 
• Un volume de contenus non ...
On a tenté de normer le périmètre de 
reprise… 
• Redéfinition d’une charte éditoriale complète 
• Tableur de 20 000 ligne...
Des scripts très compliqués ont été mis 
en place pour repositionner les 
contenus 
• Exploitation du tableur Excel pour l...
Mais au final, on avait oublié 
plein de contenus !
On a donc fait machine arrière 
• V2 avec tous les contenus sans exclure des éléments 
• Retraitement de scripts pour simp...
Merci 
Questions? 
Marine Soroko – Core-Techs
Drupagora 2014 :  Reprendre un projet avec Drupal quand on a des centaines de milliers de contenus
Prochain SlideShare
Chargement dans…5
×

Drupagora 2014 : Reprendre un projet avec Drupal quand on a des centaines de milliers de contenus

1 111 vues

Publié le

Un projets de refonte est souvent périlleux, notamment quand un grande nombre de contenus est à reprendre. Pendant cette conférence nous traiterons de cette problématique en mettant en exergue les bonnes pratiques et les points de vigilance pour réussir sa migration.
Cette conférence s'adresse autant à un prestataire souhaitant éviter les multiples embuches qu'à un chef de projet client souhaitant mettre toutes les chances de réussite de son coté. Nous baserons nos conseils sur un cas client : une migration pour le ministère de l'Agriculture.

Publié dans : Internet
  • Soyez le premier à commenter

Drupagora 2014 : Reprendre un projet avec Drupal quand on a des centaines de milliers de contenus

  1. 1. Reprendre un projet avec Drupal quand on a des centaines de milliers de contenus
  2. 2. Au programme > La reprise des contenus c’est casse g*** > L’importance de définir la reprise dès le cahier des charges > Les méthodes possibles avec Drupal > Retour sur le projet du Ministère de l’Agriculture
  3. 3. La reprise des contenus c’est casse g****
  4. 4. Les erreurs les plus courantes • « Oh, on verra ça à la fin, après les développements » • « on va embaucher des stagiaire payées au lance-pierre » • « Ca prendra pas beaucoup de temps » • « on reprend tout à l’identique » • « on réécrit tout de toute façon » • A la fin du projet : « Mais, ???!!! On croyait que vous vous en chargiez ??!! » • « On va faire tourner une moulinette, et puis ça ira tout seul ! »
  5. 5. Et puis, avec Drupal, c’est facile, non ?
  6. 6. Les points de vigilance Le client ou l'équipe métier n'anticipe souvent pas suffisamment ou ne sait pas ce que ça implique :
  7. 7. Ca prend du temps et de l’argent
  8. 8. Il faut dire et répéter que ce n'est que eux qui pourront piloter ce chantier, car c'est eux qui connaissent leur contenu
  9. 9. Il faut faire un projet à part, le paralléliser avec la conduite technique du projet et identifier les adhérences.
  10. 10. Il faut sensibiliser aux différences de l’avant – après : la méthode de gestion des contenus ne sera évidemment pas la même et cela aura un impact sur la façon dont on va reprendre les contenus !
  11. 11. Les grandes lois de la reprise de contenu 1. Il n’y a pas de méthode universelle. 2. Il faut construire à chaque fois une méthode, et savoir qu’on devra revenir dessus. 3. Il faut procéder par itérations successives.
  12. 12. La reprise des contenus, ça se définit dès le cahier des charges
  13. 13. Décider d’une reprise manuelle ou automatique ?
  14. 14. Faire une matrice de reprise des contenus Titre de la page URL de la page Etat du contenu Niveau de retraitement souhaité Positionnement cible dans futur site Type de contenu cible Titre 1 www.test.fr trop détaillé illustrations à fournir thématique article Titre 2 www.test.fr inadapté pour la cible A simplifier actualité Titre 3 www.test.fr Difficile à comprendre A réécrire agenda Titre 4 www.test.fr inexistant illustrations à fournir FAQ Acceptable …
  15. 15. Faire une matrice à partir : • De Google • Du back-office existant • Du parcours du site existant (ou plan du site)
  16. 16. Reclassifier les contenus en « types de contenus » made in Drupal • Actu ? • Evènement ? • Page éditoriale ? • Glossaire ? • Rubrique ? • Fiche métier • … Cette « re-classification » est plus ou moins facile selon les sites pré-existants.
  17. 17. 1. Evaluer la capacité de reprise automatique – une mission à part • Reprendre depuis un ancien Drupal ? • Exploiter les modules de la communauté Drupal • Connexion possible à la base de données ? • Quelle est la structure de la base de données ? • Quelle est la qualité des données stockées en base de données ? • Un / des exports XML sont-ils possibles ? • Un crawler est-il envisageable ?
  18. 18. Les « n » méthodes automatiques de reprise des contenus
  19. 19. Reprendre depuis un ancien Drupal ? Il existe des logiques de migration D5 – D6 – D7 qui embarquent les contenus. Mais cela dépend très très fortement de la qualité du développement original. Très souvent, c’est aussi compliqué que dans un projet d’un autre CMS.
  20. 20. Le test des modules Cela suppose d’avoir un CMS connu : • Avec Typo3 • Avec Spip • Avec Joomla • Avec Wordpress • … Et que cela prenne en compte toutes les spécificités du projet antérieur.
  21. 21. La reprise directe en base de données Identifier toutes les tables contenant des contenus à reprendre Identifier toutes les entrées des tables et les faire correspondre avec le structure de contenu Drupal Identifier tous les besoins de retraitement du WYSIWYG Lancer un script de reprise par type de contenu Utiliser un ETL ?
  22. 22. Les modules de migration avec Drupal • Avec Migrate • Avec Feeds & Feeds Tamper
  23. 23. Un crawler ? Oui, mais… • Il faut être certain de pouvoir parcourir toutes les pages • Disposer d’un sitemap • Ne pas avoir de pages orphelines • Le balisage HTML doit être cohérent • Il faut associer ce crawler au traitement de la matrice des contenus
  24. 24. Dans tous les cas, il faut retraiter le HTML • Identifier les balises à retraiter : styles, tableaux, balises propres au CMS initial • Identifier les images et les fichiers pour les importer • Recréer les liens relatifs entre les pages
  25. 25. Quelques trucs et astuces • Utiliser un module / développement adhoc, permettant de basculer d’une structure de contenu à une autre • Permettre de « flagguer » des contenus qui ne doivent pas être réimportés / écrasés lors des itérations
  26. 26. Importer, tester, recommencer, importer, tester, modifier les scripts, recommencer, importer, recommencer, Importer, tester, recommencer, importer, tester, modifier le script, recommencer, importer, recommencer, Importer, tester, recommencer, importer, tester, modifier le script, recommencer, importer, recommencer,
  27. 27. Et finir par la reprise manuelle : - Exceptions qui ne peuvent être traitées automatiquement - Réécriture nécessaire
  28. 28. Les facteurs déterminants d’une reprise manuelle • Le temps de réalisation de la moulinette automatique est supérieur au temps évalué de reprise manuelle • Le contenu généré en HTML n’est pas propre du tout • Indicateur 1 : multiplier par 10 le temps évalué pour la reprise automatique ;-) • Indicateur 2 : réintégrer une page de contenu de 800 caractères, avec deux images et trois fichiers à télécharger, ça prend 30 minutes !!
  29. 29. Retour sur le projet du Ministère de l’Agriculture
  30. 30. Contexte • Un site sous Spip • Un site avec plusieurs couches de développement successives • Un volume de contenus non identifiés • De multiples collaborateurs et rédacteurs aux pratiques hétérogènes
  31. 31. On a tenté de normer le périmètre de reprise… • Redéfinition d’une charte éditoriale complète • Tableur de 20 000 lignes de repositionnement des contenus • Identification des types de contenu cible • …  ~20 jours / homme d’accompagnement
  32. 32. Des scripts très compliqués ont été mis en place pour repositionner les contenus • Exploitation du tableur Excel pour les scripts Migrate • Positionnement dans l’arborescence • Regroupement de contenus • Association automatique de vocabulaires • … • Retraitement des contenus HTML pour supprimer les styles et balises de SPIP ~30 jours / homme pour la V1
  33. 33. Mais au final, on avait oublié plein de contenus !
  34. 34. On a donc fait machine arrière • V2 avec tous les contenus sans exclure des éléments • Retraitement de scripts pour simplifier les retraitements de positionnement • Rajout d’une fonction de transfert d’une structure à une autre • Rajout d’un flag sur chaque contenu pour autoriser / refuser son import Puis une V3, V4, … Et, reprise manuelle ! ~20 jours / homme pour la finalisation
  35. 35. Merci Questions? Marine Soroko – Core-Techs

×