[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-emeis":3},{"id":4,"title":5,"body":6,"client":5,"cover":56,"description":60,"draft":61,"extension":62,"gallery":63,"highlight":72,"links":73,"meta":77,"navigation":72,"path":78,"period":79,"role":80,"seo":81,"shortDescription":82,"sitemap":83,"stack":84,"stem":89,"year":90,"__hash__":91},"projectsFr\u002Fprojects\u002Ffr\u002Femeis.md","Emeis",{"type":7,"value":8,"toc":48},"minimark",[9,14,18,22,25,29,32,35,38,41,45],[10,11,13],"h2",{"id":12},"contexte","Contexte",[15,16,17],"p",{},"Emeis est un groupe de santé présent dans plus de vingt pays, avec plus de mille établissements, des maisons de retraite aux cliniques. Après la refonte de sa marque, le groupe a lancé des sites pays pour accompagner son développement à l'international, distincts du site corporate. C'est sur ces sites pays que je suis intervenu : chacun a sa propre structure, son contenu et son URL, mais tous reposent sur un socle commun.",[10,19,21],{"id":20},"rôle","Rôle",[15,23,24],{},"Lead front et développeur principal sur le projet, mon apport central a été de repenser l'architecture front pour absorber le multi-thème, une activité Emeis correspondant à un thème. J'ai isolé le styleguide de la structure Drupal pour le rendre indépendant du thème parent, créé les composants manquants et repris les existants pour qu'ils fonctionnent sur tous les thèmes. En parallèle, j'ai développé toute la partie front du store locator, en coordination avec la développeuse back qui développait le module Drupal.",[10,26,28],{"id":27},"réalisation","Réalisation",[15,30,31],{},"L'architecture multi-thèmes est la pièce maîtresse du projet. Elle reprend le principe des thèmes parent\u002Fenfant de Drupal : un thème parent, Emeis, porte tous les composants et les assets ; chaque thème enfant en dépend et n'override que le strict nécessaire. Toute l'identité visuelle repose sur des variables CSS, qu'un thème enfant redéfinit pour appliquer ses propres couleurs, sans jamais toucher au composant lui-même. Le prérequis a été conséquent : inventorier et mapper chaque variable en amont, pour poser le système sur des bases saines.",[15,33,34],{},"Le chargement du JavaScript suit le même esprit. Un script global vérifie, via les classes CSS présentes dans la page, quels scripts de composants doivent être chargés, puis les charge de façon asynchrone via dynamic import. Le but : réduire au maximum la charge JS de chaque page, sur un projet où la performance et le SEO priment.",[15,36,37],{},"Le store locator est la fonctionnalité applicative la plus importante. Le front récupère les paramètres d'URL pour construire les filtres et lancer les appels API : un pour le listing des établissements, paginé, un autre pour les marqueurs de la carte Google Maps, avec sa gestion de clusters. Pas de framework : sur un site Drupal servi en Twig, un framework JavaScript aurait ajouté une charge supplémentaire non nécessaire.",[15,39,40],{},"Le point délicat réside dans les filtres, propres à chaque activité. En accédant au store locator d'une activité, l'utilisateur ne voit que les filtres de celle-ci ; sur le store locator multi-activité, il choisit d'abord une activité avant d'atteindre ses filtres. S'y ajoute une logique géographique, du pays à la ville, qui recentre la carte et ne remonte que les établissements de la zone concernée. Autant de cas à prévoir un par un dans le code.",[10,42,44],{"id":43},"résultats","Résultats",[15,46,47],{},"Le premier site pays est en ligne, et le socle sert désormais de base au déploiement des suivants, pays par pays. Pour un site éditorial de cette ampleur, les scores de performance sont solides, et le client est satisfait du résultat. Le projet est toujours actif, avec de nouveaux pays en cours d'ouverture.",{"title":49,"searchDepth":50,"depth":50,"links":51},"",2,[52,53,54,55],{"id":12,"depth":50,"text":13},{"id":20,"depth":50,"text":21},{"id":27,"depth":50,"text":28},{"id":43,"depth":50,"text":44},{"src":57,"width":58,"height":59},"\u002Fimg\u002FProjects\u002FEMEIS_Cover.jpg",2560,1440,"Refonte de l'architecture front, en tant que lead front et développeur principal, des sites pays d'un groupe de santé présent dans plus de vingt pays : socle Drupal multi-thèmes bâti sur des variables CSS, styleguide isolé du thème parent, chargement JS asynchrone conditionnel, et développement complet du front du store locator (carte Google Maps, filtres cumulatifs par activité et par zone géographique).",false,"md",[64,66,70],{"src":65,"width":58,"height":59},"\u002Fimg\u002FProjects\u002FEMEIS_Gallery_Hero.jpg",{"src":67,"width":68,"height":69},"\u002Fimg\u002FProjects\u002FEMEIS_Gallery_Tile-1.jpg",1600,1200,{"src":71,"width":68,"height":69},"\u002Fimg\u002FProjects\u002FEMEIS_Gallery_Tile-2.jpg",true,[74],{"label":75,"href":76},"Site","https:\u002F\u002Fwww.emeis.fr\u002Ffr",{},"\u002Fprojects\u002Ffr\u002Femeis","2025-2026","Lead Front-end",{"title":5,"description":60},"Architecture front multi-thèmes et store locator pour les sites pays d'un groupe de santé, à fort enjeu SEO.",{"loc":78},[85,86,87,88],"Vanilla JS","Twig","Drupal","Storybook","projects\u002Ffr\u002Femeis",2025,"D1QpLVUbg3prB7D0BeSW47WZGfNFDtl2lmlABT0K1LE"]