--- sidebar_position: 2 title: Déroulement --- ## Présentation de Blazor * Etapes * Structure * Pages * Navigation * Emplacement du code * Binding * Use Html / Css / JS ## Créer un nouveau projet Blazor Server * Etapes * Création d'un nouveau projet avec Visual Studio ## Afficher des données avec Blazor * Etapes * Création d'une nouvelle page * Génération de fausse données * Utiliser les données * Utiliser un tableau HTML * Utiliser Blazorise * Utiliser la pagination avec Blazorise * Notions * Layout * Serialization * Événements de cycle de vie * NuGet ## Ajouter un nouvel item * Etapes * Stocker nos données dans le LocalStorage * Création d'une nouvelle page * Ajouter un bouton `Ajouter` * Création du model d'ajout * Création du formulaire * Redirection vers la page de liste * Affichage de l'image téléchargé * Notions * Blazor Storage * Routage * Data Annotation * Formulaire et validation * Uri et assistance d’état de navigation ## DI & IOC * Etapes * Création d'un service de données * Notions * Injection de dépendances (DI) * Inversion de contrôle (IOC) ## Editer un item * Etapes * Modification du service de données * Ajouter l'action Editer * Création page editer * Création du formulaire d'édition * Utilisation du modèle * Utiliser le Pattern Factory * Notions * Paramètres d'URL * Paramètres de composant * Factory Pattern ## Supprimer un item * Etapes * Modification du service de données * Ajouter l'action Supprimer * Installer Blazored.Modal * Création d'une popup de confirmation * Notions * Paramètres en cascade ## Globalisation & Localisation * Etapes * Sélection de la langue utilisateur * Traduire le site grâce aux ressources * Notions * Contrôleurs * Fichiers de ressources * Culture ## Composant Razor * Etapes * Création d'un composant générique * Création d'un composant complexe * Description du composant * Classes annexe du composant * Création de l'élément du composant `item` * Création de l'élément du composant `craft` * Utilisation du composant * Notions * RenderFragment * Event handling * IJSRuntime * CascadingValue & CascadingParameter ## API * Etapes * Effectuer des requêtes HTTP * Notions * IHttpClientFactory ## Configuration * Etapes * Utilisation de la configuration ## Logger * Etapes * Utilisation de logs :::info Partie Bonus (susceptible d'évoluer dans le temps) ::: ## Utilisation API graphQL / Grpc * Etapes * Gestion de filtres ## Utilisation Websocket * Etapes * Notification Client ## Authentication * Etapes * Création d'une page d'authentification * Utiliser l'authentification avec les API ## Divers * Etapes * Dockerisation du projet ou d'une partie du projet * Utilisation SonarQube * Utilisation OpenId Connect et/ou OAuth * Mise en place d'un serveur d'identité (Identity Server 4 par exemple) * MVVM