Archives de catégorie : Symfony

Utiliser Symfony dans docker

Dans ce tutorial nous allons voir comment développer un site Symfony à l’aide d’une stack docker.

On part du principe qu’il n’y a rien d’installé sur votre poste de travail, à part docker et docker-compose (et que vous êtes sous linux!) Vous trouverez le tutorial d’installation de docker sur le site officiel (par exemple si vous êtes sous Debian : https://docs.docker.com/install/linux/docker-ce/debian/)

Continuer la lecture

Symfony 4 : Gestion utilisateurs sans FOSUserBundle v2018 : Chapitre 3

Cet article est écrit en 3 parties :

Dans ce chapitre nous allons voir comment s’enregistrer et récupérer son mot de passe lors d’un oubli.

Continuer la lecture

Symfony 4 : Gestion utilisateurs sans FOSUserBundle v2018 : Chapitre 2

Cet article est écrit en 3 parties :

Au chapitre précédent on a mis en place notre base de données et l’avons alimenté de quelques users, maintenant il va bien falloir qu’ils se connectent !

Continuer la lecture

Symfony 4 : Gestion utilisateurs sans FOSUserBundle v2018 : Chapitre 1

Cet article est écrit en 3 parties : J’avais écrit l’année dernière une série d’articles sur comment gérer les utilisateurs sans FOSUserBundle, il me restait encore à publier « comment modifier son mot de passe et comment faire un « J’ai oublié mon mot de passe ». Vu que les choses ont pas mal bougé en 1 an j’ai décidé de repartir de 0 (mais en reprenant les grandes lignes de l’ancien article). Mon environnement :
  • Linux Mint 19
  • Php 7.2.10
  • MariadB 10.2.18
  • Symfony 4.1.6
Continuer la lecture

Appli de gestion de mot de passe en Symfony et Vue.js (Partie 3)

Dernier chapitre de notre développement, où nous allons ajouter, modifier et supprimer des mots de passe.

Cet article est écrit en 3 parties :

Vous pouvez retrouver le projet complet ici : https://github.com/gponty/gespassvuejs

Continuer la lecture

Appli de gestion de mot de passe en Symfony et Vue.js (Partie 2)

Suite de notre développement !

Dans le chapitre précédent on a pu mettre en place tout notre environnement ainsi que notre première page.

Cet article est écrit en 3 parties :

Vous pouvez retrouver le projet complet ici : https://github.com/gponty/gespassvuejs

Continuer la lecture

Appli de gestion de mot de passe en Symfony et Vue.js (Partie 1)

Le tutorial du jour va être de développer une application qui servira à stocker vos nombreux mots de passe. (site internet, numéro CB, code PIN, etc…)
Elle portera le doux nom de Gespass.
Cette application servira uniquement d’exercice, je ne vous conseille pas de l’utiliser en production sans en améliorer la sécurité (par exemple au moins ajouter une authentification .htaccess)

Mon environnement de dev actuel :

  • Mint 19 xfce
  • php 7.2.5
  • mariadb 10.1.29
  • symfony 4.1.1
  • server web de symfony
  • vue.js 2.5.16

Cet article sera écrit en 3 parties :

Vous pouvez retrouver le projet complet ici : https://github.com/gponty/gespassvuejs

Continuer la lecture

[Symfony 4] Création de fixtures aléatoires – Faker

Rien de plus ennuyant que de créer des jeux de données afin de tester votre application, d’autant qu’il existe des scripts pour ça, comme Faker qui fait très bien le boulot.
Ces données s’appellent plus communément des « fixtures ».

On va commencer par créer un nouveau projet Symfony 4 :

Et y ajouter quelques librairies qui nous serons utiles :

Puis tout de suite ajouter le composant qui nous intéressent : Faker (https://github.com/fzaninotto/Faker) :

Ensuite on va créer une nouvelle entité appelée « Personne » :

lors de l’installation du composant fixtures ce dernier a installé un nouveau répertoire : DataFixtures, c’est dans ce dernier que nous allons générer nos fixtures.

Vous trouverez ici tous les types de données que Faker peut générer : https://github.com/fzaninotto/Faker#formatters

Voilà notre fichier FakerFixtures :

Un petit :

Et voilà notre base remplie de 10 personnes :

Vous pouvez retrouver les sources ici :

https://github.com/gponty/sf4-faker

[Symfony 4] Utiliser vue.js

Dans cet article nous allons nous attaquer à la mise en place de vue.js avec Symfony 4.

Vue.js est un framework javascript que j’apprécie particulièrement pour sa simplicité.

Avant de commencer assurez-vous d’avoir bien nodeJS sur votre poste.

On va tout d’abord créer un nouveau projet symfony :

Puis ajouter quelques librairies :

Et enfin installer vue.js :

Afin d’initialiser le projet, il suffit de faire :

Ces commandes vont créer les répertoires assets, node_module ainsi que le fichier webpack.config.js

C’est ce dernier que nous allons tout de suite modifier :

Et il faut enfin donner le chemin à symfony du manifest.json afin qu’il trouve les différents assets (le manifet.json sera créé au moment du build)

Voilà pour l’installation, on va maintenant passer aux choses sérieuses en créant nos pages.

On va d’abord créer notre controller, rien de compliqué ici :

Puis le fichier twig templates/base.html.twig :

Le composant vue.js dans assets/js/App.vue :

Le fichier main de vue dans assets/js/main.js :

Et enfin le fichier assets/js/components/Hello.vue :

Si vous lancer votre serveur à ce moment :

vous allez avoir une erreur 404 vous disant qu’il ne trouve pas le fichier build/app.js, c’est tout à faire normal puisqu’il faut que l’on lance la génération de ce fichier en faisant :

Si tout se passe bien, en allant sur http://127.0.0.1:8000 vous devez avoir un « Welcome to Your Vue.js App » s’afficher, et un « Oups… Problème » si il y a un… problème.

Petite astuce si voulez voir vos modifs en direct sans à chaque fois refaire une génération, à la place de la commande ci-dessus il faut faire :

Vous pouvez retrouver les sources ici : https://github.com/gponty/symfony-vue

[Symfony 4] – Gestion d’événements

On continue notre série de gestion des utilisateurs sans FOSUserBundle, cette fois on va mettre en place un EventListener, c’est à dire un événement qui va se déclencher là où on le voudra.

On va simplement envoyer un mail à l’utilisateur qui vient de s’inscrire afin de lui souhaiter la bienvenue.

Pour cela on va déjà ajouter la librairie qui permet de gérer l’envoi des mails :

Suite à ça vous devez avoir une nouvelle ligne dans votre fichier .env, qu’il faut modifier selon votre serveur, pour moi c’est :

(vous avez aussi la même ligne dans le fichier phpunit.xml.dist si vous voulez envoyer des mails durant vos tests)

On va aussi ajouter quelques paramètres dans nos fichiers de config, comme l’adresse expéditeur :

Pour mettre en place de bonnes pratiques, on va créer un fichier qui regroupera tous nos events, ça permettra de les avoir tous au même endroit :

On créé maintenant notre Listener, il n’y a rien de compliqué :

Et enfin on modifie notre Controller pour juste y ajouter le déclenchement de notre event :

and voilà !

Vous pouvez retrouver toutes les sources ici :

https://github.com/gponty/userDemo