Sommaire
À retenir
- Une fois le code d’intégration récupéré dans CompleteGreet, l’ajout d’une bulle vidéo à React ou Vue demande surtout de placer le script au bon endroit et de le tester.
- Les règles d’affichage permettent de choisir les pages et les situations dans lesquelles la bulle apparaît, selon les fonctions disponibles.
- Testez toujours la bulle vidéo sur de vrais appareils. Le redimensionnement d’une fenêtre de navigateur ne révèle pas tous les problèmes.
Comment installer CompleteGreet sur un site React ou Vue ?
Le principe est simple : l’ajout d’un widget de bulle vidéo à React ou Vue passe par le code d’intégration fourni dans votre compte CompleteGreet. Le widget se charge séparément de l’arbre de composants. Vérifiez néanmoins la méthode actuelle dans votre tableau de bord, car elle peut dépendre du produit et du projet.

Voici les étapes à suivre :
- Connectez-vous à votre tableau de bord CompleteGreet, puis ouvrez la section d’installation disponible dans la navigation actuelle.
- Choisissez la plateforme de votre site. Pour un projet React ou Vue personnalisé, utilisez l’option correspondant au HTML personnalisé si elle est proposée.
- Copiez l’intégralité du code associé à votre site. Il contient l’identifiant qui relie le widget à votre compte.
- Ouvrez le fichier HTML principal ou le composant de mise en page racine, placez le code à l’endroit indiqué par les instructions actuelles, puis enregistrez.
- Lancez le serveur de développement et ouvrez une page concernée. La bulle devrait apparaître à l’emplacement configuré.
Si elle n’apparaît pas, vérifiez d’abord le domaine autorisé, la console, le cache et les règles d’affichage avant de modifier l’intégration.
Et avec Next.js ou Nuxt ?
Avec Next.js ou Nuxt, le rendu côté serveur demande une précaution supplémentaire. Le widget doit être initialisé dans le navigateur, pas pendant le rendu serveur.
Dans Next.js, utilisez la méthode de chargement de script recommandée pour votre version et votre architecture. Le composant Script peut convenir, mais choisissez sa stratégie après avoir mesuré son effet sur la page et vérifié l’hydratation.
Dans Nuxt, une extension réservée au client peut empêcher l’exécution du code pendant le rendu serveur. Le nom du fichier et sa déclaration dépendent de la version de Nuxt. Suivez la documentation actuelle du projet pour éviter les erreurs liées à l’objet window.
Après le chargement, le comportement dépend des règles définies dans CompleteGreet et de votre routeur. Vérifiez chaque changement de route au lieu de supposer que le widget persiste ou se recharge correctement.
Que peut-on personnaliser avec React ou Vue ?
Ciblage des pages et des visiteurs
Les règles d’URL peuvent limiter la bulle à certaines routes, par exemple la page des tarifs ou une démonstration. D’autres critères peuvent exister selon la configuration actuelle. N’utilisez que ceux que vous pouvez vérifier.

