Section symfony

Partitech Sonata Extra Bundle : Firewall

Écrit par tbourdin le 25/12/2023
Tags :   Sonata-page, symfony
The SonataExtraBundle provides an enhanced set of functionalities for managing firewall rules within the Sonata Admin environment. This bundle allows administrators to create and manage rules for filtering requests based on various criteria like stop words, IP addresses, and User Agents. Features Firewall Rule Management: Define and manage firewall rules to filter incoming requests. Support for Multiple Criteria: Filter requests based on stop words, IP addresses, and User Agents. Dynamic R...
Selection_016

Sonata Page 5 : Ajouter des balises Open Graph avec SonataPage et SonataMediaSonata

Écrit par tbourdin le 02/10/2023
Catégorie :   symfony, Sonata
Tags :  
Si vous avez déjà utilisé SonataPage et SonataMedia, vous savez à quel point ils sont puissants pour gérer le contenu et les médias de votre site. Dans cet article, je vais vous montrer comment étendre ces outils pour ajouter facilement des balises Open Graph à vos pages, afin d’améliorer leur partage sur les réseaux sociaux. Pourquoi les balises Open Graph ? Les balises Open Graph (OG)...
Selection_010

Sonata Page 5 : Cacher des blocks dans les blocks partagés.

Écrit par tbourdin le 30/09/2023
Catégorie :   symfony
Tags :  
Si vous utilisez le bundle SonataPage , vous avez du remarquer que les blocks qui sont proposées sont pour certain, inutiles, ou non fonctionnels.Nous allons voir comment nous pouvons cacher ces blocs de la liste de manière propre, avec un fichier de configuration, et une surcharge des templates admin de SonataPage. 1 – La configuration Nous allons devoir créer une liste des services que nous ne voulons pas afficher. Cette li...
Selection_017-1

Sonata : Ajouter un panel d’administration sans entité avec Sonata Admin 5 et Symfony 6.2

Écrit par tbourdin le 06/06/2023
Catégorie :   symfony, Sonata
Tags :  
Dans cet article, nous allons apprendre comment ajouter un panel d’administration sans entité dans un projet Symfony 6.2 en utilisant Sonata Admin 5. Notre base de projet sera de créer une interface d’upload de fichier simple. Mais vous pouvez faire n’importe quelle application. Y compris ajouter un simple texte. 1. Installation de Sonata Admin Bundle Si vous n’avez pas déjà installé Sonata Admin, vous ...

Comment créer un transport d’e-mail personnalisé avec Symfony Mailer

Écrit par tbourdin le 19/05/2023
Catégorie :   PHP, symfony
Tags :  
Aujourd’hui, nous allons voir comment créer un transport d’e-mail personnalisé avec Symfony Mailer. Pour l’exemple, nous créerons un transport nommé « pt ».PrérequisAvant de commencer, assurez-vous d’avoir installé et configuré Symfony Mailer et HttpClient dans votre projet. Vous pouvez les ajouter à votre projet avec les commandes suivantes: composer require symfony/mailer composer require s...
replication_mysql

Symfony : Forcer une entité d’utiliser une autre connexion BDD que celle configurée par défaut

Écrit par admin le 19/01/2023
Catégorie :   PHP, symfony
Tags :  
Il n’est pas rare d’avoir plusieurs bases de données pour un même projet. Normalement, lorsque 2 bases de données sont utilisées les entités peuvent être rangées dans des répertoires spécifiques qui sont déclarés dans votre configuration. Et dans ce cas le système va utiliser la connexion configurée pour le répertoire de l’entité. Vous pouvez voir un exemple de connexion mu...
image-61

Utiliser composer et bin/console de votre image docker directement depuis PHPSTORM

Écrit par gbourdin le 19/01/2023
Catégorie :   PHP, symfony, Divers, phpstorm
Tags :  
Ok, vous êtes comme moi. Votre machine n’a rien d’installé en local. Pas même composer et même pas PHP en CLI ! Alors que vous utilisez PHP et peut être bien Symfony (ou pas) vous avez besoin dans tous les cas d’utiliser composer quotidiennement. Vous utilisez tous les jours PhpStorm et vous vous dites que c’est dommage de ne pas bénéficier de toutes les options de votre IDE notamment to...
image-23

