Presse et médias outdoor, 2009 à 2017
Nivéales Médias : quinze sites de presse outdoor sur un même CMS
Nivéales Médias édite des magazines de sports outdoor, du ski à l'escalade et au kitesurf, et chacun a son site. De septembre 2009 à début 2017, Innéair a porté les quinze sites du groupe sur Origami, le CMS multi-sites qu'elle avait conçu, puis l'a fait évoluer pendant huit ans. Quand l'affiliation a pris une place croissante dans les revenus du groupe, Innéair a ouvert la plateforme aux offres de ses partenaires. En 2016, ces sites totalisaient plus de 25 millions de pages vues.
- Client
- Nivéales Médias, groupe de presse spécialisé dans les sports outdoor
- Plateforme
- Origami, le CMS multi-sites conçu par Innéair : une base de code pour quinze sites, chacun avec son contenu et sa base de données
- Intervention d'Innéair
- Migration des sites, architecture, intégration des flux d'affiliation, direction de l'équipe de développement, maintenance et évolutions chiffrées par lots
- Sites
- Skieur.com, Trekmag, Grands Reportages, Montagnes Magazine, Grimper, Snowsurf, Bigbike Magazine, Windmag, Kiteboarder, Supmag, Widermag, Wider Outdoor TV, Ski Magazine, Vertical Magazine et Niveales.com
- Technologies
- Back-end PHP, Zend Framework 1
- Données MySQL
- Flux XML, XSD, batchs nocturnes
- Interface JavaScript, jQuery, ExtJS
- Qualité et livraison Composer, PHPUnit, Jenkins, SonarQube, Git, Vagrant
Quinze sites sur une même base de code
Chaque titre de Nivéales Médias a son site : Skieur.com, Trekmag, Grands Reportages, Grimper, Windmag, Bigbike Magazine et neuf autres. À partir de septembre 2009, Innéair les a tous migrés vers Origami, le CMS qu'elle éditait et qui servait aussi d'autres clients.
Origami sépare le gabarit du contenu. L'intégrateur importe des pages HTML, puis il y place des zones et des widgets qui les rendent dynamiques ; le rédacteur remplit des types de contenu définis dans l'administration. Les quinze sites partageaient le même code, et chacun gardait son contenu, sa configuration et sa base de données.
Ce choix imposait une discipline : une correction devait valoir pour tous les sites, et un widget écrit pour Skieur.com devait pouvoir servir à Snowsurf. Innéair a donc factorisé les widgets que les sites avaient dupliqués, et chaque évolution partait en version, avec un plan de migration pour les intégrateurs du groupe.
Faire entrer les offres des partenaires
En 2013, Nivéales voulait que les agences de trek publient leurs offres sur Trekmag et Grands Reportages sans les ressaisir. Innéair a mis en place un mécanisme de flux : chaque agence expose un fichier XML à une adresse fixe, et la plateforme le télécharge chaque nuit. Innéair a rédigé la spécification que suivent les partenaires : les champs obligatoires, les longueurs maximales, l'encodage des caractères spéciaux, les nomenclatures de pays et de thèmes. Ce document servait de contrat entre Nivéales et ses agences, et Innéair l'a fait évoluer avec elles.
Le batch valide d'abord le fichier entier, puis chaque offre : une offre mal formée est écartée et signalée, sans bloquer les autres. Il crée ensuite les pages des nouvelles offres, met à jour les autres, supprime celles qui ont disparu et envoie un rapport par flux. Quand une agence emploie un thème que la plateforme ne connaît pas, celle-ci ne le rejette pas : elle l'enregistre comme un alias, que l'administrateur rattache ensuite à un thème de référence.
Le même mécanisme a aussi accueilli les offres des magasins de sport pour les guides de matériel, puis, en 2015, les séjours au ski de Skieur.com. Certains partenaires envoyaient jusqu'à 4 000 offres par flux, et la plateforme a porté jusqu'à 60 000 offres de plus de soixante partenaires.
Rattacher chaque offre à la bonne fiche
Les guides de matériel posaient un problème plus délicat. Un magasin envoie une offre intitulée « Soul 7 + fix Marker Jester 18 Pro 110 mm », alors que le guide contient la fiche du ski Soul 7 de l'année. Pour afficher sur la fiche le prix de chaque boutique, il faut rapprocher les deux.
Innéair a conçu une association en cascade, du plus sûr au plus flou. La plateforme cherche d'abord le code EAN, puis une égalité stricte de la marque et du nom, puis une égalité après normalisation des accents, de la ponctuation, de mentions comme « junior » ou « femme » et du type de produit répété dans le nom. Ces trois niveaux publient l'association directement. Un dernier niveau, plus permissif, propose une association que l'équipe de Nivéales valide à la main. Les offres restantes sont classées orphelines, et l'administrateur les traite depuis une liste dédiée.
En décembre 2013, avant de livrer la nouvelle reconnaissance des noms, Innéair l'a mesurée sur 4 602 offres réelles. La part des offres associées sans intervention est passée de 49 % à 70 %, et le nombre d'offres orphelines a baissé de 60 %. Sur cet échantillon, l'équipe de Nivéales avait près de mille offres de moins à traiter à la main.
Chercher et comparer dans les guides
Un guide d'achat compte des centaines de fiches. Pour les parcourir, Innéair a conçu un sélecteur à facettes : marque, gamme, niveau, taille, plage de prix, texte libre. À chaque critère choisi, le sélecteur recalcule le nombre de résultats possibles et grise les valeurs qui n'en donneraient aucun. Il est entré en quelques semaines dans la distribution standard d'Origami, et il servait aux guides de tous les sites comme aux voyages et aux séjours.
Innéair a complété les guides par un comparateur : l'internaute place plusieurs produits dans un panier et les compare côte à côte, sans recharger la page. Sur chaque fiche, les offres apparaissent regroupées par boutique.
Le guide des stations et les séjours au ski
En 2015, Skieur.com a ouvert un guide des stations de ski. Innéair y a croisé trois sources de données de l'Association nationale des maires des stations de montagne (ANMSM), le bulletin neige, le domaine skiable et les webcams, avec les prévisions de Snow-Forecast, données à trois altitudes et par périodes de six heures. Chaque fiche de station pouvait ainsi afficher jusqu'à 39 indicateurs, de l'enneigement à l'état des routes en passant par les pistes et les remontées ouvertes.
La même année, Skieur.com a voulu proposer des séjours en station, avec de 5 000 à 10 000 offres par flux selon le cadrage. Les partenaires nommaient les stations à leur façon, et un quartier comme La Daille devait aussi remonter sur la fiche de Val d'Isère. Innéair a étendu les alias aux stations, et le sélecteur a reçu les critères propres aux séjours : la date de départ, le nombre de personnes, le type d'hébergement et les promotions. Pour que ces gros fichiers ne saturent pas la mémoire du serveur, la plateforme valide le XML au fil de la lecture, sans le charger en entier. Innéair a recruté et encadré trois stagiaires pour livrer ce module, à partir de la conception qu'elle avait rédigée.
Entretenir une plateforme pendant huit ans
Un média vit de son référencement. Quand le guide des skis de Skieur.com a changé d'adresses en 2014, Innéair a préparé avec le groupe un plan de 817 redirections permanentes, pour que les anciennes adresses continuent d'apporter leurs visiteurs. En 2015, elle a adapté les sites à Google Actualités, en suivant les recommandations du conseil en référencement du groupe.
Un CMS générique porte aussi des fonctions dont un client n'a pas besoin. Nivéales publiait en français et n'utilisait ni l'extranet ni les commentaires intégrés : Innéair a retiré ces fonctions, qu'il n'y avait plus à maintenir ni à sécuriser. Au fil des versions, elle a aussi outillé et modernisé le socle : tests automatisés et intégration continue, conventions PSR, dépendances gérées par Composer, code organisé par domaine, documentation versionnée avec le code.
Diriger l'équipe et rendre le client autonome
Innéair dirigeait une petite équipe : un développeur freelance, dont l'apport en ingénierie a fait progresser les tests et l'intégration continue, puis les trois stagiaires de 2015. Elle chiffrait chaque évolution par lots indépendants, chacun avec son objectif, ses user stories et son prix, pour que Nivéales puisse choisir.
Au printemps 2015, après un point avec la direction digitale du groupe sur la conduite des projets, Innéair a proposé une méthode écrite : elle précisait qui produit quel livrable à chaque étape et prévoyait une préproduction pour recetter avant chaque mise en ligne.
La collaboration s'est achevée début 2017. Pour que le groupe puisse faire évoluer ses sites sans dépendre d'Innéair, elle lui a cédé les sources de la première version d'Origami.
Réalisation suivante : Phosphoria : trier les offres de mission avec l'IA
Vous lancez ou refondez une application métier ?
Innéair conçoit votre application métier avec vous, met très tôt une première version en production, puis l'enrichit par petites livraisons.