Les règles se règlent normalement dans le tableau de bord plutôt que dans le code du site. L’équipe peut ainsi ajuster la visibilité sans modifier l’application, sous réserve des droits et fonctions disponibles.
Actions des boutons et comportement au clic
Le bouton de la bulle peut conduire vers une URL, un calendrier ou une autre action prise en charge. Choisissez une action claire, puis testez-la de bout en bout.
Une intégration React ou Vue peut aussi écouter des événements si l’API actuelle le permet. Vérifiez les méthodes disponibles et évitez de coupler inutilement le widget à l’état principal de l’application.
Champs de formulaire et acheminement des prospects
Un formulaire court peut être proposé au visiteur si cette fonction est disponible. Limitez les champs aux informations utiles et expliquez clairement la finalité de la collecte.
Les données peuvent être enregistrées dans le tableau de bord ou transmises à une destination configurée. Vérifiez les webhooks, le CRM, les notifications et le consentement avec des données de test.
Identité visuelle et positionnement
Adaptez les couleurs, l’image et la position avec les réglages réellement disponibles. Testez les coins inférieurs ainsi que toute position personnalisée face aux menus, chats, paniers et bannières de cookies.
Parmi les meilleurs widgets vidéo pour les applications modernes, le bon choix dépend surtout du contrôle visuel, des règles d’affichage, des performances et de la compatibilité avec votre projet.
–cg-primary: #3D5ACE;
–cg-accent: #E48333;
–cg-bg: #f7f7fb;
–cg-border: #e2e2ea;
–cg-text: #1a1a2e;
–cg-text-sec: #4a4a68;
–cg-text-muted: #7a7a96;
–cg-white: #ffffff;
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Helvetica, Arial, sans-serif;
background: var(–cg-bg);
border: 1px solid var(–cg-border);
border-radius: 12px;
max-width: 600px;
margin: 0 auto;
overflow: hidden;
}
#cg-ig-PL8 .cg-accent-bar {
height: 4px;
background: var(–cg-primary);
}
#cg-ig-PL8 .cg-header {
padding: 24px 24px 16px;
text-align: center;
}
#cg-ig-PL8 .cg-header h3 {
margin: 0 0 8px;
font-size: 20px;
font-weight: 700;
color: var(–cg-text);
line-height: 1.3;
}
#cg-ig-PL8 .cg-header p {
margin: 0;
font-size: 14px;
color: var(–cg-text-sec);
line-height: 1.5;
}
#cg-ig-PL8 .cg-progress {
display: flex;
justify-content: space-between;
padding: 0 32px 24px;
position: relative;
}
#cg-ig-PL8 .cg-progress::before {
content: ”;
position: absolute;
top: 12px;
left: 48px;
right: 48px;
height: 2px;
background: var(–cg-border);
z-index: 0;
}
#cg-ig-PL8 .cg-progress-step {
width: 28px;
height: 28px;
border-radius: 50%;
background: var(–cg-white);
border: 2px solid var(–cg-border);
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: 700;
color: var(–cg-text-muted);
position: relative;
z-index: 1;
}
#cg-ig-PL8 .cg-progress-step.active {
border-color: var(–cg-primary);
background: var(–cg-primary);
color: var(–cg-white);
}
#cg-ig-PL8 .cg-progress-step.complete {
border-color: var(–cg-primary);
background: var(–cg-white);
color: var(–cg-primary);
}
#cg-ig-PL8 .cg-steps {
padding: 0 24px 24px;
}
#cg-ig-PL8 .cg-step {
display: flex;
gap: 16px;
margin-bottom: 20px;
position: relative;
}
#cg-ig-PL8 .cg-step:last-child {
margin-bottom: 0;
}
#cg-ig-PL8 .cg-step-badge {
width: 32px;
height: 32px;
border-radius: 50%;
background: var(–cg-primary);
color: var(–cg-white);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 700;
flex-shrink: 0;
}
#cg-ig-PL8 .cg-step-content {
flex: 1;
background: var(–cg-white);
border: 1px solid var(–cg-border);
border-radius: 8px;
padding: 16px;
}
#cg-ig-PL8 .cg-step-title {
font-size: 15px;
font-weight: 600;
color: var(–cg-text);
margin: 0 0 6px;
}
#cg-ig-PL8 .cg-step-desc {
font-size: 13px;
color: var(–cg-text-sec);
margin: 0 0 12px;
line-height: 1.5;
}
#cg-ig-PL8 .cg-code-block {
background: #1a1a2e;
border-radius: 6px;
padding: 12px 40px 12px 12px;
position: relative;
overflow-x: auto;
}
#cg-ig-PL8 .cg-code-block pre {
margin: 0;
font-family: “SF Mono”, Monaco, “Cascadia Code”, “Roboto Mono”, Consolas, “Courier New”, monospace;
font-size: 12px;
line-height: 1.6;
color: #e2e2ea;
white-space: pre-wrap;
word-break: break-word;
}
#cg-ig-PL8 .cg-code-block .cg-copy-btn {
position: absolute;
top: 8px;
right: 8px;
background: var(–cg-accent);
color: var(–cg-white);
border: none;
border-radius: 4px;
padding: 4px 10px;
font-size: 11px;
font-weight: 600;
cursor: default;
}
#cg-ig-PL8 .cg-cta {
padding: 0 24px 24px;
text-align: center;
}
#cg-ig-PL8 .cg-cta-btn {
display: inline-block;
background: var(–cg-primary);
color: var(–cg-white);
text-decoration: none;
font-size: 15px;
font-weight: 600;
padding: 14px 28px;
border-radius: 8px;
transition: background 0.2s;
}
#cg-ig-PL8 .cg-cta-btn:hover {
background: #2f48a8;
}
#cg-ig-PL8 .cg-source {
text-align: center;
padding: 0 24px 20px;
font-size: 11px;
color: var(–cg-text-muted);
}
#cg-ig-PL8 .cg-source a {
color: var(–cg-text-muted);
text-decoration: none;
}
@media (max-width: 480px) {
#cg-ig-PL8 .cg-header {
padding: 20px 16px 12px;
}
#cg-ig-PL8 .cg-progress {
padding: 0 20px 20px;
}
#cg-ig-PL8 .cg-progress::before {
left: 32px;
right: 32px;
}
#cg-ig-PL8 .cg-steps {
padding: 0 16px 20px;
}
#cg-ig-PL8 .cg-step {
gap: 12px;
}
#cg-ig-PL8 .cg-step-content {
padding: 14px;
}
#cg-ig-PL8 .cg-cta {
padding: 0 16px 20px;
}
#cg-ig-PL8 .cg-cta-btn {
padding: 12px 20px;
font-size: 14px;
width: 100%;
box-sizing: border-box;
}
}
Assistant en cinq étapes pour installer une bulle vidéo CompleteGreet sur un site React ou Vue, depuis la création du compte jusqu’aux tests avant publication.
Installer CompleteGreet sur React ou Vue
Ajoutez une bulle vidéo à votre site React ou Vue en suivant ces étapes
Créer votre compte
Créez votre compte CompleteGreet et récupérez l’identifiant ou le code associé à votre site dans le tableau de bord.
Choisir la méthode d’installation
Utilisez le script ou la méthode indiquée dans votre compte pour la version actuelle de votre projet.
Code d’installation fourni par CompleteGreet
Ajouter l’intégration
Placez le script ou le composant à l’emplacement recommandé dans le fichier principal ou la mise en page racine.
Intégration CompleteGreet fournie dans votre tableau de bord
Configurer votre site
Renseignez l’identifiant du site et définissez la position ainsi que les règles d’affichage dans la configuration actuelle.
Configuration avec l’identifiant de votre site
Personnaliser et publier
Ajoutez votre vidéo, réglez l’apparence, puis testez la bulle avant de publier la configuration.
See the static HTML data above for the full breakdown.
Que faut-il vérifier avant la mise en ligne ?
Avant la publication, testez la bulle vidéo sur de vrais appareils. Un simple redimensionnement du navigateur ne reproduit pas toujours le comportement d’iOS Safari, de Chrome mobile ou des éléments flottants de votre interface.
Mesurez les Core Web Vitals avant et après l’installation. Le widget ne devrait pas dégrader sensiblement le LCP, le CLS ou la réactivité de la page. Les recommandations de Google sur les Web Vitals aident à interpréter les mesures actuelles. Utilisez vos propres données et corrigez tout décalage de mise en page observé au chargement.
Contrôlez le ciblage sur chaque route. Avec React et Vue, le widget peut persister ou être réinitialisé lors de la navigation selon l’emplacement du code et le routeur utilisé.
Vérifiez que l’accueil apparaît uniquement sur les URL prévues et qu’il reste absent du paiement, des espaces privés et des pages où il gênerait une tâche.
Pensez aussi à la consommation de données sur mobile.
Évitez de lancer une vidéo lourde sans action du visiteur. Une miniature claire et un bouton de lecture donnent davantage de contrôle et limitent les téléchargements inutiles.
Les conflits d’empilement sont fréquents sur les sites réels. Ouvrez le menu mobile, le panier, les fenêtres modales et la bannière de consentement pour vérifier que la bulle ne masque rien et ne disparaît pas derrière un autre élément.
Parcourez enfin tout le chemin en tant que visiteur déconnecté. Effacez les données de test, puis allez de la page d’arrivée jusqu’à l’action principale. La bulle vidéo doit accompagner le parcours sans interrompre une étape importante.
L’ajout d’une bulle vidéo à React ou Vue consiste généralement à charger un code distinct de l’application. La méthode exacte dépend de la version du produit, du rendu serveur et de l’architecture du site.
La séquence ci-dessous montre les contrôles essentiels : identifier le site, placer le code dans la structure principale, vérifier les routes et tester le rendu réel.
Commencez dans votre tableau de bord CompleteGreet, ajoutez le domaine concerné et choisissez la méthode correspondant à votre environnement actuel.
Copiez le code d’installation affiché pour ce site. Utilisez votre vrai identifiant et ne reprenez pas un exemple provenant d’un autre compte.
Exemple de script CompleteGreet avec l’identifiant de votre site
- Ouvrez le fichier HTML principal, le composant de mise en page ou le mécanisme de scripts recommandé par votre environnement.
- Placez le code selon les instructions actuelles. Avec le rendu serveur, assurez-vous que l’initialisation qui dépend du navigateur ne s’exécute que côté client.
- Enregistrez, redémarrez le serveur de développement si nécessaire, puis chargez directement une page ciblée.
Ne présumez pas que le chargement asynchrone élimine tout impact. Mesurez le rendu, le réseau et la réactivité avant et après l’ajout.
Avec React Router ou Vue Router, testez la navigation dans les deux sens. Confirmez que les règles d’URL, l’état de lecture et la fermeture restent cohérents.
Les résultats commerciaux varient selon le trafic, la vidéo, l’offre et la page. Mesurez les clics, les demandes et les conversions sur votre propre site avant d’attribuer un effet au widget.
Testez sur ordinateur et mobile avant la mise en ligne. La bulle doit rester visible sans masquer le contenu, et toute demande d’autorisation doit respecter les recommandations d’accessibilité du W3C afin que le widget puisse être compris et contrôlé au clavier comme avec un lecteur d’écran.
Questions fréquentes
Comment ajouter CompleteGreet à React sans alourdir inutilement le bundle ?
Utilisez la méthode d’intégration recommandée dans votre compte et chargez le code séparément de votre bundle principal lorsque c’est prévu. Mesurez tout de même le poids réseau, l’exécution et le rendu sur votre application.
Pourquoi la bulle CompleteGreet n’apparaît-elle pas pendant le développement local ?
Commencez par vérifier que l’adresse locale et son port sont autorisés dans les réglages du site. Contrôlez ensuite les règles d’URL, le consentement, la console, les bloqueurs et le cache.
CompleteGreet ralentit-il une application React ?
L’effet dépend de la vidéo, du mode de chargement, du réseau et de l’application. Comparez les Core Web Vitals et les requêtes avant et après l’installation au lieu de vous fier à une promesse générale.
Peut-on afficher des vidéos différentes selon les routes de React Router ?
Les règles de page ou l’API actuelle peuvent permettre d’adapter le contenu selon l’URL. Configurez les campagnes disponibles, puis testez chaque route et chaque retour en arrière dans le navigateur.
CompleteGreet fonctionne-t-il avec les frameworks React rendus côté serveur comme Next.js ?
Une intégration côté client peut fonctionner avec Next.js et d’autres environnements SSR. Utilisez la méthode recommandée pour votre version et empêchez le code dépendant du navigateur de s’exécuter pendant le rendu serveur.
Quel forfait choisir pour une application SaaS React avec 10 000 visiteurs mensuels ?
Consultez les tarifs actuels et la définition des visiteurs avant de choisir. Vérifiez aussi les seuils, les dépassements, le nombre de sites et les fonctions incluses, car ces éléments peuvent évoluer.
