浏览代码

NEW Mise à jour du Readme

julien.legrand 8 年之前
父节点
当前提交
3b4b8749f1
共有 1 个文件被更改,包括 30 次插入17 次删除
  1. 30 17
      README.md

+ 30 - 17
README.md

@@ -45,7 +45,7 @@ v0.1 19/07/2016 (Julien Legrand) : 1
 3.2. Option : il est possible d'ajouter une projet de type base de données pour gérer votre base de données dans la même solution (en vous connectant avec la chaine de connexion mis à jour au point précédent)
 3.3. Ouvrer le model Entity : "CD67.ModeleMVC.Entity\EntityModel.edmx" et supprimer les tables d'exemples
 3.4. Supprimer les classes partielles d'exemple : "CD67.ModeleMVC.Entity\Extend\EXEMPLE_VIKINGS.cs" et "CD67.ModeleMVC.Entity\Extend\EXEMPLE_TYPE_VIKING.cs"
-3.5. Supprimer les fichiers "Factory" d'exemple : "CD67.ModeleMVC.Factory\VIKINGSFactory.cs" et "CD67.ModeleMVC.Factory\TYPE_VIKINGFactory.cs"
+3.5. Supprimer les fichiers "Factory" d'exemple : "CD67.ModeleMVC.Factory\EXEMPLE_VIKINGSFactory.cs" et "CD67.ModeleMVC.Factory\SOUS_TYPE_VIKINGFactory.cs"
 3.6. Supprimer les contrôleurs et vues d'exemple dans : "CD67.ModeleMVC.MVC\Controllers" et "CD67.ModeleMVC.MVC\Views"
 3.7. C'est le moment du commit : "git add .", "git commit -m "NEW Fin de l'initialisation du projet modèle"" et push de cette branche "git push"
 3.8. A ce stade le nouveau projet est prêt à réellement démarrer, on créer donc une nouvelle branche "develop" : "git branch develop" et "git checkout develop"
@@ -55,12 +55,14 @@ v0.1 19/07/2016 (Julien Legrand) : 1
 4.1. Mettre à jour le modèle par rapport à la base de données pour ajouter de nouvelles tables et vues nécessaire à l'application
 4.2. Vérifier les types des entités générées depuis la base de données, particulièrement les chiffres et clés en numéro auto ou avec un trigger/sequence Oracle (le champ "StoreGeneratedPattern" doit être égal à "Identity" pour les clés automatiques)
 4.3. Créer vos propres fichiers d'extension avec DataAnnotation ici : "CD67.ModeleMVC.Entity\Extend"
