-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Philippe Beck edited this page Feb 13, 2020
·
6 revisions
- Créez un fichier .gitignore à la racine
- Renseignez les noms des dossiers & des fichiers que l'on ne souhaite pas commiter avec Git
- Doc
- Exemple
- Créez un fichier composer.json à la racine
- Renseignez les informations importantes tel que le nom du projet, la version, l'autoload & les dépendances PHP
- Doc
- Exemple
- Ouvrez le terminal à la racine
- Tapez
composer install
- Cela installera les dépendances PHP dans le dossier /vendor/, produira les fichiers composer.lock & autoload.php
- Doc
- Créez un fichier package.json dans le dossier /public/
- Renseignez les informations importantes tel que le nom du projet & les dépendances Frontend
- Doc
- Exemple
- Ouvrez le terminal dans le dossier /public/
- Tapez
npm install
- Cela installera les dépendances Frontend dans le dossier /public/nodes_modules/ & produira le fichier package-lock.json
- Doc
- Créez un fichier Router.php dans le dossier /src/
- La classe Router doit gérer les routes vers toutes les méthodes de tous les contrôleurs
- Exemple
- Créez un fichier index.php dans le dossier /public/
- L'index est le point d'entrée de l'application, sera visible de l'extérieur & ne doit contenir que le strict minimum de logique
- Exemple
- Créez un fichier MainController.php dans le dossier /src/Controller/
- La classe MainController doit gérer tous les besoins recurrants sur l'ensemble de l'application
- Exemple
- Créez un fichier HomeController.php dans le dossier /src/Controller/
- La classe HomeController doit gérer tous les besoins de la page home de l'application
- Créez un fichier home.twig dans le dossier /src/View/
- La vue home doit afficher tous les éléments que l'on souhaite disponibles à l'accueil de l'application
- Créez un fichier db.sql dans le dossier /config/
- La création de la BDD, des tables & l'insertion des données se fait via l'import de ce fichier dans PhpMyAdmin
- Exemple
- Créez un fichier db.php dans le dossier /config/
- L'accès à la BDD se fait grâce aux Contantes Globales définies dans ce fichier
- Exemple
- Créez un fichier PdoFactory.php dans le dossier /src/Model/Factory/
- Crée la connexion à SQL via PDO si elle n'existe pas & renvoie PDO
- Exemple
- Créez un fichier PdoDb.php dans le dossier /src/Model/
- Prépare les requêtes requises en paramètres, les exécute & renvoie un résultat
- Exemple
- Créez un fichier ModelFactory.php dans le dossier /src/Model/Factory/
- Crée le Model s'il n'existe pas & le renvoie
- Exemple
- Créez un fichier MainModel.php dans le dossier /src/Model/
- La classe MainModel est abstraite & doit être héritée par toutes les modèles de l'application
- Cette classe mère crée les requêtes CRUD pour l'ensemble de l'application
- Exemple
- Créez un fichier UserModel.php dans le dossier /src/Model/
- La classe UserModel gère les requêtes vers la BDD pour la table User
- L'absence de méthode dans son corps se justifie par l'utilisation de l'héritage de la classe MainModel
- Exemple
- Modifiez le fichier HomeController.php
- L'ajout d'un appel au modèle UserModel via le ModelFactory pour lister les données est nécessaire pour récupérer les informations
- L'ajout d'un argument supplémentaire (pour renvoyer une variable contenant les données des utilisateurs sous forme de tableau) est alors possible pour permettre l'accès à ces données depuis la vue home
- Modifiez le fichier home.twig afin d'utiliser les données récupérées depuis la BDD
- L'ajout d'une structure HTML pour accueillir une seconde partie est préférable
- L'ajout dans cette seconde partie d'une boucle sur le tableau récupéré permet d'en afficher le contenu utilisateur par utilisateur
- Créez un fichier navbar.twig dans le dossier /src/View/layout/
- La création d'un fichier dont la balise principale est une balise & contenant uniquement le code HTML de la navbar permet de l'inclure dans le layout grâce à la fonction Twig include()
- Exemple
- Créez un fichier footer.twig dans le dossier /src/View/layout/
- La création d'un fichier dont la balise principale est une balise & contenant uniquement le code HTML du footer permet de l'inclure dans le layout grâce à la fonction Twig include()
- Exemple
- Créez un fichier style.css dans le dossier /public/css/
- Ce fichier CSS contient le code CSS personnalisé de l'application
- Exemple
- Créez un fichier script.js dans le dossier /public/js/
- Ce fichier JS contient le code JS personnalisé de l'application
- Exemple
- Créez un fichier layout.twig dans le dossier /src/View/layout/
- Ce fichier contient la structure principale de toutes les vues & appelle grâce à la fonction block() les informations spécifiques de chaque vue
- Exemple
- Modifiez le fichier home.twig afin d'intégrer le layout
- L'intégration du layout se fait en appelant le layout avec le mot clef extends, puis en définissant les blocks de données à intégrer avec la fonction block()
- Exemple
- Connectez le projet à Dependabot, Codacy & Code Climate
- Les liaisons à ces outils permettent une gestion automatique des dépendances du projet, ainsi que de la qualité & de la maintenabilité de son code
- Dependabot
- Codacy
- Code Climate
- Modifiez le fichier README.md
- Ce fichier contient les informations principales du projet : sa description, sa procédure d'installation, ses liens, ses badges, etc...
- Exemple
- Effectuez les corrections possibles concernant les issues présentées par les outils
- Un badge permet de voir en temps réel le niveau de qualité & de maintenabilité du projet