[{"data":1,"prerenderedAt":45},["ShallowReactive",2],{"course-developpement-mobile-multiplateforme":3,"highlight-dart-class ProductCard ex":44},{"id":4,"name":5,"slug":6,"location":7,"targetAudienceFormatMarkdown":8,"prerequisitesFormatMarkdown":9,"objectivesFormatMarkdown":10,"descriptionFormatMarkdown":11,"teachingMethodsFormatMarkdown":12,"teachingResourcesFormatMarkdown":13,"evaluationMethodsFormatMarkdown":14,"accessibilityFormatMarkdown":15,"accessMethodsFormatMarkdown":16,"minimumParticipants":7,"maximumParticipants":7,"duration":17,"reference":18,"trainerType":7,"updated_at":19,"created_at":20,"price":21,"organizationMode":22,"theme":25,"code":29,"tags":34,"metadata":35},"/api/courses/0b6dd7ca-b298-11f1-a993-d8ca06000363","Développement mobile multiplateforme","developpement-mobile-multiplateforme",null,"Développeurs souhaitant produire des applications mobiles pour iOS et Android à partir d'une base de code unique.","Pratique d'un langage de programmation objet. Connaissance de JavaScript utile pour le volet React Native.","Développer une application mobile iOS et Android avec Flutter ou React Native.","--day1--\n\n## Choisir une approche\n\n-   Natif, multiplateforme, web progressif ; comparaison Flutter, React Native, Kotlin Multiplatform ; critères de décision ; installation de l'environnement.\n\n--break--\n\n## Premiers écrans\n\n-   Structure d'un projet ; composants et widgets d'interface ; disposition et styles ; rechargement à chaud.\n\n--day2--\n\n## Navigation et état\n\n-   Navigation entre écrans et passage de paramètres ; gestion d'état locale et partagée ; formulaires et validation.\n\n--break--\n\n## Données et API\n\n-   Appels réseau et gestion des erreurs ; stockage local ; cache et mode hors ligne ; sérialisation.\n\n--day3--\n\n## Fonctions natives\n\n-   Accès aux capteurs, caméra, géolocalisation ; permissions ; notifications ; modules natifs et passerelles.\n\n--break--\n\n## Qualité et performance\n\n-   Tests unitaires et de widgets ; profilage et fluidité ; adaptation aux tailles d'écran ; accessibilité mobile.\n\n--day4--\n\n## Publication\n\n-   Signature et configuration des builds ; App Store et Google Play : exigences et processus ; distribution interne ; mises à jour.\n\n--break--\n\n## Projet\n\n-   Réalisation et restitution d'une application complète ; pistes d'industrialisation (CI mobile, tests sur parc d'appareils).","Présentiel, distanciel, hybride","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\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\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\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 ouvré.","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 formation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.","28.00","L1-DEV-22","2026-09-18T09:45:10+00:00","2026-09-17T15:02:32+00:00","2510.00",{"id":23,"name":24},"/api/organization_mode_types/6","HYBRID",{"id":26,"name":27,"slug":28},"/api/themes/0ac148c3-b298-11f1-a993-d8ca06000363","Développement logiciel informatique et web","developpement-logiciel-informatique-et-web",{"id":30,"label":31,"domain":32},"/api/training_specialities/163","326 - Informatique, traitement de l’information, réseaux de transmission des données",{"label":33},"32 - Communication et information",[],{"desc-accroche":36,"Description":37,"icon-color":38,"icon-name":39,"code-langage":40,"code-snippet":41,"courte-description":42,"titre-accroche":43},"Comparez les approches multiplateformes puis pratiquez en profondeur Flutter ou React Native : construction d'interfaces, navigation, accès aux données et publication sur les magasins d'applications.","Cette formation permet aux développeurs de produire des applications mobiles pour iOS et Android à partir d'une base de code unique. Elle débute par un panorama comparatif des solutions multiplateformes disponibles, puis se concentre sur une mise en pratique approfondie de Flutter ou de React Native, selon le profil du groupe. Vous construisez des interfaces avec les composants natifs de la solution choisie, mettez en place la navigation entre écrans, gérez l'accès aux données locales et distantes, et traitez les spécificités de chaque plateforme (permissions, cycle de vie, notifications). La formation se conclut par la préparation et la publication de l'application sur les magasins Google Play et App Store. Elle s'adresse aux développeurs disposant d'une pratique d'un langage de programmation objet, la connaissance de JavaScript étant utile pour le volet React Native.","#3DDC84","mdi:android","dart","class ProductCard extends StatelessWidget {\n  final Product product;\n  const ProductCard({required this.product});\n\n  @override\n  Widget build(BuildContext context) {\n    return Card(\n      child: ListTile(\n        title: Text(product.name),\n        trailing: Text('${product.price} €'),\n      ),\n    );\n  }\n}","Formation au développement mobile multiplateforme avec Flutter ou React Native : interface, navigation, données et publication d'une application iOS et Android.","Développez des applications mobiles iOS et Android à partir d'une seule base de code avec Flutter ou React Native, jusqu'à la publication.","\u003Cpre class=\"hljs\">\u003Ccode class=\"language-kotlin\">\u003Cspan class=\"hljs-keyword\">class\u003C/span> \u003Cspan class=\"hljs-title class_\">ProductCard\u003C/span> \u003Cspan class=\"hljs-title\">extends\u003C/span> \u003Cspan class=\"hljs-title\">StatelessWidget\u003C/span> {\n  \u003Cspan class=\"hljs-keyword\">final\u003C/span> Product product;\n  \u003Cspan class=\"hljs-keyword\">const\u003C/span> ProductCard({required \u003Cspan class=\"hljs-keyword\">this\u003C/span>.product});\n\n  \u003Cspan class=\"hljs-meta\">@override\u003C/span>\n  Widget build(BuildContext context) {\n    \u003Cspan class=\"hljs-keyword\">return\u003C/span> Card(\n      child: ListTile(\n        title: Text(product.name),\n        trailing: Text(\u003Cspan class=\"hljs-string\">&#x27;${product.price} €&#x27;\u003C/span>),\n      ),\n    );\n  }\n}\u003C/code>\u003C/pre>",1789717718352]