Explique, avec des messages d'erreur réels vérifiés à partir du code, les symptômes les plus fréquents côté partage (QR / e-mail / SMS), synchronisation cloud, connexion Internet et connexion (connexion avec Activation King / code e-mail OTP) sur le kiosque photobooth d'Activation King. Chaque point comprend un symptôme + sa cause + sa solution.
- La plupart des problèmes nécessitent une connexion Internet active — la connexion, le partage et la synchronisation cloud ne fonctionnent pas lorsque le kiosque est hors ligne
- Un événement doit d'abord être sélectionné pour pouvoir modifier les paramètres de partage (E-mail / SMS) — si aucun événement n'est sélectionné, les onglets de partage restent vides (Sélectionner un événement)
- Le partage par e-mail et par SMS est DÉSACTIVÉ par défaut sur un nouvel événement — aucun test ni envoi n'est possible tant que l'utilisateur n'a pas activé l'interrupteur dans l'onglet correspondant
- Pour les fonctionnalités IA (AI Effects, Face Swap, AI Vidéo), le compte doit être au plan Pro AI ou Ultimate AI
- Si l'événement est passé en Mode hors ligne, les fonctionnalités IA, de partage et de cloud sont volontairement désactivées
Étape par étape
Symptôme : les boutons de connexion n'apparaissent jamais sur l'écran de connexion
Écran de connexion
Cause : il n'y a pas de connexion Internet. L'écran de connexion masque les boutons Se connecter avec Activation King et Se connecter avec un code par e-mail jusqu'à ce que la connexion arrive ; à la place apparaît un avertissement d'attente de connexion (code : LoginPage.razor, branche InternetConnected=false). Solution : vérifiez la connexion Wi-Fi/Ethernet de l'appareil ; dès que la connexion est établie, l'avertissement disparaît et les boutons apparaissent automatiquement (pas besoin de rafraîchir manuellement — l'événement ConnectivityChanged le déclenche). Remarque : sur Android, le contrôle de connexion renvoie toujours « en ligne » (AlwaysOnlineConnectivityService — pour un problème de ping ICMP) ; cette bannière n'y apparaît pas.
🔎 Éléments à l'écran : En attente de connexion internet (WaitingForInternet)

Symptôme : l'écran de connexion reste bloqué sur « Vérification de votre compte », les boutons n'arrivent pas
Écran de connexion
Cause : Internet est disponible mais le flux de démarrage de l'application (AppStartupFlow) n'est pas encore terminé — une tentative de connexion automatique / une requête d'information utilisateur (userinfo/refresh) est en cours en arrière-plan. Les boutons ne s'activent que lorsque AppReady est atteint (flux de démarrage terminé + session non ouverte) (code : LoginViewModel.UpdateAppReadyState). Solution : attendez quelques secondes ; si le serveur est lent, la vérification peut prendre plus de temps. Si l'appareil s'est déjà connecté auparavant, une fois le flux terminé, on passe directement au tableau de bord (cet écran est sauté). Si le blocage persiste longtemps, vérifiez la qualité de la connexion Internet et redémarrez l'application.
🔎 Éléments à l'écran : Vérification de votre compte (CheckingAccount)
Symptôme : le code de vérification e-mail (OTP) n'arrive pas
Connexion par e-mail (Envoyer le code / Vérification)
Cause : l'envoi du code a peut-être échoué côté serveur, ou l'e-mail est incorrect/tombé dans les spams. Si l'on appuie sur « Envoyer le code » alors que le champ e-mail est vide, une erreur de champ apparaît ; en cas d'échec d'envoi, le message du serveur ou une erreur générique s'affiche. Solution : (1) Écrivez correctement l'adresse e-mail (un avertissement apparaît si elle est vide). (2) Vérifiez le dossier spam/indésirable. (3) À l'étape 2, appuyez sur Renvoyer le code (il peut y avoir une limite de renvoi de courte durée, vous pouvez redemander dès que le compte à rebours se termine). (4) Si vous avez saisi la mauvaise adresse, corrigez-la avec Changer d'e-mail.
🔎 Éléments à l'écran : « Veuillez saisir votre adresse e-mail. » (PleaseEnterEmail) · « Le code de vérification n'a pas pu être envoyé. » (OtpSendFailed) · Renvoyer le code (ResendOtpCode) · Changer d'e-mail (ChangeEmail)
Symptôme : le code de vérification saisi n'est pas accepté (« il reste X tentatives »)
Saisissez le code de vérification (étape 2)
Cause : le code est incorrect ou a expiré. Le serveur renvoie le nombre de tentatives restantes (RemainingAttempts) à chaque tentative erronée ; l'application affiche le nombre de tentatives restantes à côté du message d'erreur (code : LoginViewModel.VerifyOtpAsync). Solution : copiez-collez le code depuis votre application e-mail (le champ n'accepte que 6 chiffres). S'il a peut-être expiré et que vous n'êtes pas sûr, obtenez un nouveau code avec Renvoyer le code (l'ancien code devient invalide).
🔎 Éléments à l'écran : « Échec de la vérification. Veuillez réessayer. » (OtpVerifyFailed) + « (il reste 3 tentatives) » (OtpAttemptsRemaining, {0}=tentatives restantes)

Symptôme : le champ du code est verrouillé, je ne peux plus saisir de code
Saisissez le code de vérification (étape 2)
Cause : trop de tentatives erronées ont été effectuées — le serveur a ramené le nombre de tentatives restantes à 0, l'application a désactivé la case de saisie du code et le bouton « Vérifier et se connecter » (IsCodeInputDisabled=true). Solution : appuyez sur le lien Renvoyer le code ; lorsqu'un nouveau code est demandé, le nombre de tentatives est réinitialisé et le champ se réactive. Réessayer l'ancien code ne sert à rien.
🔎 Éléments à l'écran : « Trop de tentatives échouées. Veuillez demander un nouveau code de vérification. » (OtpAttemptsExceeded) · « Renvoyer le code » (ResendOtpCode)
Symptôme : « Connexion avec Activation King » reste bloqué / ne revient pas du navigateur
Écran de connexion → navigateur système → Authentification...
Cause : cette méthode ouvre la page de connexion dans le navigateur système (Windows : navigateur par défaut, Android : Chrome Custom Tabs, iOS/Mac : Safari) et attend un callback. Si l'utilisateur ferme le navigateur/abandonne l'opération en cours de route, le callback n'arrive jamais et l'application reste sur l'écran Authentification.... Solution : sur Windows et Android, appuyez sur le bouton « Annuler » de l'écran d'attente pour revenir à l'écran de connexion et réessayer (sur iOS/Mac, la session Safari a sa propre annulation). En cas d'expiration du délai, l'application affiche déjà une erreur et revient à l'écran de connexion. En cas d'annulation volontaire, aucune bannière d'erreur n'est affichée, on revient silencieusement à l'écran de connexion.
🔎 Éléments à l'écran : Authentification... (Authenticating) · Annuler (Cancel) · en cas d'erreur, « Délai de connexion dépassé. Veuillez réessayer. » (OAuthTimeout) / « La connexion n'a pas pu être terminée. Veuillez réessayer. » (OAuthSignInIncomplete) / « Échec de la connexion. Veuillez réessayer. » (LoginFailed)
Symptôme : l'appareil a été soudainement déconnecté / « Session de l'appareil fermée »
Écran de connexion
Cause : le compte s'est connecté sur un autre appareil, ou la limite d'appareils a été dépassée, ou la licence a expiré — le serveur a invalidé la session de cet appareil. Solution : reconnectez-vous. Si vous voyez Limite de l'appareil dépassée, déconnectez un appareil non utilisé (Paramètres → Compte). Si c'est « la licence a expiré », renouvelez votre abonnement. Un compte ne peut pas être utilisé simultanément sur plusieurs kiosques.
🔎 Éléments à l'écran : « Session de l'appareil fermée » (DeviceLoggedOut) · « Limite d'appareils dépassée » (DeviceLimitExceeded) · « Licence expirée. Renouvelez votre abonnement. » (LicenseTimeExceeded)
Symptôme : la connexion réussit mais le tableau de bord ne s'ouvre pas (l'écran de paiement apparaît)
Connexion → Paiement (Paywall)
Cause : la connexion est vérifiée mais le compte nécessite un paiement/abonnement actif (PaywallRequired=true). Dans ce cas, la session ne s'ouvre pas complètement, l'écran de paiement s'affiche à la place du tableau de bord (code : LoginViewModel — si PaywallRequired, IsLoading est désactivé, la page ne change pas). Solution : terminez l'étape de paiement/abonnement ; une fois terminé, le passage au tableau de bord (Gestion des événements) se fait automatiquement. Sur mobile, pendant le traitement du paiement, l'écran Finalisation de votre achat... apparaît. Ce n'est pas une erreur, c'est une porte de paiement.
🔎 Éléments à l'écran : « Finalisation de l'achat... » (CompletingPurchase)
Symptôme : le SMS test n'arrive pas sur le téléphone
Partage → Partage par SMS
Cause : le fournisseur SMS n'est pas connecté/configuré ou les informations saisies sont incorrectes. Seul Twilio est pris en charge ; si Twilio n'est pas connecté et que le paramètre de fournisseur est vide, la requête part en tant que « Custom » et échoue avec une erreur de fournisseur invalide. Le bouton test ne fait silencieusement rien si le numéro de téléphone est vide ; si l'envoi n'aboutit pas dans les 30 s, il est considéré comme échoué. Solution : (1) Assurez-vous que l'interrupteur SMS est activé. (2) Connectez-vous à Twilio (Connectez-vous avec votre compte Twilio ou Saisie manuelle avec Account SID / Auth Token / numéro d'expéditeur). (3) Saisissez un numéro de téléphone valide pour le test et appuyez sur Envoyer un SMS test. En cas de succès, une coche verte et un message de succès apparaissent.
🔎 Éléments à l'écran : Échec : « Le SMS test n'a pas pu être envoyé. » (TestSmsFailed) · Succès : « Le SMS test a été envoyé à votre numéro de téléphone. » (TestSmsSent) · bouton : Envoyer un SMS test (SendTestSMS)

