
Langue 🇨🇦 Français (Canada)
Documentation
Prise en main
Référence de l'API
Add Comments to Your Laravel App
Ceci est le package Laravel officiel pour FastComments.
Ajoutez des commentaires en direct, un chat et plus encore à votre application Laravel.
Dépôt
Installation 
composer require fastcomments/laravel
Publiez le fichier de configuration :
php artisan vendor:publish --tag=fastcomments-config
Ajoutez vos identifiants dans .env :
FASTCOMMENTS_TENANT_ID=your-tenant-id
FASTCOMMENTS_API_KEY=your-api-key
Pour la région UE :
FASTCOMMENTS_REGION=eu
Composants Blade 
Widget de commentaires
<x-fastcomments />
{{-- Avec des options --}}
<x-fastcomments
url-id="my-page-id"
url="https://example.com/my-page"
locale="en_us"
:has-dark-background="true"
default-sort-direction="MR"
/>
Chat en direct
<x-fastcomments-live-chat url-id="chat-room-1" />
Nombre de commentaires
<x-fastcomments-comment-count url-id="my-page-id" />
<x-fastcomments-comment-count url-id="my-page-id" :number-only="true" />
SSO 
Activez SSO dans votre .env :
FASTCOMMENTS_API_KEY=your-api-key
FASTCOMMENTS_SSO_ENABLED=true
FASTCOMMENTS_SSO_MODE=secure
La clé API est requise pour le SSO sécurisé — elle est utilisée pour signer la charge utile SSO.
Mappage basé sur la configuration
Dans config/fastcomments.php, mappez les champs FastComments aux attributs de votre modèle User :
'sso' => [
'enabled' => true,
'mode' => 'secure',
'user_map' => [
'id' => 'id',
'email' => 'email',
'username' => 'name',
'avatar' => 'profile.avatar_url', // la notation par points est prise en charge
],
'is_admin' => fn ($user) => $user->hasRole('admin'),
'is_moderator' => fn ($user) => $user->hasRole('moderator'),
],
Mappage basé sur une interface
Pour plus de contrôle, implémentez l'interface MapsToFastCommentsUser sur votre modèle User :
use FastComments\Laravel\SSO\Contracts\MapsToFastCommentsUser;
class User extends Authenticatable implements MapsToFastCommentsUser
{
public function toFastCommentsUserData(): array
{
return [
'id' => (string) $this->id,
'email' => $this->email,
'username' => $this->display_name,
'avatar' => $this->avatar_url,
'is_admin' => $this->hasRole('admin'),
];
}
}
Lorsque l'interface est implémentée, elle prend la priorité sur le mappage basé sur la configuration.
SSO dans Blade
Lorsque le SSO est activé, le composant <x-fastcomments /> injecte automatiquement les données SSO pour l'utilisateur authentifié.
Accès à l'API 
Via la façade
use FastComments\Laravel\Facades\FastComments;
// API d'administration (requiert une clé API)
$comments = FastComments::admin()->getComments('tenant-id');
// API publique
$comments = FastComments::publicApi()->getCommentsPublic('tenant-id', 'url-id');
// SSO
$ssoPayload = FastComments::sso()->forWidget();
$token = FastComments::sso()->tokenFor($user);
Via l'injection de dépendances
use FastComments\Laravel\FastCommentsManager;
class CommentController extends Controller
{
public function index(FastCommentsManager $fc)
{
$comments = $fc->admin()->getComments($fc->tenantId());
// ...
}
}
Accès direct au SDK
use FastComments\Client\Api\DefaultApi;
class CommentController extends Controller
{
public function index(DefaultApi $api)
{
$comments = $api->getComments('tenant-id');
// ...
}
}
Référence de configuration 
| Clé | Variable d'environnement | Par défaut | Description |
|---|---|---|---|
tenant_id |
FASTCOMMENTS_TENANT_ID |
'' |
Votre ID de locataire FastComments |
api_key |
FASTCOMMENTS_API_KEY |
'' |
Clé API pour les appels côté serveur |
region |
FASTCOMMENTS_REGION |
null |
null (US) ou 'eu' |
sso.enabled |
FASTCOMMENTS_SSO_ENABLED |
false |
Activer SSO |
sso.mode |
FASTCOMMENTS_SSO_MODE |
'secure' |
'secure' ou 'simple' |
sso.login_url |
FASTCOMMENTS_SSO_LOGIN_URL |
null |
URL de connexion (retombe sur la route Laravel) |
sso.logout_url |
FASTCOMMENTS_SSO_LOGOUT_URL |
null |
URL de déconnexion (retombe sur la route Laravel) |
widget_defaults |
— | [] |
Options de configuration par défaut du widget |
Besoin d'aide ?
Si vous rencontrez des problèmes ou avez des questions concernant le package Laravel, veuillez :
Contribution
Les contributions sont les bienvenues ! Veuillez visiter le dépôt GitHub pour les directives de contribution.