Ce guide vous accompagne dans l'installation et la configuration initiale de Synapse Core.
Utilisez Composer pour ajouter le bundle à votre projet :
composer require arnaudmoncondhuy/synapse-core
Plutôt que de configurer manuellement les entités et fichiers, utilisez l'assistant de diagnostic pour initialiser votre projet en une commande :
php bin/console synapse:doctor --init
Cette commande va :
config/packages/synapse.yaml avec les réglages par défaut.SynapseConversation et SynapseMessage dans src/Entity/.config/routes.yaml.security.yaml fonctionnel avec un utilisateur admin / admin.Si vous préférez tout configurer vous-même, suivez les étapes ci-dessous.
// src/Entity/Conversation.php
namespace App\Entity;
use ArnaudMoncondhuy\SynapseCore\Storage\Entity\SynapseConversation;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity]
class Conversation extends SynapseConversation
{
#[ORM\Id, ORM\GeneratedValue, ORM\Column]
private ?int $id = null;
public function getId(): ?int { return $this->id; }
}
// src/Entity/Message.php
namespace App\Entity;
use ArnaudMoncondhuy\SynapseCore\Storage\Entity\SynapseMessage;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity]
class Message extends SynapseMessage
{
#[ORM\Id, ORM\GeneratedValue, ORM\Column]
private ?int $id = null;
public function getId(): ?int { return $this->id; }
}
Créez le fichier de configuration config/packages/synapse.yaml :
synapse:
persistence:
enabled: true
conversation_class: App\Entity\Conversation
message_class: App\Entity\Message
admin:
enabled: true
Générez et exécutez une migration pour créer les tables nécessaires :
php bin/console make:migration
php bin/console doctrine:migrations:migrate
Une fois installé, vous pouvez accéder à l'interface d'administration pour configurer vos providers (Gemini, OpenAI, etc.) :
URL par défaut : /synapse/admin
[!NOTE] Par défaut, l'accès est réservé aux utilisateurs ayant le rôle
ROLE_ADMIN.
How can I help you explore Laravel packages today?