# OxaMessagingManager

Projet permettant 

- de créer les VHost, Exchanges, Queues et DLQ pour l'ensemble des programmes connectés à RabbitMQ
- de créer des Workers PHP, qui vont consommer les messages en les transférant à Oxaproc
- d'analyser la table OXA_MSG_BROKER_EVENT, pour signaler à Oxaproc si des messages doivent être produit
- de créer des triggers, afin d'alimenter la table OXA_MSG_BROKER_EVENT
- de purger la table OXA_MSG_BROKER_EVENT

## About

Documentation : https://delta-dore-51ca30.gitlab.io/

## Dev Note

Il est nécessaire, sur Windows, d'utiliser CMD (et non Git Bash) afin de pouvoir s'assurer que les lignes de commandes soient bien éxécutés par dans les scripts PHP.

Ligne de commande : maximum 8191 caractères avec le CMD de Windows
https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation

## Premier lancement, en local

Copiez CONFIG_FILE.ini.example en CONFIG_FILE.ini dans le même répertoir que le base1 de l'environnement que vous allez utiliser, et adapter le selon vos besoin.

Pour faire un mdp chiffré : php test/password/create_hash.php monpassword

Utiliser la config dans docker pour mettre en place votre rabbitmq local. Copiez le .env.example en .env dans le même répetoire et adaptez les variables si besoin.

Une fois la config mis en place (via CONFIG_FILE.ini), pensez à lancer 2 fois Check pour init VHost, Exchange et Queues (ou executer loop.php pour tout lancer).

Pour voir la liste des triggers sur votre env : test/sql

## TODO

- Traiter les TODO
- Voir avec BBA / MSA comment mettre du cache en place
- Mettre en place une pipeline push de main sur oulu (pour docker rabbitmq) + ostende