Présentation de EasyAdmin
Les trucs et astuces du bundle Symfony qui vous permet de créer
des espaces d'administration complet.
Qui suis-je ?
. Ex-CTO Monkees / Publicis
. Depuis janvier 2019, Consultant et Dév Web Freelance (Symfony, React & React Native)
+10 ans d’xp sur Symfony
https://twitter.com/rkueny https://kueny.me
EasyAdmin c’est quoi ?
Il s’agit d’un bundle Symfony permettant de 

rapidement disposer d’une admin (type CRUD) 

pour ses entities.
1ère release : 16 janvier 2015
~ 3 000 commits depuis
Soutenu par Javier membre actif de SensioLabs
Ajouter EasyAdmin à votre projet
Symfony avec Flex
Flex s’occupe de configurer EasyAdmin pour vous.
Gérer ses entities via EasyAdmin
List
Create
Liste des produits
Pour tout ce qui est configuration de base,
je vous invite à consulter la documentation qui est très bien faite.
(et intégrée au site officiel Symfony)
> https://symfony.com/doc/master/bundles/EasyAdminBundle/index.html <
Types de champ
Upload d’image (VichUploadBundle)
Couleurs principales
….
On peut facilement utiliser DQL pour nos entities
Et ensuite, on peut facilement mettre tout cela en forme avec le menu
(Pour les icones, Font-Awesome est utilisé)
On peut aussi améliorer la recherche.
De base la recherche est « Full Text » sur l’entity ciblé.
Par exemple, sur nos Produits si l’on veut faire une recherche par nom de catégorie,
cela ne fonctionne pas de base.
Mais cela s’ajoute en plusieurs courtes étapes.
1/ Créer un controller qui étends « EasyCorpBundleEasyAdminBundleControllerAdminController »
2/ Ajouter une méthode createSearchQueryBuilder
3/ Modifier la requête DQL.
Ce qui nous donne :
À force (et très rapidement)
Votre fichier de configuration va devenir très chargé :/
Pour éviter cela, on split le fichier
config/
packages/
easy_admin/
product.yaml
category.yaml
entityX.yaml
easy_admin.yaml
Pour rester dans l’esprit « rangement »,
vous pouvez ré-utiliser une liste de field dans votre configuration.
Comme pour changer la requête du moteur de recherche,
vous pouvez utiliser le controller pour ajouter des routes.



Par exemple cela vous permets
d’ajouter un Dashboard à votre projet
En « natif » EasyAdmin gère aussi très bien :
- les sous-formulaires
- Les relations many-to-many
Exemple pour du many to many
Il est aussi possible, en fonctionnalités plus avancées
D’ajouter par exemple :
- Export CSV générique
- Accessibilité au menu / entities par Roles
On va s’appuyer ici sur :
-Exporter (lecture du fichier YAML de configuration)
-Compiler (https://symfony.com/doc/current/service_container/compiler_passes.html)
-Services
-Action EasyAdmin
Pour résumé l’esprit de ce talk
EasyAdmin c’est :
-Une admin type CRUD rapide et efficace
-Une admin intégrée officiellement à Symfony
-De bonnes possibilités d’extension et de personnalisation.
Je vous laisse aussi regarder ces 3 bundles
(pour inspiration ou pour utilisation) :
https://github.com/alterphp/EasyAdminExtensionBundle
https://github.com/Kangourouge/EasyAdminExtensionBundle
https://github.com/WandiParis/EasyAdminPlusBundle
Il s’agit de 3 bundles d’extension d’EasyAdmin ajoutant des choses comme :
DropDown menu
Lock Form
Edit view in Show view
Accès par ROLES
Confirmation Modal
Export CSV
…
N’hésitez pas à contribuer au dépôt officiel :)
Il y a quelques issues « help wanted » ouvertes actuellement
https://github.com/EasyCorp/EasyAdminBundle/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
Merci de votre attention !