Symptôme : impossible de se connecter à Twilio pour les SMS (« Échec de la connexion »)
Partage → Partage par SMS → fenêtre modale Connexion Twilio
Cause : le Account SID / Auth Token / numéro d'expéditeur saisis dans la fenêtre modale de connexion manuelle n'ont pas pu être validés par Twilio (code : SharingSmsViewModel.ConnectTwilioAsync — si success=false, TwilioConnectFailed=true). Solution : copiez exactement les valeurs Account SID (commence par AC) et Auth Token depuis la console Twilio ; saisissez le numéro d'expéditeur au format international (par ex. +15550001234). Si les informations sont correctes, la carte devient verte et l'étiquette Twilio connecté + le numéro connecté apparaissent. Vous pouvez aussi utiliser le flux de connexion web avec Connectez-vous avec votre compte Twilio.
🔎 Éléments à l'écran : « Échec de la connexion. Vérifiez les informations. » (TwilioConnectFailedMsg) · une fois connecté, Twilio connecté (TwilioConnectedLabel) · Connexion... (Connecting)
Symptôme : l'e-mail test n'arrive pas à l'invité/à l'adresse
Partage → Partage par e-mail
Cause : le fournisseur d'e-mail n'est pas connecté ou les informations SMTP sont incorrectes. Si Gmail/Outlook est sélectionné, le compte doit être connecté via OAuth ; sans connexion, les champs nom d'utilisateur/mot de passe/serveur/port SMTP apparaissent et doivent être remplis. Le bouton test ne fait rien si l'adresse test est vide ; en cas d'échec, le code de résultat renvoyé par le serveur s'affiche comme message. Solution : (1) Assurez-vous que l'interrupteur e-mail est activé. (2) Pour Gmail/Outlook, connectez-vous avec « Se connecter avec Google » / Outlook (une fois connecté, le texte « Les e-mails seront envoyés depuis ce compte sans mot de passe. Pas besoin de paramètres SMTP. » apparaît). (3) Si vous utilisez un SMTP personnalisé, saisissez le nom d'utilisateur, le mot de passe d'application, le serveur (par ex. smtp.gmail.com) et le port (par ex. 587). (4) Saisissez une adresse test valide et appuyez sur Envoyer un e-mail test.
🔎 Éléments à l'écran : Succès : « L'e-mail test a été envoyé à votre adresse. » (TestEmailSent) · bouton : Envoyer un e-mail test (SendTestMail) · information de connexion : Compte Google connecté (GoogleAccountConnected) / « Les e-mails seront envoyés depuis ce compte sans mot de passe... » (OAuthEmailInfo)

