<Glazblog/>

France.fr, soyons un peu geeks...

En bon amateur de palmipède sous toutes ses formes, gastronomiques et écrites, j'ai bien entendu pris un plaisir soutenu à la lecture du Canard Enchaîné d'hier et plus particulièrement de sa page 3 qui a sorti quelques chiffres croustillants sur le nouveau www.france.fr. Ayant visité la chose, et passée la première émotion de voir un pop-over ECRIT EN FLASH présentant des excuses pour le foirage majuscule du 14 juillet dernier, je me suis demandé ce que la bête avait dans le ventre. Editorialement je veux dire. Combien de contenus différents. Quelle masse d'information. Tout ça quoi...

Et comme je suis un bon geek qui se respecte, j'ai passé quelques minutes à écrire les outils automatisant tout ça :-)

Commençons par l'aspiration du site. Evidemment un petit coup de wget -m a largement suffi à obtenir une copie locale de france.fr. Pour faire bonne mesure, j'ai viré de cette copie-miroir les traductions anglaise, italienne, allemande et espagnole, et j'ai regardé uniquement les documents francophones. Oui, mais combien y en a-t-il ?

for i in `find . -type f`; do file $i; done|grep HTML |wc
404 1616 32929

Je n'y crois pas :-) Il y a 404 documents HTML :-) J'en ai explosé de rire, dites donc...

Pour déterminer, même approximativement, la taille du contenu utile de ces documents, j'en ai regardé quelques-uns pour trouver les éléments "maîtres", c'est-à-dire ceux contenant la partie réellement utile à l'usager sans tenir compte de la navigation et tout ça. J'ai donc écrit le bout de code suivant, que je fournis ici uniquement pour démontrer la méthodologie utilisée. Le tout est encapsulé dans une extension à Firefox écrite en 2 minutes pour la circonstance (je tiens le XPI à disposition de qui le souhaiterait).

var gUI = {};

// juste un utilitaire
function GetUIElements()
{
var elts = document.querySelectorAll("*[id]");
for (var i = 0; i < elts.length; i++)
{
var elt = elts.item(i);
gUI[ elt.getAttribute("id") ] = elt;
}
}

// le startup commence ici
function Startup()
{
GetUIElements();

// détecter la fin de chargement de chaque document
gUI.iframe.addEventListener("pageshow", onIframeLoaded, false);
// démarrer le chargement avec le premier document du tableau
LoadFranceFr();
}

var gIndex = 1;
var gLength = 0;

function LoadFranceFr()
{
gUI.iframe.setAttribute("src", "file:///Users/glazou/france.fr/www.france.fr/" + kDOCUMENTS[gIndex-1]);
}

function onIframeLoaded(aEvent)
{
var src = gUI.iframe.getAttribute("src");
var doc = gUI.iframe.contentDocument;

var articles_list = doc.getElementById("articles_list");
var article_wrapper = doc.querySelector(".article_wrapper");
var maincontent = doc.getElementById("main-content");

var contentElt = articles_list || article_wrapper || maincontent;
if (contentElt) {
var row = document.createElement("row");
row.setAttribute("align", "center");
var label0 = document.createElement("label");
label0.setAttribute("value", gIndex);
var label1 = document.createElement("label");
label1.setAttribute("value", src.substr(src.lastIndexOf("/") +1));
var label2 = document.createElement("label");
var length = contentElt.textContent.length;
label2.setAttribute("value", length);
row.appendChild(label0);
row.appendChild(label1);
row.appendChild(label2);
gUI.summaryRows.insertBefore(row, gUI.summaryRows.firstChild);

gLength += length;
gUI.totalLabel.setAttribute("value", gLength);
}
else {
var row = document.createElement("row");
row.setAttribute("align", "center");
row.className = "wrong";
var label0 = document.createElement("label");
label0.setAttribute("value", gIndex);
var label1 = document.createElement("label");
label1.setAttribute("value", src.substr(src.lastIndexOf("/") +1));
var label2 = document.createElement("label");
label2.setAttribute("value", "");
row.appendChild(label0);
row.appendChild(label1);
row.appendChild(label2);
gUI.summaryRows.insertBefore(row, gUI.summaryRows.firstChild);
}

gIndex++;
if (gIndex < kDOCUMENTS.length)
LoadFranceFr();
}

Dans ce code, kDOCUMENTS est un tableau dont les éléments sont les URLs locaux des 404 documents pré-cités. Le code ci-dessus va charger chaque document dans un iframe XUL, attendre patiemment que ce chargement soit effectué, trouver le contenu utile, déterminer sa taille par un elt.textContent.length (oui je sais c'est très généreux, ça compte des flopées d'espaces), agréger les résultats et passer au document suivant tant qu'il y en a. Et voila le résultat :

