Découvrez un cas d'usage d'intégration d'un CRM avec une application e-commerce, en asynchrone, avec Hubspot et RabbitMQ
Créez un chat avec Mercure et Symfony
Initialisation du projet
Dans cette partie, nous récupérons la base du code et nous créons nos entités.
Récupération du sample
Pour commencer, vous pouvez cloner le sample de code que je vous ai créé sur ce repo GitHub.
Et pour lancer l'application ?
Nous utiliserons Docker !
La configuration Docker est déjà présente, dans le dossier
docker/ et le fichier
docker-compose.yml.
Jetez un œil au fichier
docker-compose.yml.
Quatre services y sont définis (le serveur
nginx, l'application
Symfony, la base de données
postresql et
mercure).
Notez que des variables d'environnement sont nécessaires à certains de ces services. Tout ou presque est défini dans le fichier
.env, mais nous y reviendrons pour le compléter.
C'est bon vous êtes enfin autorisés à lancer la commande tant attendue :
Les services vont chacun automatiquement se builder. Ensuite, afin d'installer les dépendances dans le container php il vous faudra faire :
Et voilà, rendez-vous sur votre
localhost:81 pour voir votre page d'accueil.
L'application tourne, mais elle est bien vide... Seule la gestion des utilisateurs a été créée pour vous (je ne vais pas vous mâcher tout le travail non plus).
Créons quelques entités en amont et les pages HTML correspondantes en tant que squelette de notre chat !
Création des entités
Listons les entités dont nous allons avoir besoin pour une messagerie :
- Une entité
Messagebien évidemment, cœur de nos échanges.
- Une entité
Channel, pour pouvoir choisir sur quel canal discuter.
Et... C'est tout ! Oui, c'est très minimaliste, mais c'est pour ne pas perdre de vue notre objectif, Mercure !
Avec la commande
make:entity, suivez les instructions pour créer ces deux entités.
Reportez-vous à ces fichiers de classe pour ajouter les propriétés depuis la console :
Parfait, nos entités sont créées, n'oubliez pas les relations ! Vérifiez que les repository ont bien été générés également.
Et hop, on peut créer la base de données :
Vous pouvez vous rendre sur cette branche pour être à jour sur cette étape du tutoriel, et continuer sereinement vers la prochaine partie.