Planète

Par Christophe MOLLET
Christophe Mollet

Comment réaliser un audit sous Drupal ?

Afin de garder votre site Drupal sécurisé et performant, nous vous recommandons d’effectuer régulièrement des audits techniques et fonctionnels. Dans cet article, nous vous expliquons en quoi cela consiste et vous présentons comment le mettre en place.

Par Iloofo
Iloofo

iLoofo sera présente à la DrupalCon Prague 2022

La DrupalCon est un événement organisé par la communauté Drupal qui regroupe des présentations selon différents axes :

Agence et Business
Etudes de cas et expériences clients
Faiseurs et batisseurs

Internet ouvert et Communauté
Utilisateurs et éditeurs

C'est la reprise en présentiel pour cet événement après les quelques années contraintes aux événements numériques.

Par LaboRouge

Twig : créer des suggestions de nom de template

Twig : créer des suggestions de nom de templateLaborouge
lun 05/09/2022 - 09:00

ampoule filament sur fond jaune
Lorsque l'on développe un thème "Front", il arrive que nous soyons confronté à certaines logiques d'intégration (structure, web design). et que les templates Twig fournies par défaut ne répondent pas à nos besoins.
Par Artusamak
Julien Dubois

Interview client - BABYZEN

Interview client - BABYZEN
stephanie@happyculture.coop
ven 26/08/2022 - 16:09

Découvrez comment le site internet de BABYZEN est devenu accessible partout dans le monde avec Happyculture et la mise en place du CMS Drupal. Merci encore à toute l'équipe pour cet entretien et pour ce beau projet !

Logo Babyzen
Corps

Depuis 2007, Babyzen propose des produits de puériculture innovants, durables et pratiques. Yoyo, sa célèbre poussette citadine ultra maniable, en a fait son succès.

Happyculture a été mandaté pour la refonte du site internet. Vous pouvez accéder ici à la présentation du projet et des principales fonctionnalités développées.

1/ Présentation et contexte du projet

Pouvez-vous vous présenter en une phrase (fonction et rôle sur le projet) ainsi que BABYZEN ? 

BABYZEN conçoit, fabrique et distribue les poussettes YOYO dans 85 pays. 
Marina Sokolowsky : "Je suis Brand Communication Manager et j’étais chef de projet sur la construction du site babyzen.com avec Happyculture".
Edouard Villeneuve : "J’ai piloté ce projet d’un point de vue IT en tant que DSI de BABYZEN".

Quelle était votre problématique web qui a nécessité une refonte ?

[Marina Sokolowsky et Edouard Villeneuve] La marque a connu une croissance rapide et notre site web originel ne correspondait plus à nos besoins. Notamment:

  • L’équipe Marketing manquait d’autonomie, et avait besoin de la mise en place d’un vrai CMS,
  • Les performances du site étaient mauvaises, notamment pour nos utilisateurs lointains, ce qui a demandé l’ajout d’un CDN. 

Quels étaient l'objectif et les enjeux de la mission ? 

[Marina Sokolowsky] Le projet concernait la refonte totale de notre site vitrine avec deux enjeux :

  • L’accessibilité partout dans le monde, 
  • 15 langues à mettre en place avec un back office qui permette de les gérer facilement. 

Quelle est la taille de l'équipe qui a suivi la réalisation du projet et le temps que vous y avez consacré ?

[Marina Sokolowsky] Nous étions tous les deux uniquement. La direction était bien sur très impliquée dans le projet dans les arbitrages fonctionnels. 

2/ Collaboration avec Happyculture 

Pourquoi avoir choisi Happyculture ? quels critères de choix ? Comment s’est déroulée la prise de décision ? 

[Edouard Villeneuve] En tant que DSI, j’avais déjà travaillé avec Happyculture (et pas mal d’autres prestataires web) dans ma vie antérieure.
Je connaissais donc Happyculture en tant qu’experts, avec une réputation bien établie pour des assistances ponctuelles. Je les ai contactés pour avoir des recommandations d’agence qui puissent prendre en compte le projet dans son intégralité. 
J’ai alors été surpris de voir qu’Happyculture savait se positionner pas seulement pour des expertises, mais également pour le projet entier de réalisation, avec des taux journaliers très compétitifs, en particulier quand on prend en compte la qualité de la réalisation et donc la productivité et l’absence de dette technique.
J’avais contacté deux autres sociétés qui nous ont moins convaincus, soit à cause de l’approche technique proposée qui était démesurée par rapport à notre typologie, soit à cause de la méthodologie projet pas assez agile et trop commerciale.