-4.4. Créer vos propres factory ici : "CD67.ModeleMVC.Factory"
-4.5. Créer vos propres controller/vues ici : "CD67.ModeleMVC.MVC\Controllers" et "CD67.ModeleMVC.MVC\Views"
+4.4. Des Factories génériques sont automatiquement générées pour toutes entités dans le modèle ici : "CD67.ModeleMVC.Factory\Internal"
+4.5. Créer vos propres factory pour ajouter de nouvelles méthodes ou redéfinir les méthodes de base ici : "CD67.ModeleMVC.Factory"
+4.6. Créer vos propres controller/vues ici : "CD67.ModeleMVC.MVC\Controllers" et "CD67.ModeleMVC.MVC\Views"
 (NOTE : personellement j'utilise à la création du controller le modèle "Contrôleur MV5 avec vues, utilisant Entity Framework" en générant les vues et avec la page de disposition que je souhaite, ensuite je modifie le code du contrôleur pour utiliser les classes "Factory")
-4.6. Modifier le fichier "CD67.ModeleMVC.MVC\App_Start\RouteConfig.cs" par rapport à vos contrôleurs et variables nécessaires
-4.7. Ajout des tests unitaires pour tester les fonctions principales dans le projet dédié "CD67.ModeleMVC.Tests" (CRUD sur les classes, processus complet, etc.)
-4.8. On fait des commits/push à chaque avancée majeure, on fait une fusion avec la branche "master" dès que l'outil est en production, puis son continue les développements sur "develop"
+4.7. Modifier le fichier "CD67.ModeleMVC.MVC\App_Start\RouteConfig.cs" par rapport à vos contrôleurs et variables nécessaires
+4.8. Editer le fichier "Mvc.sitemap" pour ajouter vos nouvelles pages (ne pas oublier les paramètres), cela permet d'ajouter automatiquement le fil d'Arianne
+4.9. Ajout des tests unitaires pour tester les fonctions principales dans le projet dédié "CD67.ModeleMVC.Tests" (CRUD sur les classes, processus complet, etc.)
+4.10. On fait des commits/push à chaque avancée majeure, on fait une fusion avec la branche "master" dès que l'outil est en production, puis son continue les développements sur "develop"
 
 5. Supprimer ce fichier à la fin pour ne pas que l'on sache que vous avez utilisé un modèle :p
 
@@ -91,12 +93,11 @@ En cas d'ajout d'une nouvelle connexion avec Entity Framework, il faut ajouter u
 
 # Description du projet : CD67.ModeleMVC.Factory
 Les classes Factory sont nommées ainsi : "[Nom objet]Factory"
-On crée autant de classe Factory que d'objet à gérer
-Elles doivent contenir un constructeur public avec le context Entities en paramètre qui se base sur le constructeur de la classe parente.
-Elles contiennent généralement les fonctions suivantes : getById, getAll, add, update, delete.
-C'est à adapter à chaque cas.
+Les factories permettent de gérer le cycle de vie des objets
 
-Le dossier "Internal" contient la classe de base "baseFactory" dont chaque "Factory" hérite.
+Le dossier "Internal" contient :
+- "GenericFactories.tt" : il s'agit d'un modèle T4, celui-ci permet la génération automatique de factories pour toutes les entités du modèle edmx situé ici : "../CD67.ModeleMVC.Entity/EntityModel.edmx", les classes générées sont des classes partielles qui peuvent être complété pour ajouter du code spécifique (méthodes supplementaires ou redéfinition des méthodes de bases)
+- "baseFactory.cs" : Le dossier "Internal" contient la classe de base "baseFactory" dont chaque "Factory" hérite. Cette classe implémente pour toutes les factories générées les méthodes : getById, getBy, getAll, where, add, update, delete
 
 
 # Description du projet : CD67.ModeleMVC.MVC
@@ -104,12 +105,20 @@ La partie Model du projet n'est pas n
 
 Le dossier "Views" contient par défaut :
 - "Shared\_Layout.cshtml" : une page de disposition pour l'application
-- "DisplayTemplates\YesNo.cshtml" et "EditorTemplates\YesNo.cshtml" : ils s'agit d'exemple de personnalisation d'affichage pour un type de champ, ici "YesNo". On attribut un type avec la DataAnnotation "[UIHint("YesNo")]" dans la classe Metadata et ce sont les fichiers dans DisplayTemplates et EditorTemplates du même nom qui seront utilisés pour créer le contrôle à l'affichage.
+- "Shared\_Flash.cshtml" : page de disposition partielle pour les messages flash
+- "DisplayTemplates\YesNoBool.cshtml" et "EditorTemplates\YesNoBool.cshtml" ou "DisplayTemplates\YesNoInt.cshtml" et "EditorTemplates\YesNoInt.cshtml" : il s'agit d'exemples de personnalisation d'affichage pour un type de champ, ici "YesNo". On attribut un type avec la DataAnnotation "[UIHint("YesNoBool")]" dans la classe Metadata et ce sont les fichiers dans DisplayTemplates et EditorTemplates du même nom qui seront utilisés pour créer le contrôle à l'affichage.
+- "DisplayTemplates\Date.cshtml" et "EditorTemplates\Date.cshtml" : affichages spécifiques pour ajouter un sélecteur de dates basé sur Jquery et homogène sur tous les navigateurs.
 
-Le dossier "style" contient :
+Le dossier "Content" contient :
 - un sous dossier "images" destiné à contenir toutes les images utilisées dans la mise en page
-- "AppStyleSheet.css" : feuille de style à modifier pour le projet courant
-- "ModeleStyleSheet.css" : feuille de style du modèle CD67 à ne pas modifier
+- "cd67-custom.css" : feuille de style à modifier pour le projet courant
+- "cd67-model.css" : feuille de style du modèle CD67 à ne pas modifier
+
+Le dossier "Scripts" contient :
+- "cd67-autofocus.js" : un script permettant le focus sur un contrôle automatiquement au chargement de la page
+- "cd67-CancelAlert.js" : des fonctions pour ajouter des messages d'alertes lors de la sortie d'un écran
+- "cd67-Jquery.UI.DatePicker.js" : fichier nécessaire aux sélecteur de dates basé sur Jquery
+- "cd67-listes.js" : script nécessaire à l'utilisation de listes imbriquées
 
 Les scripts et styles sont chargés à l'aide des commandes : "@Scripts.Render("~/bundles/jquery")", "@Scripts.Render("~/bundles/bootstrap")" et "@Styles.Render("~/Content/css")".
 La configuration de ceci se trouve dans ce fichier : "App_Start\BundleConfig.cs"
@@ -117,8 +126,12 @@ La configuration de ceci se trouve dans ce fichier : "App_Start\BundleConfig.cs"
 Les Glyphicons Bootstrap sont ici : http://getbootstrap.com/components/#glyphicons
 Et les icônes FontAwesome là : http://fontawesome.io/icons/
 
-Le dossier "Internal" contient du code permettant l'ajout de la commande "@Html.DescriptionFor" dans les vues.
+Le dossier "Internal" contient :
+- "Navigation.cs" : code nécessaire à la création du fil d'Arianne
+- "UtilisateurConnecteFactory.cs" : code permettant l'accès aux données AD de l'utilisateur courant
+- "MvcHtmlHelpers.cs" : code permettant l'ajout de la commande "@Html.DescriptionFor" dans les vues
+- "FlashMessageExtensions.cs" : code permettant l'ajout d'extension pour les controllers afin d'intégrer lé création de messages flash
 
 
 # Description du projet : CD67.ModeleMVC.Tests
-Projet le plus important de la solution :)
+Projet le plus important de la solution :)