Sonata custom actions

Écrit par gbourdin le 19/01/2023
Catégorie :   PHP, symfony, Sonata
Tags :   sonata
Pour faire suite à l’article écrit par Thomas Bourdin SYMFONY / SONATA : AJOUTER UNE FONCTION CLONE DANS UN CRUD, nous allons montrer comment, de manière très simple, nous pouvons ajouter des actions personnalisées dans une interface. Sur le Dashboard : Mais nous allons également voir comment personnaliser simplement et de manière générique les actions personnalisées du listing, de l’entête de votre CRUD et pour finir comm...
debugger

Debugger avec PhpStorm et Symfony dans une image Docker

Écrit par gbourdin le 19/01/2023
Catégorie :   PHP, PHP / FFI, symfony, phpstorm
Tags :  
Configuration de PHP/Docker Si vous développez sous Symfony, installé dans un docker compose et que vous n’utilisez pas encore le debugger, alors cet article est fait pour vous. Nous allons vous montrer comment préparer votre environnement pour ne plus avoir à faire de dd() ni de var_dump. Une fois que vous aurez goûté aux joies du debugger vous ne pourrez plus vous en passer tellement vous allez gagner en confort...
entete_quality_tools

PHPSTORM Configuration des ‘Quality tools’ dans une image Docker

Écrit par gbourdin le 15/12/2022
Catégorie :   PHP, symfony, phpstorm
Tags :  
Voici une question que je me suis posée récemment. Habituellement j’installe directement les outils de QA sur mon host ou directement dans l’image Docker. Si les outils sont installés sur mon host, pas de problèmes pour configurer PhpStorm. Si les outils sont directement configurés dans l’image Docker, pas de problèmes non plus pour l’utiliser à l’intérieur de l’image. En...
Sonata_exemple_slug

Sontata DataMapper et Autowiring

Écrit par gbourdin le 08/12/2022
Catégorie :   PHP, symfony, Sonata
Tags :  
Si vous avez un besoin spécifique de transformation de données entre le formulaire et l’enregistrement de votre entité et que vous pensez que ce code de transformation devrait se trouver dans un service, car cela vous semble plus logique, vous pouvez utiliser le dataMapper en utilisant l’injection de dépendance fournit par Symfony. Mais alors comment le mettre en oeuvre ? Un petit rappel sur le DataMapper. Si on s’accorde à la documentatio...
Selection_254

SF6 / Sonata 5 : Gérer une interface OneToMany dans un CRUD avec les CollectionType de sonata

Écrit par tbourdin le 27/11/2022
Catégorie :   PHP, symfony, Sonata
Tags :   sonata, symfony, admin
Dans cet exemple nous allons prendre le cas concret d’une interface simple qui comprend des éléments multiples. Nous avons choisis d’utiliser une table « Projets » dans laquelle nous allons affecter des documents. Donc pour un projet, nous pouvons affecter plusieurs documents. Et pour faciliter l’administration, nous allons faire en sorte de pouvoir gérer notre interface imbriquée directemen...
Sélection_286

Symfony 6 / Sonata 5 : Installation de SonataClassification.

Écrit par tbourdin le 14/03/2022
Catégorie :   PHP, symfony, Sonata
Tags :  
Nous avons vu dans les article précédents comment initialiser un projet Symfony 6 + Sonata 5 avec les médias et les utilisateurs dans un admin sécurisé. Nous avons vu ensuite comment gérer les localisations de l’utilisateur.Nous allons voir maintenant comment installer et gérer les classifications. On procède à l’installation de la dernière version en date. php8.1 composer...
Sélection_267

Symfony 6 / Sonata 5 : Lier les locales et le timezone aux préférences utilisateur.

Écrit par tbourdin le 10/03/2022
Catégorie :   PHP, symfony, Sonata
Tags :  
Nous avons vu dans un article précédent comment installer Symfony 6 + Sonata Admin 5 avec une gestion d’utilisateurs et de médias. Nous allons poursuivre cette installation avec la configuration des langues et des fuseaux horaires. Nous allons installer intlBundle qui permet de gérer l’affichage localisé. php8.1 composer.phar require sonata-project/intl-bundle On en profite pour ajouter un champs timezone et...
Selection_260