Comment s'est passée la collaboration et comment l'agence Happyculture a-t-elle répondu à votre problématique ? 

[Edouard Villeneuve] Une proposition a été rapidement établie par Happyculture, le projet lancé dans la foulée et ensuite une gestion agile des écarts nous a permis d’augmenter le périmètre tout en maitrisant l’impact budgétaire de ces changements. Nous avons ensuite mis en place une TMA pour assurer la maintenance corrective et évolutive. 

Comment se sont organisées la phase de cadrage puis de réalisation du site ? 

[Edouard Villeneuve] Le cadrage était simple puisqu’il s’agissait uniquement de refaire le site à iso-fonctionnalités en termes de périmètre mais simplement avec des nouvelles fonctionnalités côté back office (CMS + CDN). Lorsque nous avons souhaité finalement inclure des évolutions significatives en termes de structure et contenus du site, Happyculture a organisé des ateliers de définition du besoin puis a chiffré ces évolutions individuellement, ce qui nous a permis de maîtriser finement ce changement d’approche.

Comment avez-vous jugé la qualité de ce qui vous a été livré ? A-t-il fallu beaucoup de temps pour trouver les correctifs nécessaires avant mise en ligne ?

[Edouard Villeneuve] Ayant participé à un certain nombre de projets Web en tant que DSI et dans ma vie antérieure, et bien que connaissant la réputation d’Happyculture, j’ai été impressionné par le faible taux de défauts identifiés. Les correctifs ont alors été livrés rapidement, soit par nos interlocuteurs projets, soit par le reste de l’équipe Happyculture lorsqu’un problème a été rencontré en période de congés.

3/ Utilisation de Drupal

Vous n’utilisiez pas Drupal sur votre précédent site. Quels ont été les éléments qui vous ont incité à choisir ce CMS ?

[Edouard Villeneuve] L’utilisation de Drupal dans une expérience professionnelle antérieure mais récente me confortait sur le fait que c’était la bonne plateforme pour répondre à nos enjeux et difficultés. Les éléments particulièrement complexe (type traduction en 15 langues dont certaines lues de droite à gauche) ont été abordées lors de la consultation pour valider ce choix. 

Quel élément vous a le plus été utile dans ce qu'Happyculture a mis en œuvre dans votre projet ? Pourquoi ?

[Marina Sokolowsky et Edouard Villeneuve] Plusieurs éléments utiles ont été mis en oeuvre :

  • Un CDN a été mis en place pour répartir la distribution du site partout dans le monde. La performance du site a été améliorée et le temps de réponse est à peu près identique partout dans le monde,
  • L’édition de contenu par composants permet de constituer des pages du site de manière éditoriale avec plus de liberté tout en respectant la charte et les enjeux marketing de BABYZEN,
  • Le site a été traduit en 15 langues. Cette traduction se fait en autonomie (non statique) et certains contenus ont pu être personnalisés selon le pays. Cette pré-orientation se fait grâce à la détection automatique du pays du visiteur,
  • L’alimentation de la plupart des contenus a été facilitée grâce aux imports,
  • Le Store locator met à disposition l’emplacement des 3 500 revendeurs physiques dans le monde avec recherche par adresse et géolocalisation.

3/ Pour conclure 

Etes-vous globalement satisfaits de ce projet ? Pourquoi ?

[Edouard Villeneuve] Très satisfaits, le sérieux et la disponibilité d’Edouard Cunibil chez Happyculture ont été clés dans le succès du projet. La qualité des développements ont aussi été un critère majeur pour nous assurer de la bonne vie du site et de la capacité d’intégrer des évolutions de manière agile et indolore. Enfin, lorsque plusieurs approches techniques étaient possibles, Edouard a été particulièrement pédagogue pour nos les présenter avec les avantages et inconvénients de chacune, afin de faire un choix éclairé. 

Au terme de plusieurs années d'exploitation de votre site, diriez-vous que vos objectifs ont été atteints ? Comment ?

[Marina Sokolowsky] Nos objectifs ont été atteints. Après 18 mois, ce site inclut 15 langues, ce qui a été fait très facilement et n’avons plus aucun problème d’accessibilité, partout dans le monde.

Recommanderiez-vous Happyculture à un pair et pourquoi ? 

[Marina Sokolowsky] Tout à fait. Le fait d’avoir une seule personne en contact a été précieux tout au long du projet, Edouard connaissait parfaitement nos problématiques et pouvait y apporter des réponses rapides.

 

En savoir plus sur le projet Babyzen ? Accédez ici à la présentation du projet et des principales fonctionnalités développées.

