Comment ajouter le chatbot IA Asyntai à DatoCMS
Guide étape par étape pour les sites propulsés par DatoCMS
CMS Headless : DatoCMS est un CMS headless qui diffuse du contenu via des API. Le code du chatbot doit être ajouté à votre application frontend (Next.js, Gatsby, Nuxt, etc.), et non au tableau de bord DatoCMS.
Étape 1 : Obtenir votre code d'intégration
Tout d'abord, rendez-vous sur votre Tableau de bord Asyntai et faites défiler jusqu'à la section « Code d'intégration ». Copiez votre code d'intégration unique qui ressemblera à ceci :
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Note : Le code ci-dessus n'est qu'un exemple. Vous devez copier votre propre code d'intégration depuis votre Tableau de bord car il contient votre identifiant de widget personnel.
Étape 2 : Ajouter au frontend Next.js (le plus courant)
Next.js est le framework frontend le plus populaire utilisé avec DatoCMS. Ajoutez le chatbot en utilisant le composant Script :
App Router (app/layout.tsx) :
- Ouvrez votre fichier de mise en page racine :
app/layout.tsx - Importez le composant Script et ajoutez le chatbot :
import Script from 'next/script'
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Script
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
strategy="afterInteractive"
/>
</body>
</html>
)
} - Remplacez
YOUR_WIDGET_IDpar votre identifiant de widget réel - Enregistrez le fichier et redémarrez votre serveur de développement
Pages Router (pages/_app.tsx) :
- Ouvrez votre fichier
pages/_app.tsx - Ajoutez le composant Script :
import Script from 'next/script'
import type { AppProps } from 'next/app'
export default function App({ Component, pageProps }: AppProps) {
return (
<>
<Component {...pageProps} />
<Script
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
strategy="afterInteractive"
/>
</>
)
}
Astuce : L'utilisation de strategy="afterInteractive" garantit que le chatbot se charge juste après que la page soit devenue interactive, offrant un bon équilibre entre performance et disponibilité.
Méthode alternative 1 : Frontend Gatsby
Pour les sites Gatsby utilisant du contenu provenant de DatoCMS via gatsby-source-datocms :
- Créez ou modifiez
gatsby-ssr.jsà la racine de votre projet :import React from 'react'
export const onRenderBody = ({ setPostBodyComponents }) => {
setPostBodyComponents([
<script
key="asyntai-chatbot"
async
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
/>
])
} - Remplacez
YOUR_WIDGET_IDpar votre identifiant de widget réel - Redémarrez votre serveur de développement Gatsby
Méthode alternative 2 : Frontend Nuxt.js
Pour les applications Nuxt.js consommant du contenu DatoCMS :
- Ajoutez à votre
nuxt.config.ts:export default defineNuxtConfig({
app: {
head: {
script: [
{
src: 'https://asyntai.com/static/js/chat-widget.js',
async: true,
'data-asyntai-id': 'YOUR_WIDGET_ID'
}
]
}
}
}) - Remplacez
YOUR_WIDGET_IDpar votre identifiant de widget réel - Redémarrez votre serveur de développement Nuxt
Méthode alternative 3 : HTML simple / Site statique
Si vous utilisez l'API Content Delivery de DatoCMS avec un site HTML statique ou un générateur de sites statiques :
- Ajoutez le code d'intégration à votre fichier HTML avant la balise fermante
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Remplacez
YOUR_WIDGET_IDpar votre identifiant de widget réel - Enregistrez le fichier et téléversez-le sur votre hébergement
Méthode alternative 4 : React (Vite/CRA)
Pour les applications React standard (Create React App, Vite) utilisant l'API DatoCMS :
Option A : Ajouter à public/index.html
- Ouvrez votre fichier
public/index.html(CRA) ouindex.html(Vite) - Ajoutez le code d'intégration avant la balise de fermeture
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Enregistrez le fichier
Option B : useEffect dans le composant racine
- Créez un composant chatbot ou ajoutez-le à votre composant racine :
// components/Chatbot.jsx
import { useEffect } from 'react'
export default function Chatbot() {
useEffect(() => {
const script = document.createElement('script')
script.src = 'https://asyntai.com/static/js/chat-widget.js'
script.async = true
script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID')
document.body.appendChild(script)
return () => document.body.removeChild(script)
}, [])
return null
} - Importez et affichez le composant dans votre
App.jsxou mise en page racine
Étape 3 : Déployer et vérifier
Après avoir ajouté le code du chatbot à votre site propulsé par DatoCMS, déployez ou lancez votre serveur de développement. Visitez votre site web dans un nouvel onglet de navigateur ou en navigation privée. Vous devriez voir le bouton du widget de chat dans le coin inférieur droit. Cliquez dessus pour vérifier qu'il s'ouvre et fonctionne correctement.
Vous ne voyez pas le widget ? Assurez-vous d'avoir ajouté le script dans le bon fichier pour votre framework. Vérifiez la console de développement de votre navigateur pour toute erreur. Si vous utilisez le rendu côté serveur, assurez-vous que le script s'exécute côté client. Essayez de vider le cache de votre navigateur ou de consulter le site dans une fenêtre de navigation privée.
Variables d'environnement : Pour une meilleure sécurité et flexibilité, envisagez de stocker votre identifiant de widget dans une variable d'environnement (par exemple, NEXT_PUBLIC_ASYNTAI_ID pour Next.js ou VITE_ASYNTAI_ID pour Vite) plutôt que de le coder en dur.
Weebly