← retour à l'installation | GitFlow →
Base locale pour travailler seul
utilisée par défaut
- type de base :
mariadb(mysql8) - host : localhost ou 127.0.0.1
- port : 3366
- user : ecs_user
- pw: ecommerce
- db: ecommerce
base distante pour se partager les donnée entre nous
- type de base :
mysql8 - mysql_host:
remotemysql.com - mysql_user:
EmwnLitSLR - mysql_pw:
Gk0qCm6hFI - mysql_db:
eEmwnLitSLR
Pour partager et récupérer les données il existe des scripts simples dans le Makefile
Par exemple pour ajouter nos données à la base distante on fait dans la VM
cd ../ && make db_update_remote
-
La
config/:bootstrap.phprécupère les variables d'environnement côté serveursecurity.ymlGestion du système de connection et rôlesframework.yamldéfinit des paramètres pour le mailer, la gesion des assets, le cache ...doctrine.yamldéfinit l'utilisation de la base de donnée. On mappe des entité avec des alias pour les réutiliser dans les autres espaces de l'appli.twig.yamlMettre en place des skins préféfinis de formulaires et injecter des variables dans les vues- Le fichier
parameters.yamluniqument dans la VM donne des variables de configurations (url base de donnée, mail...) bundles.phpInstancier des bundles dans notre projet
-
fixtures- Générées avec faker elle nous permettent de créer des données facilement
La team front travaille dans les répertoire assets et templates.
On utilise Typescript à la place de javascript et sass
yarn dev: Build tout le projetyarn fo: Build le front-officeyarn admin: Build de l'espace admin- Ajoutez
--watchpour écouter les nouvelles modifs
Avancé :
fo-watch: watch l'espace frontrequire('@fr/')→ alias pourfront_office/tsrequire('#fr/')→ alias pourfront_office/scssrequire('#ea/')→ alias poureasyadmin/scss
Voici l'organisation du projet par espaces:
- css / ts
|-- front_office/ (ou admin/)
|-- partials/ --> bout de code réutilisés plusieurs fois
| dissociation du code js/css
|-- scss --> votre code css
|-- partials --> bout de code réutilisables
|-- app.scss --> fichier qui importe chaque lots de ressources scss
|-- ts
|-- classes/ --> classe objet correspondant a un espace
|-- helpers/ --> fonctions mises à disposition
|-- components/ --> code faisant marcher des composants réutilisables
|-- product.js # chaque page a son entrée (on importe ici nos ressource ts et app.scss
|-- categories.js
...
|-- admin (easyadmin) --> à revérifier et remplacer par notre propre code
... cherchez dans la doc
- TWIG Pour changer l'interface du back-office: doc easyadmin
|-- front_office/ (ou admin/)
|-- partials/ --> bout de code réutilisés plusieurs fois
|-- . liste des pages
.
.
|-- Votre organisation est la bienvenue
|-- bundles
|-- EasyAdminBundle
|-- default
> Permet de personnaliser l'interface d'administration (override)
--> Réorganiser les templates à votre façon mais bien garder les noms de fichiers
Pour ajouter une entrée (page) à l'index des assets css, ts ou js ça se passe dans
config/pages.yaml. Vérifier bien que les noms soient bien les mêmes que ceux des fichiers d'entrée dans assets/<espace>/<page>[.ts|js].
Pour la convention de code javascript, suivre cette page
Pour retrouver les pages que vous cherchez : sf debug:router
Dans le dossier src:
- Core (à ne pas trop toucher)
- MailerService (sert à envoyé des mail facilement en rensignant un template twig)
- Des helpers comme le générateur d'id aléatoire
- Des Events, des types a réutiliser comme les collections
- Des
traitstrès pratiques comme celui de l'id pour éviter de répéter le code des entités - Des validateurs personnalisés
- FrontOffice (FrontOffice)
- Créer des routes, controlleurs, des pages et créer des actions
Api à utilisez en front
Par exemple ajouter un produit au panier :/product/{id}/add
- Admin (BackOffice), Configuration easyadmin :
config/packages/easyadmin.yaml
- Easyadmin nous permet de facilement créer des CRUD et des entités
Voici un tutoriel pour créer des API afin de gérer les données côté front office, par exemple :
- Ajout d'un commentaire
- Ajout d'un produit au panier
- Affichage des produits
...