Catégories
Développement
Drupal
Drupal 9
Méthodes agiles
Tags
refonte de site web
CMS
CDN
accessibilité
multilingue
Référence client
Par Artusamak
Julien Dubois

Faut-il remplacer Google Analytics par Matomo ?

Faut-il remplacer Google Analytics par Matomo ?
stephanie@happyculture.coop
jeu 25/08/2022 - 10:51

Matomo, une alternative éthique à Google Analytics, dans le respect des données personnelles et du RGPD.

Corps

Est-il encore possible d’avoir une vie privée sur le web ? 

Vous êtes une personne soucieuse de la protection des données personnelles et du respect de l’activité de vos visiteurs sur votre site internet, et vous avez bien raison ! 

Et cela nous importe aussi chez Happyculture. Connaître le trafic sur notre site web c’est important pour mesurer ses performances et l’améliorer, mais pas au détriment de la vie privée.  Utilisateurs de Matomo depuis plusieurs années, en voyant circuler les articles autour de la CNIL et Google Analytics ces dernières semaines, nous nous sommes dit qu’il serait intéressant de vous expliquer pourquoi nous l’avons choisi. 

Mais avant de vous expliquer nos raisons, petit retour en arrière sur les faits.

Google Analytics dans le viseur européen

C’est en 2020 que l’affaire commence. La Cour de Justice de l’Union Européenne (CJUE), considérant que le transfert des données à caractère personnel de l’Union Européenne (UE) vers les Etats-Unis n’est pas conforme aux exigences requises par l’UE, décide d’invalider le Privacy Shield (Bouclier de Protection à mettre en annotation).

Suite à cette décision, NOYB, organisation de la protection de la vie privée fondée par Max Schrems, affirme que le géant de l’analyse d’audience web autorise, et ce de manière illégale, un traitement des données personnelles et leur transfert vers Google, donc vers les États-Unis. En 2021 NOYB dépose alors 101 plaintes auprès de plusieurs autorités de contrôle européennes, dont la CNIL en France. 

En février 2022, la CNIL se prononce et met en demeure des sites français utilisant Google Analytics de mettre en conformité leurs traitements avec le RGPD. 

Comme le sujet est sensible et le positionnement de la CNIL nouveau, la décision de mise en demeure a donné lieu à une vague de questions/réponses que la CNIL a mis en ligne pour partager l’information. Des pistes de solutions y ont été évoquées, comme agir par exemple sur le paramétrage des conditions de traitement de l’adresse IP ou encore utiliser un serveur mandataire ou proxy. Mais pour le moment, ces solutions n’ont pas satisfait la CJUE. 

En attendant que cette situation aboutisse et pour anticiper l’éventuelle illégalité de l’utilisation de Google Analytics, beaucoup ont pris les devants et cherché des remplaçants.

Quelle(s) alternative(s) à Google Analytics ?

Google Analytics reste l’outil d’analyse de trafic web le plus utilisé dans le monde ; plus de 55 % des sites web l’utilisent ce qui représente près de 86 % du marché (source W3Techs).

Heureusement des alternatives existent, et il y a du choix ! 

Nous pouvons citer Matomo bien sûr, mais aussi AT Internet Analytics Suite, Plausible, Open Web Analytics, Content Square, Hotjar, Abla Analytics, Go Squared, Beyable Analytics, etc. 

Certaines solutions, plus respectueuses de la vie privée de leurs utilisateurs et pouvant être exemptées au recueil de consentement, ont été identifiées comme conformes par la CNIL en suivant leurs guides de configuration. Et Matomo en fait partie.

Matomo, qu’est ce que c’est ?

Chez Happyculture, nous avons opté pour Matomo.
Il s’agit d’un outil Open Source gratuit de collecte de statistiques créé en 2007. Matomo vous permet de mesurer l’audience de votre site, comprendre le comportement de vos visiteurs et suivre des conversions. Anciennement connu sous le nom de Piwik, le projet a changé de nom en 2018 pour éviter tout conflit avec d’autres produits. La CNIL a approuvé cet outil au vue des critères RGPD (et sous réserve d’en faire la bonne configuration). Il est utilisé par plus d’un million de sites de toutes les tailles et se revendique comme respectueux de la vie privée de ses utilisateurs.
 

Tableau de bord de Matomo
Capture d’écran de l’interface du tableau de bord de Matomo des dernières visites au cours du mois écoulé

 

Matomo existe en 2 offres pour répondre à vos objectifs.

1 – Matomo en version auto-hébergée

Avec l’auto-hébergement, vous choisissez comment sont gérées vos données et leur lieu de stockage puisque c’est vous qui en avez la propriété. Aucun serveur tiers ne voit arriver vos données.

