Le Master d’Université Spécialisée : Génie Logiciel : Développement Full Stack, accréditée par l’Université Sultan Moulay Slimane – ENSA Khouribga. Ce Master forme des experts en développement logiciel, architecture des systèmes d’information et ingénierie logicielle. Il met l’accent sur les méthodes agiles, l’optimisation des performances et les pratiques DevOps, garantissant aux étudiants une expertise complète en développement Full Stack et gestion des infrastructures modernes.
Cette formation permet aux étudiants de :
✅ Acquérir une expertise avancée en développement web et mobile.
✅ Maîtriser les frameworks et technologies modernes pour le développement Full Stack.
✅ Optimiser la gestion des bases de données et leur intégration.
✅ Appliquer les meilleures pratiques de génie logiciel (SOLID, Design Patterns, Clean Code).
✅ Développer et déployer des solutions Cloud et DevOps avec des outils professionnels.
✅ Comprendre et exploiter les méthodologies agiles pour la gestion de projet.
🎯 Développer et maintenir des applications évolutives et performantes.
🎯 Concevoir des architectures logicielles robustes et maintenables.
🎯 Implémenter des solutions DevOps pour l’automatisation et l’optimisation du développement.
🎯 Gérer des bases de données relationnelles et NoSQL.
🎯 Développer des solutions analytiques et décisionnelles avec Power BI.
✔️ Maîtriser la syntaxe du langage Java et ses concepts fondamentaux.
✔️ Appliquer la programmation orientée objet (encapsulation, héritage, polymorphisme).
✔️ Utiliser efficacement les collections pour manipuler des ensembles de données.
✔️ Développer des applications robustes et bien structurées en Java.
✔️ Maîtriser la modélisation relationnelle et le langage SQL sous Oracle.
✔️ Gérer les transactions, les vues, les index et les procédures stockées.
✔️ Optimiser les performances des bases Oracle pour des cas d’usage professionnels.
✔️ Assurer la sécurité, l’intégrité et la sauvegarde des données.
✔️ Comprendre le modèle NoSQL et les spécificités de MongoDB.
✔️ Effectuer des opérations CRUD sur des documents JSON.
✔️ Utiliser l’agrégation et les index pour optimiser les requêtes.
✔️ Mettre en œuvre des architectures distribuées avec réplication et sharding.
✔️ Modéliser les besoins fonctionnels avec les cas d’utilisation (Use case).
✔️ Concevoir des diagrammes de classes pour structurer les entités métier.
✔️ Utiliser les diagrammes de séquence pour représenter les interactions dynamiques.
✔️ Adopter UML comme outil de communication entre développeurs et analystes.
✔️ Développer des applications web dynamiques avec PHP.
✔️ Interagir avec des bases de données via PHP (CRUD avec MySQL).
✔️ Gérer les sessions, formulaires et cookies pour personnaliser l’expérience utilisateur.
✔️ Adopter des pratiques sécurisées et structurées en développement PHP.
✔️ Gérer les erreurs à l’aide du système d’exceptions en Java.
✔️ Utiliser les types énumérés pour représenter des constantes typées.
✔️ Accéder à des bases de données relationnelles avec JDBC.
✔️ Écrire des programmes Java avancés connectés et résilients.
✔️ Développer des applications web côté serveur avec Java EE.
✔️ Utiliser les Servlets et Thymeleaf pour la gestion des vues et des requêtes HTTP.
✔️ Intégrer JPA pour la persistance des données.
✔️ Concevoir des applications MVC robustes et maintenables.
✔️ Comprendre les étapes du cycle de vie logiciel classique (cascade, V).
✔️ Appliquer les méthodes agiles (Scrum, XP) pour gérer des projets.
✔️ Collaborer efficacement en équipe grâce à des outils et rituels agiles.
✔️ Adapter les méthodes en fonction du contexte projet et client.
✔️ Créer des applications Java modernes avec Spring Boot.
✔️ Implémenter une architecture MVC avec Spring Web.
✔️ Gérer la persistance avec Spring Data JPA.
✔️ Automatiser la configuration grâce au principe de convention sur configuration.
✔️ Développer des interfaces dynamiques avec Angular.
✔️ Utiliser TypeScript pour un code structuré, typé et maintenable.
✔️ Créer des composants réutilisables et des services Angular.
✔️ Communiquer avec des API REST et gérer les états d’application.
✔️ Développer des APIs REST performantes avec NodeJS et ExpressJS.
✔️ Structurer une architecture backend modulaire et sécurisée.
✔️ Gérer les middlewares, les routes et la persistance des données.
✔️ Adopter les bonnes pratiques du développement backend JS.
✔️ Comprendre les enjeux sociaux, économiques et éthiques du numérique.
✔️ Identifier les transformations numériques dans différents secteurs.
✔️ Analyser l’impact des technologies émergentes (IA, IoT, Big Data).
✔️ Favoriser un usage responsable, sécurisé et critique du numérique.
✔️ Maîtriser les concepts de virtualisation et de cloud computing.
✔️ Utiliser des outils comme VMware, VirtualBox, AWS ou Azure.
✔️ Déployer des machines virtuelles et des environnements cloud.
✔️ Assurer la sécurité, la disponibilité et la scalabilité des services virtualisés.
✔️ Collecter, transformer et visualiser des données avec Power BI.
✔️ Créer des tableaux de bord interactifs pour la prise de décision.
✔️ Utiliser DAX pour des analyses avancées.
✔️ Connecter Power BI à différentes sources de données.
✔️ Adopter les principes de Clean Code pour un code lisible et maintenable.
✔️ Appliquer les principes SOLID pour une conception orientée objet efficace.
✔️ Utiliser les design patterns pour résoudre des problèmes récurrents.
✔️ Structurer des projets logiciels de manière professionnelle.
✔️ Mettre en place une chaîne d’intégration et de livraison continues (CI/CD).
✔️ Utiliser Maven pour la gestion de projet Java et des dépendances.
✔️ Automatiser les tests et déploiements avec Jenkins et Docker.
✔️ Garantir la qualité logicielle avec Selenium et SonarQube.
✔️ Développer des applications mobiles natives avec Android Studio.
✔️ Concevoir des interfaces responsives avec XML et Java/Kotlin.
✔️ Gérer les cycles de vie des activités et les interactions utilisateur.
✔️ Accéder aux fonctionnalités du mobile (GPS, capteurs, fichiers).
✔️ Créer des applications mobiles multiplateformes avec React Native.
✔️ Utiliser les composants natifs pour une expérience utilisateur fluide.
✔️ Gérer la navigation, les états et les appels API dans une app mobile.
✔️ Déployer des applications React Native sur Android et iOS.
✔ Identifier une problématique complexe liée au développement d’applications web ou mobiles en environnement full stack.
✔ Concevoir une architecture logicielle robuste incluant frontend, backend, base de données et API.
✔ Mettre en œuvre des technologies modernes (frameworks JS, microservices, CI/CD, conteneurisation, etc.).
✔ Garantir la qualité du code, la performance de l’application et une excellente expérience utilisateur (UX/UI).
✔ Documenter l’ensemble du processus de développement dans un mémoire structuré et présenter le projet devant un jury technique.
Les étudiants acquerront une expertise approfondie en développement logiciel, couvrant l’ensemble du cycle de vie des applications, du front-end au back-end. Ils maîtriseront des technologies modernes telles que les frameworks web, les bases de données, les architectures cloud et le DevOps. Dans un contexte où la transformation numérique accélère l’innovation, ces compétences seront essentielles pour concevoir des solutions logicielles performantes, évolutives et sécurisées.
Les étudiants participent à des projets réels pour appliquer les concepts appris en classe.
Formation actualisée selon les évolutions des technologies Full Stack, DevOps et Cloud.
Enseignement dispensé par des professionnels et chercheurs du domaine.
Les frais de la formation sont de 50.000 DH 40.000 DH, à payer en deux tranches chaque année :
Pr Hafidi IMAD
[email protected]
École Nationale des Sciences Appliquées Khouribga
Bd Béni Amir, BP 77
Khouribga – Maroc
Le dossier d’inscription se compose des pièces suivantes :
We never send you spam, we give you a great chance. You can unsubscribe anytime