[{"data":1,"prerenderedAt":630},["ShallowReactive",2],{"menu-featured-themes":3,"course-developpement-web-eco-responsable-backend-basse-consommation":593,"highlight-javascript-import compression f":629},[4,36,133,145,227,349,361,413,465,522,574],{"_id":5,"name":6,"slug":7,"metadata":8,"courses":10},"b00f0fff-150d-444f-aced-509768f8da96","Bases de données","bases-de-donnees",{"theme-icon-name":9},"solar:database-linear",[11,16,21,26,31],{"name":12,"slug":13,"metadata":14,"theme":15},"SQL avancé pour l’analyse de données et l’optimisation des requêtes","sql-avance-pour-l-analyse-de-donnees-et-l-optimisation-des-requetes",[],{"_id":5},{"name":17,"slug":18,"metadata":19,"theme":20},"Programmation PL/SQL pour bases de données Oracle","programmation-pl-sql-pour-bases-de-donnees-oracle",[],{"_id":5},{"name":22,"slug":23,"metadata":24,"theme":25},"Langage SQL : fondations, requêtes avancées et optimisation","langage-sql-fondations-requetes-avancees-et-optimisation",[],{"_id":5},{"name":27,"slug":28,"metadata":29,"theme":30},"MongoDB","mongodb",[],{"_id":5},{"name":32,"slug":33,"metadata":34,"theme":35},"MySQL","mysql",[],{"_id":5},{"_id":37,"name":38,"slug":39,"metadata":40,"courses":42},"08de519f-b33c-4368-84f7-564b178cc5ba","Développement logiciel","developpement-logiciel",{"theme-icon-name":41},"solar:chat-square-code-linear",[43,48,53,58,63,68,73,78,83,88,93,98,103,108,113,118,123,128],{"name":44,"slug":45,"metadata":46,"theme":47},"UML – Modélisation pour l’analyse et la conception logicielle ","uml-modelisation-pour-l-analyse-et-la-conception-logicielle",[],{"_id":37},{"name":49,"slug":50,"metadata":51,"theme":52},"Algorithmique et développement structuré ","algorithmique-et-developpement-structure",[],{"_id":37},{"name":54,"slug":55,"metadata":56,"theme":57},"Java – Initiation à la programmation ","java-initiation-a-la-programmation",[],{"_id":37},{"name":59,"slug":60,"metadata":61,"theme":62},"Java – Maîtriser les évolutions du langage (versions 8 à 22) ","java-maitriser-les-evolutions-du-langage-versions-8-a-22",[],{"_id":37},{"name":64,"slug":65,"metadata":66,"theme":67},"Java – Bonnes pratiques de code et qualité logicielle ","java-bonnes-pratiques-de-code-et-qualite-logicielle",[],{"_id":37},{"name":69,"slug":70,"metadata":71,"theme":72},"Python – Approche pratique du développement ","python-approche-pratique-du-developpement",[],{"_id":37},{"name":74,"slug":75,"metadata":76,"theme":77},"Python – Approfondissement des concepts et bonnes pratiques ","python-approfondissement-des-concepts-et-bonnes-pratiques",[],{"_id":37},{"name":79,"slug":80,"metadata":81,"theme":82},"Bases de la programmation orientée objet","bases-de-la-programmation-orientee-objet",[],{"_id":37},{"name":84,"slug":85,"metadata":86,"theme":87},"C# 13 et .NET – Techniques avancées de développement ","c-13-et-net-techniques-avancees-de-developpement",[],{"_id":37},{"name":89,"slug":90,"metadata":91,"theme":92},"ASP.NET Blazor – développement d’applications Web  ","asp-net-blazor-developpement-d-applications-web",[],{"_id":37},{"name":94,"slug":95,"metadata":96,"theme":97},"C# – Développement Web avec ASP.NET MVC ","c-developpement-web-avec-asp-net-mvc",[],{"_id":37},{"name":99,"slug":100,"metadata":101,"theme":102},"C# – Développement d’applications avec WPF","c-developpement-d-applications-avec-wpf",[],{"_id":37},{"name":104,"slug":105,"metadata":106,"theme":107},"Découverte du langage Rust : fondamentaux et premiers projets","decouverte-du-langage-rust-fondamentaux-et-premiers-projets",[],{"_id":37},{"name":109,"slug":110,"metadata":111,"theme":112},"Langage Go : bases essentielles et programmation concurrente ","langage-go-bases-essentielles-et-programmation-concurrente",[],{"_id":37},{"name":114,"slug":115,"metadata":116,"theme":117},"Initiation au langage C : fondamentaux et mise en pratique ","initiation-au-langage-c-fondamentaux-et-mise-en-pratique",[],{"_id":37},{"name":119,"slug":120,"metadata":121,"theme":122},"Programmation en langage C++ : principes et pratique ","programmation-en-langage-c-principes-et-pratique",[],{"_id":37},{"name":124,"slug":125,"metadata":126,"theme":127},"C# avancé","c-avance",[],{"_id":37},{"name":129,"slug":130,"metadata":131,"theme":132},"C#","c",[],{"_id":37},{"_id":134,"name":135,"slug":136,"metadata":137,"courses":139},"6951e3d6-ef98-4e7c-910f-cce2f408dd0e","Développement mobile","developpement-mobile",{"theme-icon-name":138},"solar:monitor-smartphone-linear",[140],{"name":141,"slug":142,"metadata":143,"theme":144},"Android","android",[],{"_id":134},{"_id":146,"name":147,"slug":148,"metadata":149,"courses":151},"448a5bc8-7a9a-4817-ab01-178c3abb1d35","Développement Web Backend","developpement-web-backend",{"theme-icon-name":150},"solar:server-minimalistic-linear",[152,157,162,167,172,177,182,187,192,197,202,207,212,217,222],{"name":153,"slug":154,"metadata":155,"theme":156},"Symfony 7 – Développement Web complet (de l’initiation à l’approfondissement) ","symfony-7-developpement-web-complet-de-l-initiation-a-l-approfondissement",[],{"_id":146},{"name":158,"slug":159,"metadata":160,"theme":161},"Ruby on Rails – Développement d’applications Web ","ruby-on-rails-developpement-d-applications-web",[],{"_id":146},{"name":163,"slug":164,"metadata":165,"theme":166},"Hibernate et JPA – Maîtriser la persistance des données en Java ","hibernate-et-jpa-maitriser-la-persistance-des-donnees-en-java",[],{"_id":146},{"name":168,"slug":169,"metadata":170,"theme":171},"Django – Développement d’applications Web avec Python ","django-developpement-d-applications-web-avec-python",[],{"_id":146},{"name":173,"slug":174,"metadata":175,"theme":176},"Spring Framework – Développement d’applications d’entreprise ","spring-framework-developpement-d-applications-d-entreprise",[],{"_id":146},{"name":178,"slug":179,"metadata":180,"theme":181},"Spring Framework – Développement avancé et architectures professionnelles ","spring-framework-developpement-avance-et-architectures-professionnelles",[],{"_id":146},{"name":183,"slug":184,"metadata":185,"theme":186},"Drupal 10/11 – Développement avancé Back‑End","drupal-10-11-developpement-avance-back-end",[],{"_id":146},{"name":188,"slug":189,"metadata":190,"theme":191},"REST API – Les fondamentaux  ","rest-api-les-fondamentaux",[],{"_id":146},{"name":193,"slug":194,"metadata":195,"theme":196},"GraphQL – Les fondamentaux  ","graphql-les-fondamentaux",[],{"_id":146},{"name":198,"slug":199,"metadata":200,"theme":201},"REST API : conception robuste, bonnes pratiques et sécurité","rest-api-conception-robuste-bonnes-pratiques-et-securite",[],{"_id":146},{"name":203,"slug":204,"metadata":205,"theme":206},"Structurer et automatiser vos projets avec Apache Maven ","structurer-et-automatiser-vos-projets-avec-apache-maven",[],{"_id":146},{"name":208,"slug":209,"metadata":210,"theme":211},"Développeur Web PHP : création d’applications dynamiques","developpeur-web-php-creation-d-applications-dynamiques",[],{"_id":146},{"name":213,"slug":214,"metadata":215,"theme":216},"Node JS","node-js",[],{"_id":146},{"name":218,"slug":219,"metadata":220,"theme":221},"Spring","spring",[],{"_id":146},{"name":223,"slug":224,"metadata":225,"theme":226},"ASP.NET Core MVC ","asp-net-core-mvc",[],{"_id":146},{"_id":228,"name":229,"slug":230,"metadata":231,"courses":233},"abd712b8-6a6c-4c9b-b382-0aea1eac47d6","Développement Web Frontend","developpement-web-frontend",{"theme-icon-name":232},"mdi:open-in-browser",[234,239,244,249,254,259,264,269,274,279,284,289,294,299,304,309,314,319,324,329,334,339,344],{"name":235,"slug":236,"metadata":237,"theme":238},"HTML, CSS et Responsive Design – Conception de pages Web","html-css-et-responsive-design-conception-de-pages-web",[],{"_id":228},{"name":240,"slug":241,"metadata":242,"theme":243},"CSS avancé et architecture de styles avec Less et Sass ","css-avance-et-architecture-de-styles-avec-less-et-sass",[],{"_id":228},{"name":245,"slug":246,"metadata":247,"theme":248},"Bootstrap 5.x – Créer des interfaces Web responsives ","bootstrap-5-x-creer-des-interfaces-web-responsives",[],{"_id":228},{"name":250,"slug":251,"metadata":252,"theme":253},"HTML et CSS avancés – API, techniques modernes et bonnes pratiques ","html-et-css-avances-api-techniques-modernes-et-bonnes-pratiques",[],{"_id":228},{"name":255,"slug":256,"metadata":257,"theme":258},"JavaScript – Approfondissement des concepts et techniques avancées ","javascript-approfondissement-des-concepts-et-techniques-avancees",[],{"_id":228},{"name":260,"slug":261,"metadata":262,"theme":263}," TypeScript – Approfondir et maîtriser le typage pour des applications robustes ","typescript-approfondir-et-maitriser-le-typage-pour-des-applications-robustes",[],{"_id":228},{"name":265,"slug":266,"metadata":267,"theme":268},"Angular – Techniques avancées pour applications Web ","angular-techniques-avancees-pour-applications-web",[],{"_id":228},{"name":270,"slug":271,"metadata":272,"theme":273},"Angular – Développement d’applications Web interactives ","angular-developpement-d-applications-web-interactives",[],{"_id":228},{"name":275,"slug":276,"metadata":277,"theme":278},"ReactJS – Développement d’applications Web ","reactjs-developpement-d-applications-web",[],{"_id":228},{"name":280,"slug":281,"metadata":282,"theme":283},"ReactJS – Développer des applications avancées ","reactjs-developper-des-applications-avancees",[],{"_id":228},{"name":285,"slug":286,"metadata":287,"theme":288},"Next.js – Développement d’applications Web React modernes ","next-js-developpement-d-applications-web-react-modernes",[],{"_id":228},{"name":290,"slug":291,"metadata":292,"theme":293},"Vue.js 3 – Développement d’applications Web ","vue-js-3-developpement-d-applications-web",[],{"_id":228},{"name":295,"slug":296,"metadata":297,"theme":298},"Vue.js 3 – Techniques avancées pour applications réactives","vue-js-3-techniques-avancees-pour-applications-reactives",[],{"_id":228},{"name":300,"slug":301,"metadata":302,"theme":303},"WordPress – Approche technique pour développeurs ","wordpress-approche-technique-pour-developpeurs",[],{"_id":228},{"name":305,"slug":306,"metadata":307,"theme":308},"Conception et développement Web accessible : fondations et pratiques essentielles","conception-et-developpement-web-accessible-fondations-et-pratiques-essentielles",[],{"_id":228},{"name":310,"slug":311,"metadata":312,"theme":313},"Programmation JavaScript : bases essentielles et manipulation web ","programmation-javascript-bases-essentielles-et-manipulation-web",[],{"_id":228},{"name":315,"slug":316,"metadata":317,"theme":318},"TypeScript","typescript",[],{"_id":228},{"name":320,"slug":321,"metadata":322,"theme":323},"Industrialisation front-end ","industrialisation-front-end",[],{"_id":228},{"name":325,"slug":326,"metadata":327,"theme":328},"React avancé","react-avance",[],{"_id":228},{"name":330,"slug":331,"metadata":332,"theme":333},"Angular avancé","angular-avance",[],{"_id":228},{"name":335,"slug":336,"metadata":337,"theme":338},"Vue JS ","vue-js",[],{"_id":228},{"name":340,"slug":341,"metadata":342,"theme":343},"React ","react",[],{"_id":228},{"name":345,"slug":346,"metadata":347,"theme":348},"Angular","angular",[],{"_id":228},{"_id":350,"name":351,"slug":352,"metadata":353,"courses":355},"69210f90-fd72-449a-876c-723ed8025ca2","Développement Web responsable","developpement-web-responsable",{"theme-icon-name":354},"mdi:search-web",[356],{"name":357,"slug":358,"metadata":359,"theme":360},"Développement web éco-responsable & Backend basse consommation","developpement-web-eco-responsable-backend-basse-consommation",[],{"_id":350},{"_id":362,"name":363,"slug":364,"metadata":365,"courses":367},"81cc5878-3028-4c38-809e-d689f9d814a8","DevOps","devops",{"theme-icon-name":366},"mdi:microsoft-azure-devops",[368,373,378,383,388,393,398,403,408],{"name":369,"slug":370,"metadata":371,"theme":372},"AWS Certified Cloud Practitioner - Fondamentaux","aws-certified-cloud-practitioner-fondamentaux",[],{"_id":362},{"name":374,"slug":375,"metadata":376,"theme":377},"AWS – Principes d’architecture Cloud ","aws-principes-d-architecture-cloud",[],{"_id":362},{"name":379,"slug":380,"metadata":381,"theme":382},"Kibana – Exploration, visualisation et exploration de données ","kibana-exploration-visualisation-et-exploration-de-donnees",[],{"_id":362},{"name":384,"slug":385,"metadata":386,"theme":387},"DevOps – Concepts, pratiques et mise en place ","devops-concepts-pratiques-et-mise-en-place",[],{"_id":362},{"name":389,"slug":390,"metadata":391,"theme":392},"GitLab : gestion de code, collaboration et intégration continue","gitlab-gestion-de-code-collaboration-et-integration-continue",[],{"_id":362},{"name":394,"slug":395,"metadata":396,"theme":397},"Microsoft 365 – Administrer la suite complète ","microsoft-365-administrer-la-suite-complete",[],{"_id":362},{"name":399,"slug":400,"metadata":401,"theme":402},"Terraform","terraform",[],{"_id":362},{"name":404,"slug":405,"metadata":406,"theme":407},"Kubernetes","kubernetes",[],{"_id":362},{"name":409,"slug":410,"metadata":411,"theme":412},"AWS","aws",[],{"_id":362},{"_id":414,"name":415,"slug":416,"metadata":417,"courses":419},"6ed0fa01-28f8-41af-9a81-27a12556e38f","Gestion de projet","gestion-de-projet",{"theme-icon-name":418},"solar:bill-list-linear",[420,425,430,435,440,445,450,455,460],{"name":421,"slug":422,"metadata":423,"theme":424},"Maîtriser Jira pour la gestion de projets agile et collaborative","maitriser-jira-pour-la-gestion-de-projets-agile-et-collaborative",[],{"_id":414},{"name":426,"slug":427,"metadata":428,"theme":429},"Devenir Product Owner et réussir la certification PSPO","devenir-product-owner-et-reussir-la-certification-pspo",[],{"_id":414},{"name":431,"slug":432,"metadata":433,"theme":434},"De chef de projets à manager Agile – Certification Scrum Master (PSM1)","de-chef-de-projets-a-manager-agile-certification-scrum-master-psm1",[],{"_id":414},{"name":436,"slug":437,"metadata":438,"theme":439},"Management et gestion de projets opérationnels","management-et-gestion-de-projets-operationnels",[],{"_id":414},{"name":441,"slug":442,"metadata":443,"theme":444},"Devenir Coach Agile ","devenir-coach-agile",[],{"_id":414},{"name":446,"slug":447,"metadata":448,"theme":449},"Comprendre et appliquer Kanban ","comprendre-et-appliquer-kanban",[],{"_id":414},{"name":451,"slug":452,"metadata":453,"theme":454},"Comprendre la démarche Agile ","comprendre-la-demarche-agile",[],{"_id":414},{"name":456,"slug":457,"metadata":458,"theme":459},"GITLAB : de la gestion de projet aux pipelines avancés","gitlab-de-la-gestion-de-projet-aux-pipelines-avances",[],{"_id":414},{"name":461,"slug":462,"metadata":463,"theme":464},"Méthodes agiles","methodes-agiles",[],{"_id":414},{"_id":466,"name":467,"slug":468,"metadata":469,"courses":471},"1bfd6e41-c2b0-4813-a29b-c9e1c486b5d0","Intelligence Artificielle","intelligence-artificielle",{"theme-icon-name":470},"solar:cpu-bold-duotone",[472,477,482,487,492,497,502,507,512,517],{"name":473,"slug":474,"metadata":475,"theme":476},"L'Intelligence Artificielle appliquée aux tests logiciels : initiation et bonnes pratiques ","l-intelligence-artificielle-appliquee-aux-tests-logiciels-initiation-et-bonnes-pratiques",[],{"_id":466},{"name":478,"slug":479,"metadata":480,"theme":481},"Intelligence artificielle appliquée au développement logiciel et à l’analyse de code","intelligence-artificielle-appliquee-au-developpement-logiciel-et-a-l-analyse-de-code",[],{"_id":466},{"name":483,"slug":484,"metadata":485,"theme":486},"Machine Learning avec Microsoft Azure et Python : de la conception au déploiement de modèles","machine-learning-avec-microsoft-azure-et-python-de-la-conception-au-deploiement-de-modeles",[],{"_id":466},{"name":488,"slug":489,"metadata":490,"theme":491},"MCP (Model Context Protocol) : intégrer des LLM avec des applications et des sources de données","mcp-model-context-protocol-integrer-des-llm-avec-des-applications-et-des-sources-de-donnees",[],{"_id":466},{"name":493,"slug":494,"metadata":495,"theme":496},"Déployer et exploiter une intelligence artificielle open source sur infrastructure locale ","deployer-et-exploiter-une-intelligence-artificielle-open-source-sur-infrastructure-locale",[],{"_id":466},{"name":498,"slug":499,"metadata":500,"theme":501},"Architecture microservices intelligentes : conception, développement et déploiement avec intégration d’Intelligence Artificielle","architecture-microservices-intelligentes-conception-developpement-et-deploiement-avec-integration-d-intelligence-artificielle",[],{"_id":466},{"name":503,"slug":504,"metadata":505,"theme":506},"Ingénierie de solutions d’intelligence artificielle - conception, construction et mise en production","ingenierie-de-solutions-d-intelligence-artificielle-conception-construction-et-mise-en-production",[],{"_id":466},{"name":508,"slug":509,"metadata":510,"theme":511},"Data Science – Concepts de base et mise en pratique ","data-science-concepts-de-base-et-mise-en-pratique",[],{"_id":466},{"name":513,"slug":514,"metadata":515,"theme":516},"Python appliqué aux calculs scientifiques et à l’analyse de données ","python-applique-aux-calculs-scientifiques-et-a-l-analyse-de-donnees",[],{"_id":466},{"name":518,"slug":519,"metadata":520,"theme":521},"Initiation à l’intelligence artificielle et aux principaux outils de Deep Learning ","initiation-a-l-intelligence-artificielle-et-aux-principaux-outils-de-deep-learning",[],{"_id":466},{"_id":523,"name":524,"slug":525,"metadata":526,"courses":528},"174b8e60-d342-450b-a484-35bc04a711fd","Microsoft Azure","microsoft-azure",{"theme-icon-name":527},"mdi:microsoft-azure",[529,534,539,544,549,554,559,564,569],{"name":530,"slug":531,"metadata":532,"theme":533},"Microsoft Azure - Sécurité et réseaux (AZ-700)","microsoft-azure-securite-et-reseaux-az-700",[],{"_id":523},{"name":535,"slug":536,"metadata":537,"theme":538},"Microsoft Azure - Conception de solutions d'infrastructure (AZ305)","microsoft-azure-conception-de-solutions-d-infrastructure-az305",[],{"_id":523},{"name":540,"slug":541,"metadata":542,"theme":543}," Microsoft Azure IA – Concevoir et développer des solutions intelligentes (AI102) ","microsoft-azure-ia-concevoir-et-developper-des-solutions-intelligentes-ai102",[],{"_id":523},{"name":545,"slug":546,"metadata":547,"theme":548},"Microsoft Azure - Conception de solutions d'infrastructure (AZ-305)","microsoft-azure-conception-de-solutions-d-infrastructure-az-305",[],{"_id":523},{"name":550,"slug":551,"metadata":552,"theme":553},"Microsoft Azure AI - Les fondamentaux","microsoft-azure-ai-les-fondamentaux",[],{"_id":523},{"name":555,"slug":556,"metadata":557,"theme":558},"Microsoft Azure - Administrateur (AZ-104) ","microsoft-azure-administrateur-az-104",[],{"_id":523},{"name":560,"slug":561,"metadata":562,"theme":563},"Microsoft Azure - Fondamentaux (AZ-900) ","microsoft-azure-fondamentaux-az-900",[],{"_id":523},{"name":565,"slug":566,"metadata":567,"theme":568},"Microsoft Azure - Développement de solutions (AZ-204) ","microsoft-azure-developpement-de-solutions-az-204",[],{"_id":523},{"name":570,"slug":571,"metadata":572,"theme":573},"Conception et mise en oeuvre de solutions Microsoft DevOps (AZ-400)  ","conception-et-mise-en-oeuvre-de-solutions-microsoft-devops-az-400",[],{"_id":523},{"_id":575,"name":576,"slug":577,"metadata":578,"courses":580,"collectiveGroups":581},"collective-actions-theme","Formations actions collectives","formations-actions-collectives",{"theme-icon-name":579},"mdi:account-group",[],[582],{"themeId":414,"themeName":415,"themeIcon":418,"courses":583},[584,587,590],{"name":441,"slug":442,"metadata":585,"theme":586},[],{"_id":414},{"name":446,"slug":447,"metadata":588,"theme":589},[],{"_id":414},{"name":451,"slug":452,"metadata":591,"theme":592},[],{"_id":414},{"id":594,"name":357,"slug":358,"location":595,"targetAudienceFormatMarkdown":596,"prerequisitesFormatMarkdown":597,"objectivesFormatMarkdown":598,"descriptionFormatMarkdown":599,"teachingMethodsFormatMarkdown":600,"teachingResourcesFormatMarkdown":601,"evaluationMethodsFormatMarkdown":602,"accessibilityFormatMarkdown":603,"accessMethodsFormatMarkdown":604,"minimumParticipants":595,"maximumParticipants":595,"duration":605,"reference":595,"trainerType":595,"updated_at":606,"created_at":607,"price":608,"organizationMode":595,"theme":609,"code":611,"tags":616,"metadata":620},"/api/courses/a1dc2b6b-f2c9-4d43-bd61-4a8e7d856d84",null,"Développeurs web / Chefs de projet technique","-   Maîtrise des bases de JavaScript \n-   Expérience en développement web backend \n-   Node.js en version LTS installé","-   Concevoir et développer des applications Node.js optimisées en ressources CPU et mémoire\n-   Mettre en place des API REST et GraphQL performantes limitant les échanges de données inutiles\n-   Mesurer et réduire l'empreinte environnementale d'un service web \n-   Appliquer les référentiels RGESN et GR491 dans ses projets\n-   Intégrer une démarche d'éco-conception dès la phase de conception d'un projet numérique","--day1--\n\n  \n\n## Comprendre Node.js et les impacts de l’architecture sur la consommation de ressources - 3h30\n\nIntroduction à l'écosystème Node.js et son modèle d'exécution (event loop, I/O non-bloquant)\n\n-   Comprendre la consommation des ressources : CPU, mémoire, I/O\n-   Comparatif des architectures : monolithique vs microservices vs serverless — impacts en termes de ressources\n-   Atelier : analyse du comportement d'une application Node.js avec les outils de diagnostic natifs (node --inspect, clinic.js)\n\n--break--\n\n  \n\n## Écriture de code Node.js performant et optimisé en mémoire - 3h30\n\n-   Gestion avancée des modules et dépendances : réduire le poids applicatif (npm audit, tree-shaking, dépendances inutiles)\n-   Patterns de code efficients : callbacks, Promises, async/await — comparaison des performances\n-   Gestion de la mémoire : fuites mémoire, garbage collector, bonnes pratiques\n-   Atelier pratique : refactoring d'une application existante pour réduire sa consommation mémoire\n\n  \n\n--day2--\n\n## Concevoir des API REST performantes et sobres en ressources - 3h30\n\n-   Principes de conception d'API performantes : pagination, filtrage, projection des données\n-   Mise en cache stratégique : in-memory (Redis), HTTP cache headers, ETags\n-   Limitation des appels inutiles : debouncing côté serveur, gestion des webhooks\n-   Atelier : conception d'une API REST avec Express.js intégrant les mécanismes de cache\n\n--break--\n\n  \n\n## Optimisation avancée des API GraphQL pour limiter la surcharge applicative - 3h30\n\n-   Introduction à GraphQL : avantages en termes de surcharge des données (over-fetching / under-fetching)\n-   Optimisation des resolvers GraphQL : DataLoader, batching des requêtes\n-   Gestion des erreurs et des timeouts pour éviter les processus zombies\n-   Atelier : mise en place d'une API GraphQL avec Apollo Server et DataLoader\n\n--day3--\n\n## Optimiser l’accès aux données et la gestion des bases pour réduire la charge serveur - 3h30\n\n  \n\nOptimisation des requêtes SQL et NoSQL : index, requêtes N+1, agrégations\n\n-   Connection pooling et gestion des connexions persistantes\n-   Stratégies de mise en cache des données (Redis, Memcached) : quand et comment les utiliser\n-   Atelier : audit et optimisation d'un schéma de base de données sur un cas concret\n\n  \n\n  \n\n--break--\n\n  \n\n## Monitoring, profiling et optimisation globale d’une application Node.js - 3h30\n\nMonitoring et observabilité : métriques de performance avec Prometheus, dashboards Grafana\n\n-   Profiling Node.js en production : identifier les goulots d'étranglement\n-   Déploiement et configuration serveur efficiente : compression Gzip/Brotli, configuration Nginx\n-   Atelier final Module 1 : audit complet d'une application Node.js et plan d'optimisation\n\n--day4--\n\n  \n\n## Comprendre l’impact environnemental du numérique et les référentiels d’éco-conception - 3h30\n\n-   Le numérique face à l'urgence climatique : chiffres clés, cycle de vie d'un service numérique, répartition des émissions (terminaux, réseaux, serveurs)\n-   Présentation du référentiel GR491 (Institut du Numérique Responsable) et des RGESN (Référentiel Général d'Écoconception des Services Numériques)\n-   Les labels et certifications : Numérique Responsable, Green IT\n-   Atelier : calcul de l'empreinte carbone d'un site web existant avec des outils dédiés (EcoIndex, Website Carbon Calculator, Lighthouse)\n\n--break--\n\n  \n\n## Mettre en œuvre une éco-conception frontend concrète et mesurable - 3h30\n\n-   Éco-conception frontend : optimisation des assets (images, vidéos, polices), lazy loading, formats modernes (WebP, AVIF)\n-   Réduction du poids des pages : minification, compression, suppression du code mort\n-   Sobriété fonctionnelle : remettre en question les fonctionnalités inutiles, UX sobre\n-   JavaScript responsable : éviter les frameworks surdimensionnés, réduire le temps d'exécution client\n-   Atelier : optimisation d'une page web existante — objectif réduction de 40% du poids de page\n\n--day5--\n\n  \n\n## Concevoir une architecture et une infrastructure numériques durables - 3h30\n\n-   Hébergement éco-responsable : critères de choix d'un hébergeur vert (PUE, énergies renouvelables, localisation des datacenters)\n-   Architecture applicative durable : serverless vs conteneurisation, auto-scaling et dimensionnement au juste nécessaire\n-   Le lien avec le Module 1 : comment les API optimisées contribuent directement à la réduction de l'empreinte carbone\n-   CDN et optimisation du réseau : réduire la distance parcourue par les données\n-   Atelier : comparatif d'hébergeurs et simulation d'un choix d'infrastructure pour un projet type\n\n--break--\n\n  \n\n## Intégrer l’éco-conception dans les projets et passer à l’action - 3h30\n\n-   Intégrer l'éco-conception dans le cycle de développement : Green DevOps, CI/CD sobre\n-   Mesure et suivi dans le temps : intégrer des KPIs environnementaux dans les projets (budget carbone, score EcoIndex cible)\n-   Sensibiliser les parties prenantes : comment embarquer clients, PO, designers dans la démarche\n-   Atelier final de synthèse : chaque participant définit un plan d'action éco-conception applicable à son propre contexte professionnel\n-   Tour de table, évaluation de la formation et remise des attestations","Nos formations, équilibrées entre théorie (50%) et pratique (50%), offrent un apprentissage interactif grâce à des méthodes variées comme les travaux pratiques, les mises en situation et les démonstrations. Des QCM réguliers assurent le suivi des acquis.\n\nVariables suivant les formations, les moyens techniques mis en oeuvre sont :\n\nOrdinateurs Mac ou PC, connexion internet fibre, tableau blanc ou écran (pour le distanciel).\n\nEn cas de formation intra sur site externe à Le Code, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires\n\n(équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\n\n  \n\nIls comprennent des supports de cours, des présentations, des fiches pratiques, des études de cas, des exercices applicatifs ainsi que des QCM d’entraînement selon la formation. (adapté au choix du formateur)\n\n  \n\nLes formations s’appuient sur des moyens techniques adaptés : ordinateurs, logiciels professionnels, connexion internet, écran ou vidéoprojecteur, ainsi que des outils collaboratifs et de visioconférence pour les formations à distance.\n\n  \n\nL’ensemble des supports pédagogiques est accessible pendant et après la formation afin de favoriser l’appropriation et la mise en pratique des compétences acquises.","En amont de la formation, un recueil des besoins permet de récolter des informations sur le stagiaire et ses attentes. L’évaluation se fait en cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation et/ou un examen.\n\nUn suivi de qualité est effectué grâce à nos sessions en groupe restreint (entre 2 et 9 participants maximum). Le stagiaire émargera par demi-journée et recevra une attestation de formation.","Nous informons l'ensemble de nos clients et stagiaires que nous sommes dans la capacité d’adapter les sessions selon les handicaps et les situations spécifiques. Nous nous engageons à répondre à toutes vos demandes sous un délai de 48h\n\nouvré.","Si l’une de nos formations vous intéresse, contactez-nous au +33 4 93 65 34 24 ou à l’adresse mail contact@m2g-intellect.fr. Selon votre besoin et vos attentes, nous organiserons un échange téléphonique avec le formateur pressenti afin d’adapter la\n\nformation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.","35.00","2026-04-06T16:07:59+00:00","2026-02-23T16:02:41+00:00","4500.00",{"id":610,"name":351,"slug":352},"/api/themes/69210f90-fd72-449a-876c-723ed8025ca2",{"id":612,"label":613,"domain":614},"/api/training_specialities/94","100 - Formations générales",{"label":615},"10 - Formations générales",[617],{"id":618,"name":619},"7732139d-6025-4fde-b145-39298ced3408","MENUFEATURED",{"desc-accroche":621,"Description":622,"icon-color":623,"icon-name":624,"code-langage":625,"code-snippet":626,"courte-description":627,"titre-accroche":628},"Maîtrisez les principes du Green IT appliqués au développement web : optimisation des requêtes, réduction de l'empreinte carbone, architecture backend basse consommation et bonnes pratiques d'éco-conception.","Le développement web éco-responsable est une approche qui vise à réduire l'empreinte environnementale des applications numériques tout au long de leur cycle de vie. Cette formation couvre les principes du Green IT appliqués concrètement au métier de développeur : optimisation du poids des pages, réduction des appels réseau, choix d'architectures backend sobres en ressources et mise en place de stratégies de cache et de compression efficaces. Vous apprendrez à mesurer l'impact carbone de vos applications à l'aide d'outils dédiés, à concevoir des API légères qui ne transfèrent que les données nécessaires, et à adopter des patterns de code qui minimisent la consommation CPU et mémoire côté serveur. L'objectif : livrer des applications rapides, accessibles et durables, sans sacrifier l'expérience utilisateur.","#2E7D32","mdi:leaf","javascript","import compression from 'compression';\nimport express from 'express';\n\nconst app = express();\n\napp.use(compression());\n\napp.get('/api/data', async (req, res) => {\n\tconst fields = req.query.fields?.split(',');\n\tconst data = await fetchOnly(fields);\n\tres.set('Cache-Control', 'public, max-age=86400');\n\tres.json(data);\n});","Formation aux bonnes pratiques de Green IT appliquées au développement web : éco-conception frontend, API sobres et architecture backend basse consommation.","Apprenez à concevoir des applications web sobres, performantes et respectueuses de l'environnement, du frontend au backend","\u003Cpre class=\"hljs\">\u003Ccode class=\"language-javascript\">\u003Cspan class=\"hljs-keyword\">import\u003C/span> compression \u003Cspan class=\"hljs-keyword\">from\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;compression&#x27;\u003C/span>;\n\u003Cspan class=\"hljs-keyword\">import\u003C/span> express \u003Cspan class=\"hljs-keyword\">from\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;express&#x27;\u003C/span>;\n\n\u003Cspan class=\"hljs-keyword\">const\u003C/span> app = \u003Cspan class=\"hljs-title function_\">express\u003C/span>();\n\napp.\u003Cspan class=\"hljs-title function_\">use\u003C/span>(\u003Cspan class=\"hljs-title function_\">compression\u003C/span>());\n\napp.\u003Cspan class=\"hljs-title function_\">get\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;/api/data&#x27;\u003C/span>, \u003Cspan class=\"hljs-title function_\">async\u003C/span> (req, res) =&gt; {\n\t\u003Cspan class=\"hljs-keyword\">const\u003C/span> fields = req.\u003Cspan class=\"hljs-property\">query\u003C/span>.\u003Cspan class=\"hljs-property\">fields\u003C/span>?.\u003Cspan class=\"hljs-title function_\">split\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;,&#x27;\u003C/span>);\n\t\u003Cspan class=\"hljs-keyword\">const\u003C/span> data = \u003Cspan class=\"hljs-keyword\">await\u003C/span> \u003Cspan class=\"hljs-title function_\">fetchOnly\u003C/span>(fields);\n\tres.\u003Cspan class=\"hljs-title function_\">set\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;Cache-Control&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;public, max-age=86400&#x27;\u003C/span>);\n\tres.\u003Cspan class=\"hljs-title function_\">json\u003C/span>(data);\n});\u003C/code>\u003C/pre>",1778426024286]