2 – Matomo Cloud (SaaS)

Si vous ne pouvez pas ou ne voulez pas en faire l’installation sur l’un de vos serveurs. Vous pouvez opter pour la version hébergée de Matomo dans son cloud allemand pour que vos données restent en Europe.

Vous pouvez comparer les deux versions dans leur grille de fonctionnalités. Les tarifs débutent à 19 euros par mois pour 50 000 hits.

Attention, il peut y avoir des coûts cachés si vous souhaitez activer des fonctionnalités payantes de Matomo présentes dans leur place de marché, vous y découvrirez le coût des extensions associées

Pourquoi Matomo ? Ça fonctionne vraiment ?

Vous nous connaissez, chez Happyculture nous défendons une vision du web respectueuse de ses utilisateurs et utilisatrices et donc de leur vie privée. Nous sommes aussi amoureux de l’open source, ce n’est pas pour rien que nous sommes experts Drupal !

Alors quitte à choisir entre Matomo et Google Analytics, la balance penche assez vite pour le premier lorsque nous devons choisir notre outil de mesure de statistiques. 

Qui dit héberger ses propres données pour mesurer son audience dit critère acceptable pour ne pas afficher de bandeau de cookies ou de demande de consentement (car nos contenus ou le reste de vos intéractions ne déposent pas non plus de cookies hormis l’antispam). 

Au-delà de la bonne idée, peut-on appliquer les mêmes usages si l’on doit changer d’outil ? Comme souvent, “ça dépend” est la réponse qui s’impose. 

Si la majorité des usages de votre outil de statistiques consiste à mesurer le nombre de visites, étudier les pages les plus vues, comprendre le type de visites que vous recevez (périphérique, zone géographique…) et suivre quelques objectifs de conversion, vous pourrez basculer sans crainte et ne serez pas perdus.

Si en revanche vous utilisez des fonctionnalités avancées de Google Analytics de type cohorte, traçage inter périphérique, plan de taggage, analyse par machine learning de vos jeux de données, vous risquez de perdre quelques petites choses.
Cela peut être bloquant pour vous mais mérite de vous interroger sur le besoin de collecter certaines données. 

D’un autre côté Google applique parfois de l’échantillonnage à partir des données qu’il collecte afin de générer vos rapports (sur des grandes masses de données, toutes ne sont pas comptabilisées mais des tendances sont calculées).

Comment installer Matomo sur mon site Drupal et récupérer mes anciennes données ?

Si basculer sur Matomo vous intéresse, l’installation est aussi simple que pour Google Analytics, il vous suffit d’insérer leur code de tracking. Comme ils sont sympas chez Matomo, ils vous expliquent comment migrer vos anciennes données pour assurer une transition en douceur depuis Google Analytics 3. Vous avez aussi un autre exemple en FR si vous préférez.

Notez que pour respecter le RGPD, vous devrez faire quelques configurations documentées par la CNIL. Je vous glisse aussi le lien vers la documentation pour permettre à un utilisateur de couper à la source le suivi dans votre outil de statistiques si vous souhaitez lui en donner la possibilité.

Bonus amical qui vous fera peut être gagner du temps (je parle d’expérience…), lorsque vous faites vos tests, pensez à désactiver votre bloqueur de publicité qui peut considérer votre domaine comme source de publicité à tort. ;-)

Si vous utilisez Drupal 9, vous pouvez insérer Matomo via le module contribué ou comme suit :

Créer le fichier JS qui va insérer le script :

var _paq = window._paq = window._paq || [];
_paq.push(["setDomains", ["*.monsite.fr"]]);
_paq.push(["setDoNotTrack", true]);
_paq.push(['HeatmapSessionRecording::disable']);
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://stats.monsite.fr/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();

Déclarer une librairie :

matomo:
  js:
    dist/js/matomo.min.js: { minified: true }

Insérer la librairie dans vos pages :

name: Thème de mon site
core_version_requirement: ^8 || ^9
type: theme
# Autres données
libraries:
- mon_theme/matomo

Pour conclure

Vous l’aurez compris, en choisissant Matomo, vous optez pour une solution recommandée par la CNIL et respectueuse du RGPD, la grande contrainte des outils d’analyse d’audience.

Open source, simple et gratuit, il répondra parfaitement à vos besoins principaux d’analyse de votre trafic web si vos usages ne sont pas extrêmement pointus.

La tendance du web étant au respect de la vie privée des personnes, proposer toujours plus de suivi des utilisateurs n’est pas une direction susceptible d’offrir des débouchés satisfaisants. 