France.fr sink

Bien entendu, mes chiffres sont des approximations, un ordre de magnitude. On pourra toujours arguer du fait qu'il y a un peu de contenu dans les barres de navigation ou a contrario qu'il y a des listes de liens redondantes avec la navigation dans le contenu utile. Quoiqu'il en soit, www.france.fr c'est donc en gros 400 documents totalisant environ 520 000 caractères.

Si les chiffres du Canard Enchaîné sont exacts - et je ne doute pas qu'ils le soient - www.france.fr est donc pour 4 000 000€ un des sites les plus chers de France depuis la création du Web. Chaque document unique du site aura in fine coûté 10 000€ (hors traductions) ! Chaque caractère utile du site aura lui coûté presque 7,70€ (hors traductions également). (Nota bene: tout cela est sous réserve du bon fonctionnement de mon aspiration du site ; si les chiffres réels peuvent être un peu différents, l'ordre de magnitude lui ne saurait énormément varier)

Encore bravo au SIG, Service d'Information du Gouvernement, et son patron Thierry Saussez. Mes plus chaleureuses et sincères félicitations aux prestataires qui sont intervenus pour eux. C'est du Grand Art, des deux côtés.

Comments

1. On Thursday 19 August 2010, 12:03 by Eric

On peut faire pire.
Nos voisins transalpins en sont quand même à 58,1 millions d'euros pour italia.it. Graphiquement il me plait plus, j'avoue, mais pour 54 millions ils avaient de quoi affiner la maquette graphique.

Indépendamment du contenu et de son volume, est-ce que vraiment il est urgent et important de mettre nos finances publics dans ce genre d'exercices qui ne flattent que l'égo de nos élus ? Avec 4 ou 58 millions on ne pouvait pas sauver la vie et remettre sur les rails 100 ou 1000 personnes totalement exclues du système ?
Oui, je sais, je compare des carottes et des oranges et aider 1000 personnes c'est une goutte d'eau. Reste que j'ai l'impression qu'on se moque un peu de nous quand en même temps on prend des mesures budgétaires radicales dans les services de base de l'état : éducation, santé, garantir logement et un repas à tous

2. On Thursday 19 August 2010, 12:03 by omartineau

Ton chiffre m'étonnait quand même, alors j'ai cherché autrement : Moins geek, mais qui donne une petite idée, cherché sur Google "site:france.fr". 617 résultats, 617 pages ça ne va pas loin... (toutes langues confondues).

Ton wget a donc du correctement fonctionner.

Ils sont où les milliers de contenus promis ? Ils les ont cachés pour tenir la charge ?

3. On Thursday 19 August 2010, 12:04 by jambon

Le site a couté 4 millions d'euros... traduction comprise. Pourquoi ne pas la prendre en compte ?

4. On Thursday 19 August 2010, 12:36 by Fred

Comme le dit Jambon, il faut effectivement prendre en compte les traductions. Et puis il y a beaucoup de contenus pas inclus dans ce décompte : les quizz, les vidéos, les cartes qui contiennent énormément de points d'interêt, les animations flash sur les sites naturels, châteaux, etc.
Pour le budget, le chiffre de 4M€ est faux. C'est beaucoup moins. Cf l'article de Clubic.

5. On Thursday 19 August 2010, 12:58 by tfe

Se limiter au contenu html brute pour un site de ce genre ne représente pas vraiment le travail effectué.

On a aussi un travail sur la charte graphique, sur les images, schémas, documents non html (pdf?, doc?), ainsi que de nombreuses vidéos.

Hum... Quoi que ... même en additionnant tout ca, ca les vaut pas :)

6. On Thursday 19 August 2010, 14:23 by hello world

"Si les chiffres du Canard Enchaîné sont exacts - et je ne doute pas qu'ils le soient -"
C'est beau de voir de nos jours des personnes croire autant les journalistes... si on peut appeler le Canard enchainé du journalisme bien sur...

7. On Thursday 19 August 2010, 15:26 by laktoz

@ hello world : Pour ta gouverne, sache que le canard enchainé existait avant ta naissance, chaque info erronée est de suite "Hurlé" sur tous les médias !
La véracité du Canard enchainé n'est jamais à mettre en doute ... juste à nuancer :)

8. On Thursday 19 August 2010, 15:36 by Fred

Tout le monde parle de 4M€ mais c'est quasiment 4 fois moins. Le canard fait l'amalgame entre le budget Max sur 3 ans (qui est d'ailleurs inférieur à 4M€ quand on somme les chiffres qu'ils donnent) et le budget déjà engagé à la sortie du site. Voici le lien vers les bons chiffres sur Clubic : http://www.clubic.com/internet/actu...
Par rapport à un projet de ce type, ça ne semble pas délirant.