Symptôme : les onglets de partage sont vides / les champs de test n'apparaissent jamais
Partage (E-mail / SMS)
Cause : deux cas possibles : (a) aucun événement n'est sélectionné — les paramètres de partage ne se chargent que lorsqu'un événement est sélectionné (code : LoadSettings, sortie anticipée si !IsEventSelected). (b) l'interrupteur e-mail/SMS est désactivé — lorsqu'il est désactivé, seul l'interrupteur d'activation est visible, les sections fournisseur et test sont masquées (désactivé par défaut sur un nouvel événement). Solution : (1) Sélectionnez/créez d'abord un événement. (2) Activez l'interrupteur E-mail / SMS en haut de l'onglet correspondant ; une fois les sections ouvertes, les champs fournisseur et test apparaissent.
🔎 Éléments à l'écran : Sélectionner un événement (SelectAnEvent) · titres d'onglets : Partage par e-mail (EmailSharing), Partage par SMS (SMSSharing)
Symptôme : le code QR / bouton Galerie n'apparaît pas dans le booth, l'invité ne peut pas partager
Partage → Activation Share
Cause : les interrupteurs correspondants dans la section Activation Share peuvent avoir été désactivés (Activer le code QR / bouton Galerie / Partager), ou aucun événement n'est sélectionné. Ces interrupteurs sont des paramètres par événement et contrôlent les options de partage sur l'écran de l'invité. Solution : dans l'onglet Partage → Activation Share, vérifiez que Activer le code QR et les autres interrupteurs nécessaires sont activés. Pour l'aperçu du micro-site, un événement doit également être sélectionné (sinon l'avertissement Sélectionner un événement apparaît et le bouton d'aperçu reste inactif).
🔎 Éléments à l'écran : Activer le code QR (EnableQRCode) · Activation Share (ActivationShare) · Sélectionner un événement (SelectAnEvent)
Symptôme : l'IA, le partage et l'enregistrement cloud ne fonctionnent pas (même sans aucune erreur)
Paramètres d'événement → Mode événement
Cause : l'événement a été passé en Mode hors ligne. Ce mode désactive volontairement les fonctionnalités IA / partage / cloud (conçu pour fonctionner sans Internet). Solution : dans Paramètres d'événement → Mode événement, changez la carte en « Mode en ligne » (Recommandé). En mode en ligne, toutes les fonctionnalités, y compris l'IA, le partage et l'enregistrement cloud, sont activées.
🔎 Éléments à l'écran : Mode hors ligne — « Les fonctionnalités IA, de partage et de cloud seront désactivées. » (OfflineMode/OfflineModeDesc) · Mode en ligne — « Utilisez toutes les fonctionnalités comme l'IA, le partage et l'enregistrement cloud. » (OnlineMode/OnlineModeDesc, badge « Recommandé »)