Symfony 6 / Sonata 5 : Initialiser un projet Symfony 6 + Sonata admin 5 + UserBundle + MediaBundle

Écrit par tbourdin le 10/03/2022
Catégorie :   PHP, symfony, Sonata
Tags :  
Voici les commandes pour initialiser un projet Symfony avec un admin sécurisé. Pour faire tourner Symfony 6 nous devrons installer php8.0 ou php8.1 Pour php8.0 sudo apt-get install php8.0-cli libapache2-mod-php8.0 php8.0-common php8.0-opcache php8.0-igbinary php8.0-imagick php8.0-msgpack php8.0-readline php8.0-memcached php8.0-xml php8.0-mbstring php8.0-gd php8.0-mysql php8.0-curl php8.0-intl php8.0-memcache php8.0-memcached memcached libapache2-mod-php8...

Symfony 4 / Sonata : Créer une deuxième interface avec la même entité

Écrit par tbourdin le 06/11/2020
Catégorie :   PHP, symfony, Sonata
Tags :   sonata, symfony
Nous allons voir ici comment créer une deuxième interface alors que l’entité est déjà utilisée dans une interface CRUD.Le problème des interfaces générées automatiquement est qu’elles utilisent le nom de l’entité pour construire les routes.Si on configure une deuxième interface avec une entité déjà utilisée on se retrouvera avec la même route que la premi&egr...
Sélection_413-1

Symfony 4 / Sonata : gérer une interface d'admin multi langue

Écrit par tbourdin le 30/10/2020
Catégorie :   PHP, symfony, Sonata
Tags :   sonata, symfony
Nous allons voir comment configurer une interface d’administration en multilingue avec un bouton de sélection de langue (language switcher).Installation de translationBundle composer require sonata-project/translation-bundle bin/console assets:install Le language switcher nécessite un filtre twig spécifique.Sinon vous aurez une erreur de type :Unknown "language_name" filter.Il faut alors installer ces deux bundles composer require twig/intl-extra composer require t...
Sélection_165

Symfony 4 / Sonata : gérer une interface d'admin multi serveur

Écrit par tbourdin le 11/09/2020
Catégorie :   PHP, symfony, Sonata
Tags :   sonata, symfony
Nous allons voir comment gérer une interface d’admin qui se connecte à plusieurs serveurs.Dans notre exemple nous avons monté un serveur mysql par défaut qui gère notre interface d’admin. Les utilisateurs, les médias, etc.Et nous avons monté un serveur postgreSql qui contient une table que nous souhaitons administrer.Nous pouvons ajouter autant de serveurs que nous souhaitons.Notre serveur MysqlNous avons classiquement monté ...
Selection_427

Symfony 4 / Sonata : Utiliser des champs en json

Écrit par tbourdin le 10/09/2020
Catégorie :   PHP, symfony, Sonata
Nous allons voir comment exploiter les types de champs Jsonb de postgreSql dans une interface générée de sonata.Nous partons du postulat que vous maîtrisez déjà les concepts basiques de Symfony, Sonata, et PostgreSql.Tout d’abord créons une table toute simple dans postgreSql qui contiendra un champs de type Jsonb. CREATE SEQUENCE public.table1_id_seq; CREATE TABLE public.table1 ( id integer DEFAULT nextv...
Sélection_152-1

Symfony 4 / Sonata : créer un type de champs de formulaire personnalisé

Écrit par tbourdin le 09/09/2020
Catégorie :   PHP, symfony, Sonata
Tags :   sonata, symfony
Nous allons voir comment nous pouvons créer un type de champ personnalisé. Dans notre exemple, nous voulons un champ qui a le même rendu qu’un type de champ MoneyType mais dans lequel nous pourrons ajouter n’importe quel suffixe, car le champ money n’accepte que les devises. Or dans notre projet nous voulons utiliser des kilogrammes, des mois ou encore des kilomètres. Bref, tout un tas de type de données possibles.On commence par crée...