Le ciblage des contenus semble en meilleure posture si vous devez proposer de la publicité sur vos contenus.
Le passage à Google Analytics 4 est peut être une piste de réponse mais on ne sait pas si la CNIL l’acceptera (à priori, non). Google restant dans le viseur du législateur, autant ne pas participer à une forme de loterie et anticiper une alternative au plus tôt.

La question de la toute puissance de Google mérite également d’être soulevée. Ce sont nos choix de gestionnaires et sociétés intégratrices de solutions qui lui confèrent sa puissance. Une fois en position de quasi monopole, le jeu de la concurrence ne porte plus ses fruits. Alors il nous incombe de défendre la diversité des choix. Matomo est une option intéressante mais comme indiqué plus tôt, les concurrents ne manquent pas.

Nous terminerons en vous posant cette question, avez-vous toujours une bonne raison de rester sur Google Analytics et de prendre le risque de jouer avec la loi ?

Catégories
Drupal
Par kgaut
Kevin Gautreau

Drupal 8 & Drupal 9 - Passer des variables à un formulaire

Depuis un controller :

// Variables à transmettre au formulaire
$data = ['lalala' => 'lilili'];
// Avec l'injection de dépendances
$this->formBuilder()->getForm(Drupal\mon_module\Form\TriggerForm::class, $data);

// Sinon, sans l'injection de dépendances
$form = \Drupal::formBuilder()->getForm('Drupal\mon_module\Form\TriggerForm', $data);

Récupération des données dans le formulaire

public function buildForm(array $form, FormStateInterface $form_state) {
  // Récupération des données
  $data = $form_state->getBuildInfo()['args'][0];

  // Définition du formulaire
}

Il est possible de passer plusieurs variables

// Variables à transmettre au formulaire
$data = ['lalala' => 'lilili'];
$doto = ['lululu' => 'lelele'];
// Avec l'injection de dépendances
$this->formBuilder()->getForm(Drupal\mon_module\Form\TriggerForm::class, $data, $doto);

// Sinon, sans l'injection de dépendances
$form = \Drupal::formBuilder()->getForm('Drupal\mon_module\Form\TriggerForm', $data, $doto);
public function buildForm(array $form, FormStateInterface $form_state) {
  // Récupération des données
  $data = $form_state->getBuildInfo()['args'][0];
  $doto = $form_state->getBuildInfo()['args'][1];

  // Définition du formulaire
}

 

Par Christophe MOLLET
Christophe Mollet

Comment faire face à la fin de vie de Drupal 7 ?

Drupal 7 est une des versions les plus anciennes de Drupal qui est encore supportée par la communauté. À l’occasion du report de sa fin de vie, prévue pour novembre 2023, notre agence Drupal revient sur les fonctionnalités apportées par cette version et sur les raisons de ce report.

Par admin

Première journée mondiale de port vers Drupal 10 !

Rejoignez-nous !

Ce vendredi 29 juillet 2022 aura lieu le premier "Drupal 10 Global Porting Day", dédié au port de modules et thèmes de Drupal 9 à Drupal 10. Cet évènement, organisé par Kristen Pol et Surabhi Gokte, durera 30 heures pour couvrir tous les fuseaux horaires. Attention, un bug connu sur les pages d'évènements communautaire fausse les horaires en mode non-connecté, voici donc les bons créneaux validés par Kristen :

du 29 juillet 2022 à 00:00 CET au 30 juillet 2022 à 06:00 CET

NB : CET (Central European Time) = UTC+2 (soit l'heure de Paris)

Retrouvez toutes les informations sur la page de l'évènement : https://www.drupal.org/community/events/drupal-10-global-porting-day-july-2022-2022-07-28

À retenir

Des membres de l'association Drupal France et francophonie comptent participer, n'hésitez pas à nous solliciter sur le Slack francophone si vous avez du mal avec l'anglais mais que vous voulez quand même aider, on pourra vous accompagner :)

Par Simon Georges
Simon Georges
Drupal depuis plus de 10 ans, SEO depuis 3 ans

Cartographie en Drupal 9

Les différentes solutions techniques pour ajouter de la cartographie à vos sites Drupal 9.

Par Christophe MOLLET
Christophe Mollet

Drupal 9.4 : Informations et nouveautés

6 mois après la mise en ligne de Drupal 9.3, le CMS bénéficie ce mois-ci de sa nouvelle mise à jour : Drupal 9.4. Une version qui apporte de nouveaux correctifs et de nouvelles améliorations, en vue de préparer la sortie de Drupal 10.

Pages