Symptôme : AI Effects / Face Swap / AI Vidéo ne s'ouvrent pas, bannière de verrouillage présente
Actifs IA (AI Assets) / onglets IA
Cause : le plan du compte est insuffisant pour ces fonctionnalités — AI Effects, Face Swap et AI Vidéo nécessitent un plan Pro AI ou Ultimate AI. Lorsque le plan est insuffisant, une bannière de verrouillage s'affiche à la place du contenu de la page (code : AiAssets.razor, branche !IsAllowed). Solution : ouvrez l'écran de paiement/mise à niveau avec le bouton « Passer à Pro AI » de la bannière et mettez à niveau votre plan. Après la mise à niveau, les sections IA s'ouvrent.
🔎 Éléments à l'écran : « Pro AI ou supérieur requis » (AiAssetsProRequired) · « Vous êtes actuellement sur le compte {plan}. Passez à Pro AI ou Ultimate AI pour AI Effects, Face Swap et AI Vidéo. » (AiAssetsProRequiredSub) · bouton : « Passer à Pro AI » (UpgradeToPro)
Symptôme : le compteur « X/Y Importation... » en haut à droite de la galerie reste bloqué
Galerie (Gallery)
Cause : le compteur affiche les sessions téléchargées depuis le cloud et en cours de préparation locale (en attente de média-pull + AtomicSwap, NotReadyToUse) : X = nombre prêt affiché dans la galerie, Y = total prêt + en attente. Si le téléchargement de média d'une session ne se termine jamais, cette session reste indéfiniment « en attente » et le compteur n'avance pas (aucune protection de délai n'a été volontairement mise en place — pour rendre visibles les téléchargements bloqués). Solution : (1) Vérifiez la connexion Internet ; le téléchargement se termine généralement une fois la connexion rétablie. (2) Attendez un moment dans la galerie — l'application élève automatiquement les téléchargements en attente vers une file prioritaire (PromotePendingImports). (3) En cas de blocage persistant, fermez puis rouvrez l'événement, ou redémarrez l'application pour que la synchronisation se termine.
🔎 Éléments à l'écran : Importation... (Importing) — format du compteur : « X/Y Importation... »
Symptôme : les médias/miniatures ne se chargent pas, la galerie semble vide
Galerie / Importation d'événement
Cause : la galerie est peut-être consultée avant la fin de la synchronisation cloud — tant que les sessions sont en état « importation en cours », les médias ne sont pas encore descendus en local ; ou bien le cloud est désactivé parce que l'événement est en Mode hors ligne ; ou il n'y a pas d'Internet. Solution : (1) Vérifiez la connexion Internet. (2) Attendez que le compteur « X/Y Importation... » en haut à droite se termine — une fois remis à zéro, tous les médias deviennent visibles. (3) Assurez-vous que le mode événement est En ligne (en mode hors ligne, la synchronisation cloud/média ne fonctionne pas).
🔎 Éléments à l'écran : Importation... (Importing) · Mode hors ligne (OfflineMode) · En attente de connexion internet (WaitingForInternet)
Avant d'envoyer un partage, testez toujours avec le bouton Test : si vous voyez une coche verte + un message de succès, le fournisseur est correctement configuré.
Pour l'e-mail, connecter Gmail/Outlook via OAuth est le plus simple — une fois connecté, vous n'avez pas besoin de saisir le nom d'utilisateur/mot de passe/serveur/port SMTP (« Les e-mails seront envoyés depuis ce compte sans mot de passe »).
Pour les SMS, seul Twilio est pris en charge ; copiez exactement le numéro d'expéditeur et l'Auth Token/Account SID depuis la console Twilio, saisissez le numéro avec l'indicatif du pays précédé de « + ».
Le code OTP comporte 6 chiffres et n'est composé que de chiffres ; il a une durée limitée — en cas de doute, obtenez un nouveau code avec Renvoyer le code (l'ancien code devient invalide).
Si l'événement est en Mode hors ligne, l'IA/le partage/le cloud sont désactivés ; sur une installation avec Internet, choisissez toujours Mode en ligne (Recommandé).
Si le compteur « X/Y Importation... » de la galerie progresse, la synchronisation est saine ; attendez simplement. S'il reste bloqué longtemps au même nombre, recherchez un problème d'Internet/synchronisation.
Chercher les boutons de connexion sans Internet — seul En attente de connexion internet apparaît jusqu'à ce que la connexion arrive, les boutons apparaissent ensuite.
Essayer d'envoyer un test sans activer l'interrupteur de partage — les champs de test n'apparaissent jamais tant que l'e-mail/SMS est désactivé (désactivé par défaut sur un nouvel événement).
Essayer de modifier les paramètres de partage sans sélectionner d'événement — les paramètres ne se chargent que lorsqu'un événement est sélectionné.
Envoyer un test SMS sans avoir connecté Twilio — sans connexion, la requête retombe sur le fournisseur « Custom » et l'erreur « Le SMS test n'a pas pu être envoyé. » apparaît.
Appuyer sur le bouton Test avec une adresse/un numéro de test vide en attendant une réponse — le bouton ne fait silencieusement rien lorsque le champ est vide (aucune erreur n'est même affichée).
Réécrire l'ancien code dans le champ OTP verrouillé après trop de tentatives erronées — il faut d'abord obtenir un nouveau code avec Renvoyer le code pour réactiver le champ.
Penser que le non-fonctionnement du partage/de l'IA en Mode hors ligne est une panne — ce mode désactive volontairement ces fonctionnalités ; il faut passer en Mode en ligne.
Penser que le tableau de bord qui ne s'ouvre pas malgré une connexion réussie est une erreur — si le compte nécessite un paiement, le paywall apparaît d'abord, on passe au tableau de bord une fois le paiement terminé.
Sujets connexes
Paramètres de partage (E-mail / SMS / Activation Share) Connexion à l'application (Connexion avec Activation King / Code e-mail) Mode événement (En ligne / Hors ligne) Actifs IA et mise à niveau de plan Abonnement et paiement (Paywall)