
Cours MEAN Stack : Créer un clone de Trello
Construisez un clone de Trello de qualité professionnelle à partir de zéro en utilisant la pile MEAN complète — MongoDB, Express, Angular et Node.js. Maîtrisez la collaboration en temps réel avec Socket.IO, l'authentification sécurisée avec JWT et la gestion d'état évolutive avec NgRx. Livrez une application conteneurisée en direct que vous pourrez montrer à n'importe quel employeur.
Ce que vous allez apprendre:
Construisez un tableau Kanban entièrement fonctionnel avec la gestion des cartes par glisser-déposer entre les listes.
Configurez une structure de projet monorepo avec des paramètres TypeScript partagés pour le client et le serveur.
Implémentez l'authentification basée sur JWT avec un contrôle d'accès basé sur les rôles pour les membres du tableau.
Intégrez Socket.IO pour diffuser les mises à jour du tableau en direct entre plusieurs utilisateurs connectés.
Gérez l'état complexe de l'application de manière prévisible à l'aide du store, des actions et des effets NgRx.
Conteneurisez et déployez l'application complète de la pile MEAN à l'aide de Docker et de GitHub Actions.
Comment vous étudiez de façon pratique Cours MEAN Stack : Créer un clone de Trello
Comment vous pratiquez Cours MEAN Stack : Créer un clone de Trello
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondations de la pile MEAN et configuration du projet
Fondations de la pile MEAN et configuration du projet
Leçon 1 • Initialisation de la structure du projet monorepo
Crée des répertoires séparés pour le client et le serveur au sein d'un même dépôt. Établit les conventions de dossiers utilisées tout au long du cours.
Leçon 2 • Compréhension de l'architecture de la pile MEAN
Couvre les rôles de MongoDB, Express, Angular et Node.js ainsi que leur interconnexion. Fournit le modèle mental nécessaire avant d'écrire du code.
Leçon 3 • Variables d'environnement et gestion de la configuration
Présentation de dotenv pour les secrets et les paramètres spécifiques à l'environnement. Empêche que des identifiants codés en dur n'entrent dans le contrôle de source.
Leçon 4 • Installation et configuration des outils de développement
Installe Node.js, Angular CLI, MongoDB et VS Code avec les extensions essentielles. Garantit un environnement cohérent pour tous les chapitres suivants.
Chapitre 2MasquerCacher les détailsVoir les détailsModélisation des données MongoDB pour un tableau Kanban
Modélisation des données MongoDB pour un tableau Kanban
Leçon 1 • Validation des schémas et hooks d'intergiciel
Ajoute des validateurs Mongoose et des hooks pre/post pour appliquer les règles métier au niveau du modèle. Réduit les données invalides avant qu'elles n'atteignent la base de données.
Leçon 2 • Conception des schémas de tableau, liste et carte
Crée des schémas Mongoose pour les trois entités principales de Trello avec des champs typés. Établit les contrats de données consommés par chaque point d'accès API.
Leçon 3 • Indexation et optimisation des requêtes
Applique des index composés et sur un seul champ pour prendre en charge les recherches rapides de tableaux et de cartes. Prépare la base de données pour les charges de requêtes en temps réel.
Leçon 4 • Modélisation de données relationnelle vs. document
Met en contraste la normalisation SQL avec les stratégies d'incorporation et de référencement de MongoDB. Cadre les décisions de conception prises tout au long de ce chapitre.
Chapitre 3MasquerCacher les détailsVoir les détailsConstruction de l'API REST Express
Construction de l'API REST Express
Leçon 1 • Test de l'API avec Postman et Jest
Teste tous les points d'accès manuellement dans Postman et les automatise avec Jest et Supertest. Valide l'exactitude de l'API avant l'intégration du frontend.
Leçon 2 • Points d'accès CRUD pour les tableaux, listes et cartes
Construit des points d'accès RESTful couvrant la création, la lecture, la mise à jour et la suppression pour les trois entités. Connecte les contrôleurs aux modèles Mongoose établis au chapitre 2.
Leçon 3 • Validation des entrées avec Express-Validator
Valide et assainit les corps de requête entrants avant qu'ils n'atteignent la base de données. Empêche les données malformées et les tentatives d'injection à la limite de l'API.
Leçon 4 • Structure de l'application Express et routage
Organise les routes, les contrôleurs et les services dans une architecture en couches. Maintient la séparation des préoccupations pour la maintenabilité à mesure que l'API grandit.
Leçon 5 • Intergiciel global et gestion des erreurs
Ajoute la journalisation des requêtes, l'analyse JSON, CORS et un gestionnaire d'erreurs centralisé. Garantit des réponses API cohérentes et un débogage plus facile.
Chapitre 4MasquerCacher les détailsVoir les détailsAuthentification et autorisation JWT
Authentification et autorisation JWT
Leçon 1 • Points d'accès d'enregistrement et de connexion
Construit les routes /auth/register et /auth/login qui renvoient des JWT signés en cas de succès. Connecte la création d'utilisateurs et la vérification des identifiants au cycle de vie du jeton.
Leçon 2 • Intergiciel JWT et protection des routes
Crée un intergiciel Express qui vérifie les jetons et attache l'utilisateur à la requête. Protège toutes les routes de tableaux, listes et cartes contre l'accès non authentifié.
Leçon 3 • Schéma utilisateur et hachage de mot de passe
Crée le modèle Mongoose User et hache les mots de passe avec bcrypt avant le stockage. Établit la base d'identifiants sécurisée pour tous les flux d'authentification.
Leçon 4 • Contrôle d'accès basé sur les rôles pour les tableaux
Ajoute les rôles de propriétaire et de membre aux tableaux et applique les autorisations dans les contrôleurs. Empêche les utilisateurs non autorisés de modifier les tableaux dont ils ne sont pas propriétaires.
Chapitre 5MasquerCacher les détailsVoir les détailsArchitecture du frontend Angular et routage
Architecture du frontend Angular et routage
Leçon 1 • Gestion d'état avec NgRx
Présente le store NgRx, les actions, les réducteurs et les effets pour gérer l'état des tableaux et des cartes. Fournit un conteneur d'état prévisible pour les mises à jour en temps réel.
Leçon 2 • Conception des modules Angular et des modules de fonctionnalité
Organise l'application en modules core, shared et feature suivant les bonnes pratiques Angular. Réduit la taille du bundle et améliore la découvrabilité du code.
Leçon 3 • Client HTTP et intercepteurs
Configure HttpClientModule et un intercepteur qui attache les en-têtes JWT à chaque requête. Centralise l'injection du jeton d'authentification dans tous les appels API.
Leçon 4 • Gardes d'authentification et protection des routes
Implémente des gardes CanActivate qui redirigent les utilisateurs non authentifiés vers la page de connexion. Reflète la couche d'autorisation backend côté client.
Leçon 5 • Configuration du routage chargé à la demande
Configure le routeur Angular avec des routes chargées à la demande pour les tableaux, l'authentification et le tableau de bord. Améliore les performances de chargement initial en fractionnant le bundle.
Chapitre 6MasquerCacher les détailsVoir les détailsConstruction des composants d'interface utilisateur du tableau Kanban
Construction des composants d'interface utilisateur du tableau Kanban
Leçon 1 • Formulaires réactifs et validation
Implémente les formulaires réactifs Angular pour tous les formulaires de création et d'édition avec validation côté client. Reflète les règles de validation côté serveur pour une expérience utilisateur cohérente.
Leçon 2 • Glisser-déposer avec Angular CDK
Intègre Angular CDK DragDrop pour permettre le réordonnancement des cartes au sein et entre les listes. Déclenche des actions de réorganisation vers NgRx et se synchronise avec le backend.
Leçon 3 • Composants du tableau de bord et de navigation du tableau
Construit le tableau de bord d'accueil listant tous les tableaux de l'utilisateur et une barre de navigation supérieure. Connecte les composants aux sélecteurs NgRx et aux appels API du tableau.
Leçon 4 • Vue du tableau avec listes et cartes
Affiche un seul tableau avec ses listes et cartes dans une disposition horizontale défilable. Récupère et normalise les données du tableau depuis le store NgRx.
Leçon 5 • Modal de détail de carte et édition
Crée une boîte de dialogue modale pour visualiser et modifier les détails de la carte, y compris la description et les étiquettes. Persiste les modifications via des appels API PATCH et les effets NgRx.
Chapitre 7MasquerCacher les détailsVoir les détailsFonctionnalités en temps réel avec Socket.IO
Fonctionnalités en temps réel avec Socket.IO
Leçon 1 • Mise à jour du store NgRx à partir des événements Socket
Déclenche des actions NgRx à partir des abonnements aux événements socket pour mettre à jour l'état du tableau en temps réel. Fusionne les flux de données REST et WebSocket en une seule source d'état.
Leçon 2 • Émission d'événements depuis les points d'accès API
Déclenche les émissions socket depuis les contrôleurs Express après des écritures réussies en base de données. Maintient les couches REST et WebSocket synchronisées à chaque mutation.
Leçon 3 • Configuration du serveur Socket.IO et espaces de noms
Attache Socket.IO au serveur HTTP Express existant et définit des espaces de noms par tableau. Isole les événements en temps réel par tableau pour une diffusion efficace.
Leçon 4 • Indicateurs de présence et curseurs en direct
Montre quels utilisateurs consultent actuellement un tableau à l'aide d'événements de présence et d'indicateurs d'avatar. Ajoute une conscience collaborative sans bloquer le flux de données principal.
Leçon 5 • Service Socket Angular et intégration RxJS
Crée un service Angular qui encapsule Socket.IO-client et expose les flux d'événements sous forme d'Observables. Permet un abonnement réactif aux événements du tableau en temps réel.
Chapitre 8MasquerCacher les détailsVoir les détailsDéploiement, performances et préparation à la production
Déploiement, performances et préparation à la production
Leçon 1 • Journalisation, surveillance et suivi des erreurs
Intègre une journalisation structurée, une surveillance de la disponibilité et un traceur d'erreurs frontend en production. Fournit une visibilité sur les pannes avant que les utilisateurs ne les signalent.
Leçon 2 • Dockérisation de l'application de la pile MEAN
Écrit des Dockerfiles pour la construction Angular et le serveur Express et les compose avec MongoDB. Produit des images de conteneur reproductibles pour toute cible de déploiement.
Leçon 3 • Pipeline IC/DC avec GitHub Actions
Automatise le linting, les tests, la construction et l'envoi d'images Docker sur chaque pull request. Réduit les étapes de déploiement manuelles et détecte les régressions tôt.
Leçon 4 • Déploiement cloud et configuration de l'environnement
Déploie les conteneurs sur une plateforme cloud et configure les variables d'environnement de production. Rend l'application accessible publiquement avec une connexion de base de données gérée.
Leçon 5 • Optimisation de la construction Angular
Applique les indicateurs de construction de production, le chargement différé et l'analyse du bundle pour minimiser la taille de la charge utile. Améliore le temps nécessaire à l'interactivité pour les utilisateurs finaux sur tous les appareils.
Votre certificat valide de réussite
Ce cours est pour vous :
Développeur JavaScript junior 
: prêt à dépasser le stade des petits exercices tutoriels.
Développeur frontend 
: souhaite maîtriser également les couches backend et base de données.
Personne en reconversion professionnelle 
: possède des compétences fondamentales en codage et a besoin d'une pièce maîtresse pour son portfolio.
Étudiant en informatique 
: cherche à appliquer la théorie des cours à un produit réel.
Développeur web freelance 
: a besoin de proposer à ses clients une solution full-stack moderne.
Développeur backend 
: souhaite acquérir une expérience pratique dans la création d'interfaces Angular réactives.
Ce que disent nos élèves
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable au Maroc ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