Présentation de EasyAdmin, le bundle d'admin de Symfony

  • 1.
    Présentation de EasyAdmin Lestrucs et astuces du bundle Symfony qui vous permet de créer des espaces d'administration complet.
  • 2.
    Qui suis-je ? .Ex-CTO Monkees / Publicis . Depuis janvier 2019, Consultant et Dév Web Freelance (Symfony, React & React Native) +10 ans d’xp sur Symfony https://twitter.com/rkueny https://kueny.me
  • 3.
    EasyAdmin c’est quoi? Il s’agit d’un bundle Symfony permettant de rapidement disposer d’une admin (type CRUD) pour ses entities.
  • 4.
    1ère release :16 janvier 2015 ~ 3 000 commits depuis Soutenu par Javier membre actif de SensioLabs
  • 5.
    Ajouter EasyAdmin àvotre projet Symfony avec Flex Flex s’occupe de configurer EasyAdmin pour vous.
  • 6.
    Gérer ses entitiesvia EasyAdmin
  • 7.
  • 8.
    Liste des produits Pourtout ce qui est configuration de base, je vous invite à consulter la documentation qui est très bien faite. (et intégrée au site officiel Symfony) > https://symfony.com/doc/master/bundles/EasyAdminBundle/index.html < Types de champ Upload d’image (VichUploadBundle) Couleurs principales ….
  • 9.
    On peut facilementutiliser DQL pour nos entities
  • 10.
    Et ensuite, onpeut facilement mettre tout cela en forme avec le menu (Pour les icones, Font-Awesome est utilisé)
  • 12.
    On peut aussiaméliorer la recherche. De base la recherche est « Full Text » sur l’entity ciblé. Par exemple, sur nos Produits si l’on veut faire une recherche par nom de catégorie, cela ne fonctionne pas de base. Mais cela s’ajoute en plusieurs courtes étapes.
  • 13.
    1/ Créer uncontroller qui étends « EasyCorpBundleEasyAdminBundleControllerAdminController » 2/ Ajouter une méthode createSearchQueryBuilder 3/ Modifier la requête DQL. Ce qui nous donne :
  • 15.
    À force (ettrès rapidement) Votre fichier de configuration va devenir très chargé :/
  • 16.
    Pour éviter cela,on split le fichier config/ packages/ easy_admin/ product.yaml category.yaml entityX.yaml easy_admin.yaml
  • 17.
    Pour rester dansl’esprit « rangement », vous pouvez ré-utiliser une liste de field dans votre configuration.
  • 18.
    Comme pour changerla requête du moteur de recherche, vous pouvez utiliser le controller pour ajouter des routes.
 
 Par exemple cela vous permets d’ajouter un Dashboard à votre projet
  • 19.
    En « natif » EasyAdmingère aussi très bien : - les sous-formulaires - Les relations many-to-many Exemple pour du many to many
  • 20.
    Il est aussipossible, en fonctionnalités plus avancées D’ajouter par exemple : - Export CSV générique - Accessibilité au menu / entities par Roles On va s’appuyer ici sur : -Exporter (lecture du fichier YAML de configuration) -Compiler (https://symfony.com/doc/current/service_container/compiler_passes.html) -Services -Action EasyAdmin
  • 21.
    Pour résumé l’espritde ce talk EasyAdmin c’est : -Une admin type CRUD rapide et efficace -Une admin intégrée officiellement à Symfony -De bonnes possibilités d’extension et de personnalisation.
  • 22.
    Je vous laisseaussi regarder ces 3 bundles (pour inspiration ou pour utilisation) : https://github.com/alterphp/EasyAdminExtensionBundle https://github.com/Kangourouge/EasyAdminExtensionBundle https://github.com/WandiParis/EasyAdminPlusBundle Il s’agit de 3 bundles d’extension d’EasyAdmin ajoutant des choses comme : DropDown menu Lock Form Edit view in Show view Accès par ROLES Confirmation Modal Export CSV …
  • 23.
    N’hésitez pas àcontribuer au dépôt officiel :) Il y a quelques issues « help wanted » ouvertes actuellement https://github.com/EasyCorp/EasyAdminBundle/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
  • 24.
    Merci de votreattention !