9. On Thursday 19 August 2010, 15:44 by totoro

À ce prix, on pouvait espérer une version mobile.
:)

10. On Thursday 19 August 2010, 18:04 by Nico

Note pour plus tard, envoyer un devis pour le prochain site du genre, y a du blé à se faire...

11. On Thursday 19 August 2010, 19:28 by Francois

Excellent, bravo Daniel !

Quand je pense que Sarko, Horteufeux nous bassinent avec la sécurité et qu'un simple wget -a suffit à pomper leur site ! Espérons qu'un simple wput -a ne permet pas d'uploader des pages... rhooo, non, c'est pas possible, dites-moi que ce n'est pas possible. ROFL

F

12. On Friday 20 August 2010, 00:26 by Aurélien

Une web agency spécialisée dans les appels d'offres publics (mairie, région, collectivité, gouvernement, UE...) certains ont eu l'idée depuis longtemps et sont bien contents aujourd'hui.

Le plus dur est certainement de savoir faire un devis qui respecte les différentes normes de ce type d'appel... et d'avoir quelques amis bien placés :D

13. On Friday 20 August 2010, 11:04 by eleg

Sur « France.fr » :

méteo → météo, Etudier → Étudier, Editos → Éditos, Economie → Économie, Evènements → Évènements, "Visa pour l'image" → « Visa pour l’image » (guillemets dits « français » en typographie), A propos de France.fr → À propos de France.fr,…

pour comparaison, le bandeau de « elysee.fr » :

Élysée.fr ⋅ Liberté Égalité Fraternité ⋅ Présidence de la République
LES ACTUALITÉS | […] | LA PRÉSIDENCE | […] | MÉDIATHÈQUE

Pas photo sur l’orthographe et la typographie…

(rappel : les accents sont importants notamment pour les logiciels vocaliseurs pour aveugles et mal-voyants. P. ex. « LES INTERNES… » → internes, internés ?)

14. On Friday 20 August 2010, 15:34 by JCP

Un bref message de bravo... je tique depuis des jours sur ce site, à d'autres niveaux, et je tombe sur ce billet qui confirme sur le plan technique ce que j'en pense sur un plan général.

15. On Friday 20 August 2010, 15:36 by JCP

... Ah oui : quand on prend en compte le fait qu'une aprtie de ces pages sont... aspirées de sites comme Télérama.fr ou ... marmiton.com, sisisisisisi, on se dit que le cout réel par page dépasse les 10000 €...

16. On Sunday 22 August 2010, 11:20 by SebastienM

J'ai indexé le site avec un crawler de moteur de recherche, et je n'ai pas trouvé tout à fait les mêmes résultats. J'ai environ 900 pages françaises, et 700 pages environ pour chaque langue traitée (italien, allemand, espagnol et anglais) pour un total d'environ 3800 pages.
Comme cela a été dit dans un commentaire, on ne peut considérer que refaire une interface dans une langue étrangère puisse être considéré comme nul au niveau du coût.

Une chose qui me frappe, c'est le travail très important de référencements de liens externes. D'expérience, à maintenir, c'est un sacré boulot si on n'est pas sur le modèle d'un Wiki! Les liens sont précis, jusqu'à la page exacte.
Je pense que ce travail ne s'estime pas au comptage de caractères.

Notons aussi qu'on peut trouver des (au moins un ?) gadget flash qui à mon avis ont pu coûter leur pesant de KiloOctets :
http://www.france.fr/visiter/decouv...
(Pas mal aussi à maintenir si un lien est "brisé").

Enfin, et c'est dommage pour nos amis étrangers, les RSS étrangers fournissent des liens faux. Il manque le /xx/ de la langue. Je leur ai signalé. On verra combien de temps ils mettent à me répondre ;)

17. On Tuesday 24 August 2010, 14:54 by Arnaud

119600E de graphisme... Ca fait cher
28500E pour le logo (la recherche de couleurs n'a pas du couter cher).

Combien de projets informatiques pourraient être soutenus par l'Etat pour 4 000 000 d'euros ?

J'aurais une question : est ce que la constitution interdit de faire un truc du genre concours auprès des écoles de design de France avec récompense 5000E pour le gagnant pour faire le logo par exemple ? ou la maquette du site ?

18. On Tuesday 24 August 2010, 15:00 by Arnaud

Un peu plus d'infos :

http://www.marianne2.fr/SlovarMaria...

19. On Wednesday 25 August 2010, 09:42 by jacto

Vous oubliez un élément essentiel les gars ! Il y a une campagne présidentielle à financer en 2012. Voulez-vous une formation sur le blanchiment de l'argent du contribuable ?
Si le cœur vous en dit, nous avons là un cas d'école !