Sat Oct 10 2026
...
Comment migrer d'OpenWeb vers FastComments en 2026
! Cet article contient du jargon technique
Ce guide s'adresse aux responsables produit et ingénierie ainsi qu'aux community managers qui utilisent OpenWeb aujourd'hui et ont besoin d'un plan de migration. Il passe en revue chaque surface d'OpenWeb, indique l'équivalent FastComments, et précise clairement où il n'existe pas de correspondance 1:1.
Pourquoi maintenant
Le 30 septembre 2026, le tribunal de district de Tel‑Aviv a ordonné la nomination d'un séquestre temporaire sur OpenWeb à la demande de son prêteur, Mars Growth Capital, qui détient un privilège de premier rang sur les actifs et comptes de l'entreprise et cherche à l'appliquer contre les actifs israéliens, les comptes bancaires et la propriété intellectuelle d'OpenWeb (Calcalist, Sept 30). Un séquestre temporaire, l'avocat Ehud Gindes, a été nommé le jour suivant (Calcalist, Oct 4). Plus tôt en 2026, Microsoft, l'un des plus grands clients d'OpenWeb, a mis fin à son engagement et retenu des paiements à cause d'un différend de trafic qu'OpenWeb conteste (Calcalist, Sept 28).
OpenWeb indique que la plateforme continue de fonctionner. La supervision judiciaire, un prêteur qui applique des privilèges sur la PI dont dépend votre widget de commentaires, et un séquestre dont le rôle est de préserver la valeur des actifs ne sont pas des conditions souhaitables pour un éditeur concernant une surface d'engagement centrale. Si vous n'avez pas encore effectué une exportation complète des données, faites‑le en premier, dès aujourd'hui, avant toute autre étape de ce guide.
Ce dont vous avez besoin avant de commencer
Rassemblez ces éléments avant de toucher au code :
- Votre exportation de commentaires OpenWeb. OpenWeb propose une API d'exportation (v4) qui génère des fichiers CSV compressés, au maximum 100 000 commentaires par fichier, avec des fenêtres de plage de dates allant jusqu'à un mois et des liens de téléchargement expirant après une semaine (OpenWeb docs). Demandez chaque fenêtre dont vous avez besoin et conservez les fichiers en lieu sûr. Si votre contact OpenWeb vous a fourni une exportation CSV via le panneau d'administration par le passé, conservez‑la également. L'importateur FastComments lit le CSV OpenWeb avec des colonnes telles que
id,post_id,parent_comment_id,user_name,user_display_name,content,written_at,message_status,likes_count,dislikes_count,reports_counteturl. - Votre Spot ID et la liste des IDs d'articles. Chaque
data-post-idque vous transmettez au lanceur devient un ID d'URL FastComments. Si vos IDs d'articles sont des IDs d'articles CMS, notez comment ils sont générés afin de pouvoir émettre les mêmes valeurs du côté FastComments. - Votre liste d'utilisateurs SSO. Plus précisément les valeurs
primary_keyetuser_nameque vous avez enregistrées avec OpenWeb. L'attribution d'auteur de commentaire est associée au nom d'utilisateur lors de l'import, vous devez donc transmettre les mêmes noms d'utilisateur dans la charge utile SSO de FastComments. - Votre liste de modérateurs et leurs rôles. Comptes admin, modérateur et journaliste, ainsi que les sections que chacun modère.
- Votre configuration de modération. Politique site‑wide (approuver tout, publier et modérer, exiger approbation), surcharges par article, liste de mots restreints, utilisateurs muets et bannis.
- CSS personnalisé et paramètres de thème. Exportez tout ce que vous avez dans le panneau d'administration afin de le reconstruire dans la page de personnalisation du widget FastComments.
- L'emplacement du lanceur dans vos modèles, y compris toutes les pages qui exécutent Reactions, Topic Tracker, Spotlight, la cloche de notification ou une publicité autonome sans conversation.
Migration assistée par IA
FastComments fournit un LLM Kit and MCP server to speed up the migration.
Comment les IDs d'articles OpenWeb se mappent aux IDs d'URL FastComments
FastComments lie un fil de commentaires à un urlId. Par défaut, l'ID d'URL est l'URL de page nettoyée, mais vous pouvez le définir sur n'importe quelle chaîne, et c'est exactement ce que fait l'importateur OpenWeb : il lit la colonne post_id et l'utilise comme ID d'URL FastComments pour chaque commentaire de cet article. Il stocke également la colonne url comme URL d'affichage afin que les liens de modération et les e‑mails de notification pointent vers la bonne page.
Ainsi, la règle pour vos modèles est : partout où vous avez passé data-post-id="POST_ID" et data-post-url="ARTICLE_URL" à OpenWeb, passez urlId: 'POST_ID' et url: 'ARTICLE_URL' à FastComments. Les fils importés s'alignent avec les fils en direct sans redirections ni réécriture d'URL. Voir la documentation sur l'ID d'URL.
Si vous préférez identifier les fils par URL à l'avenir plutôt que par ID d'article, importez d'abord puis utilisez l'outil Migrate Comments sous Manage Data pour déplacer les fils de l'ID d'article vers l'URL en masse.
La carte des fonctionnalités
| OpenWeb | FastComments | Notes |
|---|---|---|
| Conversation with real-time updates | Comment widget with live commenting | Live by default. New comments collapse behind a "Show N New Comments" button, or appear instantly with showLiveRightAway. |
| Likes and dislikes on comments | Up and down votes | Import preserves likes_count and dislikes_count. Heart style and "disable voting" are config options. |
| Reactions (article-level icons) | Page Reacts | Configurable icon set on the page, remembered per user. |
| Replies and threading | Threaded replies, unlimited depth | maxReplyDepth caps nesting. |
| Sorting: best, newest, oldest | Most Relevant, Newest First, Oldest First | defaultSortDirection sets the default per site or per URL pattern. |
| User profiles | User profiles | Avatar, bio, badges, karma, activity, DMs. Works for SSO users. |
| Author Badge | displayLabel, isAdmin, isModerator, badges |
Set in the SSO payload. No backend lookup call needed. |
| Pinned Live Blog updates, highlighted comments | Pin and Unpin on any comment | Moderators pin from the widget or dashboard. An AI agent template pins top-voted comments. |
| In Conversation Polls | Polls on comments | 2 to 10 options, close dates, privacy modes, creator restrictions. |
| Ask Me Anything formats | No dedicated product | Run as a thread with the author's SSO user labeled and the question pinned. |
| Live Blog | No 1:1 equivalent | Live Chat widget and chat-mode comments exist. Editorial live blogging stays in your CMS. |
| Topic Tracker (follow topics and authors) | Page subscriptions | Users follow a page, not a topic or author. No cross-article follow. |
| Notification Bell | Notification bell in the widget | Replies, mentions, thread activity, votes, subscriptions, badges, DMs. |
| Email notifications | Email notifications with templates | Per-user opt-in via SSO flags. Custom templates, branded sender. |
| SSO handshake (codeA/codeB) | Secure SSO (HMAC-SHA256 payload) | No register-user call. Sign a payload server-side, pass it to the widget. |
| Third-party SSO (Auth0, Gigya, Piano) | Secure SSO after your provider authenticates | Same payload. Your backend signs it once the user is logged in. |
| Identity (OpenWeb registration screens) | Magic-link login, Simple SSO | Readers log in with an email link. No passwords. |
| Moderation policy per article | Customization rules per URL ID pattern | Approval mode, spam filter and more vary by */section/* patterns. |
| Aida AI moderation | Spam classifiers, LLM based filters, image moderation, AI Agents | Agents start in dry run and can require human approval. |
| Restricted words | Word blacklist customizable by locale | ~450 default phrases, editable. |
| User muting | Block User | Per-reader block from the comment menu. |
| Bans | Bans | Permanent, timed, shadow, IP-hashed, plus-alias aware. |
| Moderation Panel | Moderate Comments dashboard | Filters, bulk actions with undo, moderation groups, digest emails with one-click approve. |
| Notification Webhook | Webhooks | Comment created, updated, deleted. No per-user notification webhook. |
| Engagement dashboard | Analytics | Live users online, top pages, page loads, comments, votes, accounts by day. No ad revenue reporting. |
| In-conversation ads, Standalone Ad | None | FastComments runs no ads. You keep your own ad stack around the widget. |
| Social Reviews (star ratings) | Ratings and Reviews | Separate product on the same account. |
| Popular in the Community | Recent Discussions and Top Pages widgets | Recirculation driven by comment activity. |
| Comment Counter | Comment count widgets | Single and bulk. |
| Export Comments API | CSV export, API, webhooks | Export from the dashboard any time. |
| Export and Delete User Data (GDPR/CCPA) | Account and data deletion, EU region | eu.fastcomments.com keeps data in the EU. DPA available. |
| Android, iOS, React Native SDKs | Android, iOS, React Native SDKs | Native UI, SSO, live updates, threading, moderation actions. |
| Launcher, Virtual Pages, React SDK | Embed script, fcConfigs, React, Vue, Angular, SolidJS libraries |
update() and destroy() for SPAs. |
Le reste de cette section passe en revue chaque groupe en détail.
Conversation, votes et réactions
La Conversation d'OpenWeb est un fil en temps réel. Le widget de commentaires FastComments l'est aussi : commentaires, modifications, suppressions, votes et actions de modération sont poussés à tous les visiteurs du fil (docs). Par défaut, les nouveaux commentaires d'autres personnes apparaissent derrière un bouton "Show 2 New Comments" afin que la page ne saute pas sous le lecteur. Pour les événements en direct, définissez showLiveRightAway pour qu'ils s'affichent immédiatement, et newCommentsToBottom si vous voulez qu'ils s'écoulent vers le bas comme un chat.
Les likes et dislikes deviennent des votes positifs et négatifs. L'importateur conserve les deux comptes par commentaire. Si votre communauté est habituée à un seul like, passez le style de vote à des cœurs dans la page de personnalisation du widget. Le vote peut également être désactivé complètement.
Les Reactions d'OpenWeb sont un widget séparé avec deux à quatre icônes étiquetées sur l'article (OpenWeb docs). L'équivalent FastComments est Page Reacts : un ensemble configurable d'images de réaction attachées au widget de commentaires, mémorisées par page et par utilisateur (docs). Les comptes de réactions ne font pas partie de l'exportation de commentaires OpenWeb, ils commencent donc à zéro.
Le tri se mappe directement. Les valeurs data-sort-by d'OpenWeb : best, newest et oldest correspondent à Most Relevant, Newest First et Oldest First. Définissez le défaut avec defaultSortDirection (MR, NF, OF) dans le code ou dans une règle de personnalisation. Les lecteurs peuvent changer dans le widget.
data-read-only="true" devient readonly: true, ce qui bloque les nouveaux commentaires, votes, modifications et suppressions. data-post-staleness-days n'a pas d'équivalent direct, mais une règle de personnalisation peut appliquer readonly à un motif d'ID d'URL, et vous pouvez également le basculer depuis vos modèles selon l'âge de l'article. data-messages-count correspond à la taille de page, définie dans la page de personnalisation du widget de 10 à 200 commentaires.
Réponses et fil de discussion
FastComments prend en charge un imbriquement illimité par défaut ; maxReplyDepth le limite (1 donne une structure à deux niveaux). Le CSV OpenWeb inclut les colonnes parent_id et parent_comment_id. L'importateur lit parent_comment_id et reconstruit l'arbre de réponses à pleine profondeur, de sorte qu'une réponse à une réponse reste imbriquée sous son parent direct, avec auteur, horodatage, votes, nombre de drapeaux et état d'approbation intacts. Les réponses sont liées même lorsqu'elles apparaissent avant leur parent dans le fichier, ou lorsque le parent a été importé depuis une fenêtre d'exportation antérieure. Une réponse dont le parent est absent de toutes les exportations devient un commentaire de niveau supérieur. L'ID de message OpenWeb est stocké sur chaque commentaire, ainsi une ré‑importation d'une importation plate plus ancienne le replace en place.
Profils d'utilisateur et badges
Les utilisateurs FastComments, y compris les utilisateurs SSO, obtiennent un profil avec avatar, nom affiché, bio, liens sociaux, badges, karma, nombre de commentaires, flux d'activité public et messages directs (docs). Chacune des surfaces d'activité, de commentaires de profil et de DM peut être désactivée par utilisateur dans la charge utile SSO ou globalement dans la configuration.
Le badge d'auteur d'OpenWeb nécessite d'appeler GET /sso/v1/user/{primary_key} pour l'auteur et de placer l'ID retourné dans data-author-id. Dans FastComments, vous définissez displayLabel: 'Author' (ou tout label jusqu'à 100 caractères) dans la charge utile SSO de l'utilisateur, et isAdmin ou isModerator pour le personnel. Le label s'affiche à côté de leur nom sur chaque commentaire. Pour un système plus riche, configurez les badges sous Customize, Badges : image ou texte, attribués automatiquement selon des seuils (nombre de commentaires, votes positifs, commentaires épinglés, statut vétéran, rapidité de réponse) ou manuellement, et assignables depuis la charge utile SSO avec badgeConfig (docs).
Commentaires épinglés, sondages et Q&A
Tout modérateur peut épingler ou désépingler un commentaire depuis le menu du commentaire dans le widget ou depuis le tableau de bord de modération. Les commentaires épinglés sont poussés en direct à tous les participants du fil. Si vous souhaitez automatiser cela, la fonctionnalité AI Agents propose un modèle Top Comment Pinner qui épingle un commentaire de niveau supérieur dès qu'il dépasse un seuil de votes (docs).
Les sondages In Conversation d'OpenWeb permettent au personnel d'attacher un sondage à 2‑4 options à un commentaire de niveau supérieur. Les sondages FastComments s'attachent également à un commentaire, avec 2 à 10 options, une date de clôture optionnelle, une confidentialité des résultats (anonyme, admin uniquement, tout le monde) et un mode "vote pour voir les résultats". Vous choisissez qui peut créer des sondages (désactivé, admins et modérateurs, tout le monde) et si les lecteurs anonymes peuvent voter. Les sondages sont également exposés via l'API publique pour les créer depuis votre CMS.
OpenWeb a proposé des formats Ask Me Anything sur sa plateforme. FastComments n'a pas de produit Q&A dédié. Le remplacement pratique est un fil normal sur un ID d'URL dédié : l'utilisateur SSO de l'invité porte un displayLabel, vous épinglez le commentaire d'introduction, les lecteurs posent leurs questions en commentaires de niveau supérieur, l'invité répond dans le fil, et les notifications de mention et de réponse ramènent les participants. Définissez noNewRootComments après la clôture de la fenêtre afin que seules les réponses continuent.
Le Community Spotlight (collecteur d'e‑mail, compteur et cartes de redirection d'OpenWeb) n'a pas d'équivalent. Le widget prend en charge du HTML d'en‑tête personnalisé au-dessus de l'entrée de commentaire via headerHTML, ce qui couvre un appel à l'action mais pas un formulaire de capture d'e‑mail.
Live Blog
Il n'existe pas de Live Blog FastComments. Le Live Blog d'OpenWeb est un produit éditorial : des reporters assignés dans le panneau d'administration publient des mises à jour avec des liens intégrés, des tweets et des vidéos, et les lecteurs suivent le fil (OpenWeb docs).
Ce que FastComments propose pour la couverture en direct, c'est le côté lecteur : un widget Live Chat (embed-live-chat.min.js) pour le chat en streaming, et le widget de commentaires en mode chat (showLiveRightAway plus newCommentsToBottom) à côté de votre couverture en direct. Pour les mises à jour éditoriales elles‑mêmes, les éditeurs qui quittent OpenWeb les conservent dans leur CMS ou un outil de live blog dédié et intègrent FastComments en dessous pour la discussion. Les intégrations multimédia (YouTube, SoundCloud, etc.) sont prises en charge dans les commentaires, de sorte que les mises à jour du personnel publiées comme commentaires contiennent du contenu riche.
Tracker de sujets, notifications et e‑mail
Le Tracker de sujets d'OpenWeb permet à un lecteur de suivre des sujets et des auteurs tirés des métadonnées de page et d'être notifié lorsque de nouveaux articles correspondent (OpenWeb docs). FastComments n'a pas de suivi de sujet ou d'auteur entre les articles. Les lecteurs s'abonnent à une page via la cloche de notification et reçoivent des mises à jour pour ce fil, avec la fréquence choisie par abonnement : chaque minute, digest horaire ou digest quotidien. Si le suivi inter‑article est crucial pour vos indicateurs de rétention, faites‑le nous savoir ; cette fonctionnalité figure sur notre feuille de route.
Tout le reste de la Notification Bell se mappe. Le widget possède une cloche qui devient rouge avec le compteur non lu et liste : réponses à vous, réponses dans un fil où vous avez commenté, mentions, votes positifs sur vos commentaires, activité sur les pages abonnées, attributions de badges et messages directs (docs). Les notifications in‑app sont en temps réel via WebSocket. Les e‑mails de réponse et de mention sont envoyés chaque minute pour les commentaires approuvés uniquement.
Pour les utilisateurs SSO, transmettez optedInNotifications et optedInSubscriptionNotifications dans la charge utile et FastComments met à jour leurs préférences au prochain chargement de page. Les e‑mails nécessitent une adresse e‑mail dans la charge utile. Les modèles d'e‑mail sont éditables par type et par langue sous Customize, Email Templates, et l'envoi depuis votre propre domaine avec DKIM est supporté. Les modérateurs et admins reçoivent un digest quotidien, hebdomadaire ou mensuel avec approbation en un clic, réponse et liens anti‑spam.
Le Webhook de notification d'OpenWeb publie des événements de notification par utilisateur (replied-message, liked-message, topic-by-keyword, etc.) vers votre endpoint. Les webhooks FastComments couvrent la ressource commentaire : créé, mis à jour et supprimé, avec autant de points d'abonnement que vous le souhaitez (docs). Si vous utilisiez le webhook de notification pour alimenter votre propre système d'e‑mail, vous reconstruirez cette logique sur les événements de commentaire, ou laisserez FastComments envoyer les e‑mails.
SSO : de codeA/codeB à une charge utile signée
La poignée de main d'OpenWeb comporte six étapes : attendre spot-im-api-ready, OpenWeb génère codeA, votre client l'envoie à votre backend, votre backend confirme l'utilisateur et appelle GET https://www.spot.im/api/sso/v1/register-user?code_a=...&access_token=...&primary_key=...&user_name=..., OpenWeb renvoie codeB, et votre client renvoie codeB à OpenWeb (OpenWeb docs). La déconnexion appelle window.SPOTIM.logout().
FastComments Secure SSO n'a pas de aller‑retour et aucun nouveau endpoint de votre côté. Lorsque vous rendez la page pour un utilisateur connecté, votre backend sérialise l'utilisateur, l'encode en Base64, et le signe avec HMAC‑SHA256 en utilisant votre secret d'API. Le widget envoie la charge utile avec ses requêtes et FastComments vérifie la signature (docs). En Node :
Le timestamp est en millisecondes depuis l'époque et est rejeté s'il a plus de deux jours. Pour un lecteur déconnecté, omettez les trois champs signés et ne transmettez que loginURL (ou une fonction loginCallback) et le widget affichera une invite de connexion à la place du composeur. Des exemples complets en Node, Java et PHP se trouvent dans le dépôt d'exemples de code.
Les utilisateurs sont créés lors du premier chargement de page. Vous ne faites pas d'enregistrement en masse. Parce que l'importateur OpenWeb associe les auteurs de commentaires par user_name, un utilisateur dont la charge utile SSO porte le même username revendique ses commentaires importés dès la première fois qu'il charge un fil et peut les modifier ou les supprimer par la suite. Il existe également une API utilisateur SSO si vous souhaitez pré‑créer des utilisateurs.
Chaque fois que la charge utile est envoyée, FastComments met à jour l'enregistrement utilisateur en conséquence, de sorte qu'un changement de nom affiché ou d'avatar de votre côté se propage au prochain affichage de page. Définissez un champ à null pour le réinitialiser.
Si vous utilisiez le SSO tiers d'OpenWeb avec Auth0, Gigya ou Piano via window.SPOTIM.startSSOForProvider, le flux FastComments est le même : une fois que votre fournisseur a authentifié l'utilisateur, votre backend construit et signe la charge utile. Aucun intégration spécifique au fournisseur n'est requise du côté FastComments.
Deux autres options existent. Le Simple SSO transmet l'objet utilisateur non signé depuis le client, pour les plateformes sans backend, et marque l'activité comme vérifiée lorsqu'un e‑mail est présent (docs). SAML 2.0 signe votre personnel dans le tableau de bord FastComments via Okta, Azure AD ou ADFS, avec mappage de rôles, et est disponible sur les plans Enterprise (docs).
Modération
L'API de politique de modération par article d'OpenWeb possède quatre valeurs : spot_policy, approve_all, publish_and_moderate et require_approval. FastComments configure les mêmes comportements dans Moderation Settings : approbation automatique activée ou désactivée, approbation requise uniquement pour le premier commentaire d'un utilisateur, et auto‑approbation uniquement des commentaires vérifiés (connectés ou SSO). Les règles s'appliquent site‑wide ou à un motif d'ID d'URL tel que */politics/*, ce qui reproduit la politique par section. Chaque commentaire, approuvé ou non, apparaît dans le tableau de bord Moderate Comments, de sorte que le modèle publier‑puis‑revoir est la vue par défaut (docs).
L'import transporte l'état de modération. Le message_status d'OpenWeb : approved s'importe comme approuvé et revu ; rejected s'importe comme spam et revu ; tout autre statut s'importe comme non approuvé et non revu, apparaissant ainsi dans votre file d'attente de modération. reports_count devient le nombre de drapeaux du commentaire.
La modération automatisée sur FastComments est en couches plutôt qu'un système unique comme Aida :
- Un classificateur de spam, entraîné en continu, disponible comme modèle partagé entre tous les locataires ou isolé pour le vôtre, avec un facteur de confiance qui relâche le filtrage pour les utilisateurs de longue date ou souvent épinglés.
- Un contrôle de spam LLM optionnel sur facturation Flex (modèles à poids ouvert comme GLM‑5.3 disponibles).
- Modération de contenu d'image à sensibilité basse, moyenne ou haute pour les images téléchargées.
- Une blacklist de mots localisée d'environ 450 phrases par défaut, éditable, qui masque les correspondances avec des astérisques. C'est ici que vos mots restreints OpenWeb vont.
- Seuils de drapeaux qui masquent automatiquement un commentaire après N signalements.
- Prévention des messages répétés et quasi‑dupliqués, toujours active.
- AI Agents : agents déclenchés par événements avec une liste d'outils explicite (marquer comme spam, approuver, verrouiller, épingler, avertir par DM, bannir, attribuer un badge, répondre). Chaque agent démarre en mode dry run, les outils sensibles peuvent être conditionnés à une approbation humaine, et chaque action est journalisée avec justification et score de confiance.
L'API de mise en sourdine d'utilisateur d'OpenWeb permet à un lecteur SSO de mettre en sourdine un autre. L'équivalent FastComments est Block User dans le menu du commentaire, disponible pour tout lecteur connecté. Les bannissements sont une action de modérateur : permanent ou pour une durée définie, éventuellement un shadow ban (l'utilisateur voit son commentaire mais personne d'autre ne le voit), éventuellement par IP hachée, avec prise en compte des alias d'e‑mail. La liste des utilisateurs bannis est recherchable par e‑mail, nom, modérateur et le commentaire qui a déclenché le bannissement.
Le tableau de bord Moderate Comments prend en charge les filtres (nécessite révision, nécessite approbation, spam, signalé, provenant d'utilisateurs bannis) et la recherche texte, les actions en masse avec annulation et pause, "select all matching" pour les très grandes files, les groupes de modération afin que votre desk sport ne voie que les fils sportifs, les journaux par commentaire montrant pourquoi un e‑mail a été envoyé ou non, et les liens filtrés partageables. Les modérateurs n'ont accès qu'au tableau de bord ; ils ne peuvent pas modifier les paramètres ou importer des données.
Analytique
FastComments Analytics montre les utilisateurs en ligne en ce moment sur vos sites et par page, les pages les plus commentées ou les plus lues en direct, et les séries quotidiennes pour les chargements de page, commentaires, votes et comptes créés (docs). Les statistiques des modérateurs sont séparées. Les comptes sont quasi temps réel, retard d'au plus une minute, et chaque chargement de page est compté plutôt qu'échantillonné.
Ce que vous ne trouverez pas, c'est quoi que ce soit concernant le remplissage d'annonces, le CPM ou les revenus, car il n'y a pas de publicités. Si le tableau de bord d'OpenWeb était votre source pour le reporting engagement‑revenus, ce reporting passe à votre propre pile publicitaire.
Monétisation
OpenWeb place des publicités à l'intérieur et autour de la Conversation et propose une unité Standalone Ad, avec des campagnes configurées via votre contact OpenWeb (OpenWeb docs). FastComments ne diffuse pas de publicités dans le widget, ne partage pas de revenus, et ne charge aucun script publicitaire ou de suivi tiers. Le widget est une iframe que vous placez ; les emplacements publicitaires au-dessus et en dessous vous appartiennent et fonctionnent via ce que vous utilisez déjà.
Le compromis est explicite : vous perdez ce que OpenWeb vous payait, et vous gagnez un coût fixe, prévisible, et un widget qui n'ajoute pas de requêtes publicitaires à votre page. Le branding est retiré sur les plans Flex et Pro, et le white‑labeling est disponible sur les plans Pro et Enterprise.
Exportation de données et confidentialité
Toutes les exportations de données de commentaires depuis le tableau de bord FastComments sont disponibles en CSV à tout moment, avec des dates au format UTC ISO, et les mêmes données sont accessibles via l'API. Les webhooks couvrent la synchronisation continue. Les fichiers d'importation sont supprimés de FastComments dès que l'importation se termine.
Pour le GDPR et le CCPA, OpenWeb propose une API d'exportation et de suppression où les commentaires des utilisateurs supprimés restent attachés à un compte invité aléatoire (OpenWeb docs). FastComments prend en charge les demandes d'exportation et de suppression de données, propose un Data Processing Agreement, et exécute un déploiement séparé EU sur eu.fastcomments.com avec les données répliquées uniquement au sein des points de présence EU. Créez votre compte là‑bas si vos lecteurs sont en Europe. Dans la région EU, les bans d'agents IA nécessitent toujours une approbation humaine pour satisfaire l'Article 17 du DSA.
Les données de commentaires dans le déploiement global sont répliquées à travers les régions, y compris un nœud à Singapour, et le widget est servi depuis le DNS et le CDN propres à FastComments. Le script d'intégration fait environ 35 kb compressé sur le réseau.
SDK mobiles
OpenWeb propose des SDK Android, iOS et React Native avec Conversation, Articles, Authentification, Notifications, Reactions et sondages In Conversation. FastComments propose des bibliothèques natives Android, iOS et React Native avec commentaires en fil, mises à jour en direct via WebSocket, Secure SSO, votes, mentions, téléchargements d'images, actions de modération (flag, pin, lock, block), thématisation, mode chat en direct et composant flux social. La région EU est un drapeau de configuration. Il n'existe pas de SDK publicitaire séparé car il n'y a pas de publicités.
Intégration d'embed et SPA
Le lanceur et le conteneur OpenWeb :
L'équivalent FastComments :
Votre tenant ID se trouve sur la page des identifiants une fois que vous avez un compte. data-article-tags n'a pas d'équivalent puisqu'il n'existe pas de suivi de sujet ; les hashtags dans les commentaires sont une fonctionnalité différente.
Pour le défilement infini et les applications monopage, l'approche Virtual Pages d'OpenWeb consiste en un conteneur par article. Dans FastComments, vous appelez FastCommentsUI(element, config) par fil puis plus tard instance.update(newConfig) pour changer l'ID d'URL ou instance.destroy() pour le retirer (docs). Les bibliothèques React, Vue, Angular et SolidJS gèrent cela lorsque la prop de configuration change. Les callbacks de cycle de vie (onInit, onRender, commentCountUpdated, onReplySuccess, onVoteSuccess, onAuthenticationChange, onCommentSubmitStart) remplacent les événements DOM spot-im-* que vous écoutiez.
Les compteurs de commentaires sur les pages d'index utilisent le widget de compteur de commentaires, simple ou en masse. Pour le SEO, les commentaires sont rendus directement dans la page pour les crawlers des moteurs de recherche plutôt qu'à l'intérieur de l'iframe, il n'y a donc pas d'appel API SEO à configurer.
Basculement étape par étape
1. Créez le compte et configurez les bases. Inscrivez‑vous sur fastcomments.com ou eu.fastcomments.com. Définissez vos paramètres de modération, blacklist de mots, style de vote, tri par défaut et CSS personnalisé dans la page de personnalisation du widget. Ajoutez des modérateurs et des groupes de modération. Si vous avez de nombreux utilisateurs admin, nous pouvons les importer pour vous.
2. Exécutez une première importation. Allez à Manage Data, Import, choisissez OpenWeb (.csv) et téléversez. L'import s'exécute en tâche de fond ; la page montre le nombre de lignes et le statut, et vous recevez un e‑mail à la fin (docs). Chaque commentaire conserve son ID de message OpenWeb comme ID externe, ainsi une ré‑importation met à jour les commentaires existants au lieu d'en créer des doublons.
3. Vérifiez les comptes. Comparez le nombre de lignes du job avec votre export. Ouvrez quelques IDs d'URL à fort trafic dans le tableau de bord de modération et vérifiez les auteurs, dates, totaux de votes et états d'approbation. Confirmez que les commentaires rejetés apparaissent comme spam et que les en attente sont dans la file.
4. Construisez la charge utile SSO. Implémentez le code de signature ci‑dessus dans votre backend, en utilisant les mêmes id et username que vous aviez avec OpenWeb. Testez avec un compte staff sur une page de staging : les commentaires importés de cet utilisateur apparaissent comme les siens, et les actions de modification/suppression apparaissent dans son menu de commentaire.
5. Remplacez l'embed sur un modèle de staging. Remplacez le lanceur et le conteneur par le snippet FastComments, en mappant data-post-id vers urlId et data-post-url vers url. Supprimez window.SPOTIM.logout() et les écouteurs spot-im-*, ou mappez‑les aux callbacks correspondants. Appliquez votre CSS dans une règle de personnalisation plutôt que dans le code afin qu'il soit testé à chaque mise à jour de FastComments.
6. Exécutez en parallèle. Déployez FastComments sur une section ou un pourcentage d'articles pendant qu'OpenWeb reste actif sur le reste. Aucun changement n'est requis du côté OpenWeb. Surveillez la file de modération et la page d'analytique. Les lecteurs commentant sur les pages FastComments pendant cette fenêtre ne figurent pas dans votre export OpenWeb, donc planifiez l'import final avant qu'ils ne commencent, pas après.
7. CSP et DNS. Si vous utilisez une Content‑Security‑Policy, autorisez cdn.fastcomments.com et fastcomments.com (ou eu.fastcomments.com) pour script-src, frame-src et connect-src, et retirez les entrées spot.im et openweb.com une fois le lanceur supprimé. Aucun changement n'est nécessaire sur votre DNS. Aucun redirection n'est requise car les IDs d'URL correspondent.
8. Import final et mise en production. Récupérez un dernier export OpenWeb couvrant la fenêtre de fonctionnement parallèle, téléversez‑le (la ré‑importation est sûre), puis déployez le changement de modèle sur toutes les pages et retirez le lanceur, les Reactions, le Tracker de sujets, le Spotlight, la cloche et les conteneurs publicitaires.
9. Checklist de mise en production.
- Commentaires en direct visibles sur un article de production depuis deux navigateurs.
- Connexion SSO, déconnexion et un commentaire sous un vrai compte abonné.
- Les modérateurs reçoivent le digest et peuvent approuver depuis celui‑ci.
- Les e‑mails de réponse et de mention arrivent et pointent vers la bonne page.
- La liste des bans et la blacklist de mots sont peuplées.
- Page Reacts et compteurs de commentaires s'affichent là où les Reactions et le compteur étaient.
- Les rapports CSP sont propres.
- Une dernière comparaison du compteur de commentaires entre votre export et le tableau de bord.
Ce que vous perdez et ce qui diffère
Être direct sur les écarts :
- Live Blog. Aucun équivalent. Conservez‑le dans votre CMS ou un outil de live‑blogging et placez FastComments en dessous.
- Tracker de sujets. Aucun suivi de sujet ou d'auteur entre articles. Seulement des abonnements de page.
- Community Spotlight. Aucun produit de carte CTA.
headerHTMLvous donne un message au-dessus du composeur, pas de capture d'e‑mail. - Revenus publicitaires. Aucun. Le widget est sans publicité par conception.
- Webhook de notification. Les webhooks portent sur les événements de commentaire, pas sur les événements de notification par utilisateur.
- Historique des réactions. Les comptes de réactions au niveau article ne sont pas dans l'export de commentaires et recommencent à zéro. Nous pouvons parfois les extraire de votre site.
- Historique des sondages. Les définitions de sondage et les votes ne sont pas dans l'export de commentaires ; le texte du sondage s'importe, le sondage non. Nous pouvons parfois les extraire de votre site.
- Modèle de connexion. Les lecteurs sans SSO se connectent via un lien magique au lieu d'un mot de passe ou d'un bouton de connexion sociale par défaut.
- Équipe de modération humaine. OpenWeb fournit une équipe de modération avec Aida. FastComments fournit des outils, des classificateurs et des agents ; les humains sont les vôtres.
Ce que vous gagnez, dans le même esprit : un widget qui ajoute un petit script et aucune requête publicitaire, une modération qu'une seule personne peut gérer pour un grand site grâce aux actions en masse et aux agents, un SSO qui repose sur une fonction de signature plutôt que sur un protocole, et un fournisseur qui n'est pas sous supervision judiciaire.
Chronologie et offre d'import gratuit
Prévoyez une à deux semaines pour un éditeur avec une intégration SSO et quelques centaines de milliers de commentaires : un jour ou deux pour l'export et la première importation, quelques jours pour le SSO et les modèles, une fenêtre de fonctionnement parallèle, puis l'import final et le basculement. La plateforme supporte déjà cette échelle : United Cloud gère plus de dix portails et des millions de commentaires sur FastComments, et itsfoss.com a migré un historique de 88 000 commentaires d'un autre fournisseur via le même importateur en libre‑service.
FastComments importe gratuitement votre export CSV OpenWeb, vous aide à faire fonctionner OpenWeb et FastComments en parallèle pendant le basculement, et vous accompagne dans la migration elle‑même, y compris les questions de fil de discussion et d'appariement d'utilisateurs. Les plans Enterprise incluent un SLA de 99,99 % et un support répondant en moins d'une heure pendant les heures ouvrées. La tarification Flex à l'usage est disponible pour les sites qui souhaitent démarrer sans contrat.
Écrivez‑nous avec la taille de votre export et votre configuration SSO et nous reviendrons avec un plan.
En conclusion
Exportez votre export dès aujourd'hui. Souvenez‑vous : les mêmes IDs d'articles deviennent des IDs d'URL, l'état de modération est conservé, et l'embed est un simple remplacement. Les points où FastComments diffère sont listés ci‑dessus afin que vous puissiez décider en connaissance de cause. :)
Cheers!
