{"id":1065,"date":"2026-10-05T16:11:11","date_gmt":"2026-10-05T14:11:11","guid":{"rendered":"https:\/\/sos-captcha.com\/release-notes\/"},"modified":"2026-10-12T12:27:53","modified_gmt":"2026-10-12T10:27:53","slug":"release-notes","status":"publish","type":"page","link":"https:\/\/sos-captcha.com\/fr\/release-notes\/","title":{"rendered":"Notes de mise \u00e0 jour"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Toutes les versions de SOS Captcha, de la plus r\u00e9cente \u00e0 la plus ancienne. Les nouvelles versions sont disponibles depuis l&rsquo;\u00e9cran \u00ab Plugins \u00bb de votre interface d&rsquo;administration WordPress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-85\">1.0.85 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-12<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Correction (version Premium) : la page \u00ab Statistiques \u00bb enregistre d\u00e9sormais correctement les validations. La table de base de donn\u00e9es correspondante n\u2019avait jamais \u00e9t\u00e9 cr\u00e9\u00e9e et les compteurs n\u2019\u00e9taient charg\u00e9s que dans l\u2019interface d\u2019administration, ce qui faisait que la page affichait en permanence le message \u00ab Aucune donn\u00e9e pour l\u2019instant \u00bb.<\/li>\n\n\n<li>Nouveau (version Premium) : donn\u00e9es relatives au curseur dans les statistiques \u2014 nombre moyen de points de contr\u00f4le et temps de r\u00e9solution par formulaire, ainsi qu\u2019une ventilation des tentatives bloqu\u00e9es par motif indiquant jusqu\u2019o\u00f9 le curseur s\u2019est d\u00e9plac\u00e9 (un bot qui ne le touche jamais ne collecte aucun point de contr\u00f4le). Les statistiques sont conserv\u00e9es pendant un an et ne contiennent toujours aucune donn\u00e9e personnelle.<\/li>\n\n\n<li><strong>Nouveau :<\/strong> les actions <code>soscaptcha_validation_success<\/code> et <code>soscaptcha_validation_failed<\/code> re\u00e7oivent les donn\u00e9es du curseur (points de contr\u00f4le, points collect\u00e9s, temps de r\u00e9solution) en argument suppl\u00e9mentaire.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-84\">1.0.84 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-12<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>S\u00e9curit\u00e9 (formulaires de connexion, version Premium) : le contr\u00f4le par curseur sur la page de connexion WordPress et sur la page \u00ab Mon compte \u00bb de WooCommerce a \u00e9t\u00e9 renforc\u00e9. Il s&rsquo;ex\u00e9cute d\u00e9sormais avant la v\u00e9rification du nom d&rsquo;utilisateur et du mot de passe, et toute tentative de connexion qui ne passe pas le test du curseur re\u00e7oit la m\u00eame r\u00e9ponse. La connexion avec le curseur r\u00e9solu fonctionne comme auparavant.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-83\">1.0.83 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-12<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Correction (Contact Form 7) : un message rejet\u00e9 par le curseur est d\u00e9sormais bloqu\u00e9 au niveau du filtre anti-spam propre \u00e0 Contact Form 7, avant que d&rsquo;autres extensions ne traitent l&rsquo;envoi. Jusqu\u2019\u00e0 pr\u00e9sent, le rejet annulait uniquement l\u2019e-mail ; par cons\u00e9quent, les extensions qui enregistrent les soumissions dans la base de donn\u00e9es (telles que Contact Form CFDB7) pouvaient toujours conserver les messages rejet\u00e9s. Les visiteurs voient le m\u00eame message d\u2019erreur qu\u2019auparavant.<\/li>\n\n\n<li>Nouveau (Contact Form 7) : l&rsquo;action <code>soscaptcha_cf7_result<\/code> et la m\u00e9thode <code>SOSCAPTCHA_CF7::get_instance()-&gt;get_last_result()<\/code>, permettant de consigner ou de stocker la mani\u00e8re dont chaque soumission a \u00e9t\u00e9 v\u00e9rifi\u00e9e (statut, points de contr\u00f4le, erreur).<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-82\">1.0.82 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Correction :<\/strong> apr\u00e8s une mise \u00e0 jour automatique r\u00e9ussie, WordPress pouvait r\u00e9essayer d\u2019installer exactement la m\u00eame version un peu plus tard et afficher le message \u00ab Impossible de mettre \u00e0 jour (de X \u00e0 X), version pr\u00e9c\u00e9dente restaur\u00e9e \u00bb. Le programme de mise \u00e0 jour comparait la version du serveur \u00e0 celle encore charg\u00e9e en m\u00e9moire au lieu de celle pr\u00e9sente sur le disque, laissant ainsi une entr\u00e9e obsol\u00e8te \u00ab mise \u00e0 jour disponible \u00bb. Il effectue d\u00e9sormais la comparaison avec la version que WordPress lit \u00e0 partir du fichier du plugin. Les liens de t\u00e9l\u00e9chargement fournis par sos-captcha.com sont \u00e9galement valables pendant 3 jours au lieu d\u2019une heure, ce qui \u00e9vite qu\u2019une mise \u00e0 jour planifi\u00e9e ne tombe sur un lien expir\u00e9.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-81\">1.0.81 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Correction (version Premium, Ninja Forms) : la v\u00e9rification c\u00f4t\u00e9 serveur du curseur lors des soumissions via Ninja Forms a \u00e9t\u00e9 remani\u00e9e et s&rsquo;applique d\u00e9sormais de mani\u00e8re fiable. Les valeurs du curseur sont transmises dans la charge utile de soumission propre \u00e0 Ninja Forms, et toute soumission qui \u00e9choue au contr\u00f4le est rejet\u00e9e avec un message d&rsquo;erreur affich\u00e9 au-dessus du formulaire : aucune donn\u00e9e n&rsquo;est enregistr\u00e9e ni envoy\u00e9e.<\/li>\n\n\n<li><strong>Am\u00e9lioration :<\/strong> un d\u00e9fi est d\u00e9sormais li\u00e9 au formulaire pour lequel il a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9, et le type de formulaire est v\u00e9rifi\u00e9 \u00e0 chaque fois que le d\u00e9fi est consult\u00e9.<\/li>\n\n\n<li><strong>D\u00e9veloppement :<\/strong> la suite de tests a \u00e9t\u00e9 reconstruite \u2014 la suite c\u00f4t\u00e9 serveur a \u00e9t\u00e9 r\u00e9par\u00e9e (elle \u00e9tait d\u00e9fectueuse depuis le changement de nom de la version 1.0.54), des assertions n\u00e9gatives strictes ont \u00e9t\u00e9 ajout\u00e9es, ainsi qu\u2019un test de soumission c\u00f4t\u00e9 serveur par int\u00e9gration avec capture des e-mails envoy\u00e9s, et un script non interactif <code>bin\/test-all.sh<\/code>. Voir CLAUDE.md \u00ab R\u00e8gles de test \u00bb.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-80\">1.0.80 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Correction (version Premium, WPForms) : la v\u00e9rification c\u00f4t\u00e9 serveur du curseur lors des soumissions via WPForms a \u00e9t\u00e9 remani\u00e9e et s&rsquo;applique d\u00e9sormais de mani\u00e8re fiable. Une soumission qui \u00e9choue au contr\u00f4le est rejet\u00e9e avec un message explicite indiquant \u00ab \u00c9chec du contr\u00f4le anti-spam \u00bb.<\/li>\n\n\n<li>Nouveau (version Premium, WPForms) : balises intelligentes <code>{soscaptcha_status}<\/code> et <code>{soscaptcha_checkpoints}<\/code> pour les e-mails de notification, l&rsquo;\u00e9quivalent WPForms des balises de Contact Form 7 ajout\u00e9es dans la version 1.0.78. Ajoutez-les dans le g\u00e9n\u00e9rateur de formulaires sous Param\u00e8tres \u2192 Notifications \u2192 Message e-mail, apr\u00e8s <code>{all_fields}<\/code> (qui ne les inclut jamais de lui-m\u00eame). Calcul\u00e9es c\u00f4t\u00e9 serveur ; un visiteur ne peut pas les modifier.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-79\">1.0.79 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Correction :<\/strong> dans certaines situations, la v\u00e9rification \u00ab Ignorer apr\u00e8s la premi\u00e8re r\u00e9ussite \u00bb pouvait accepter une soumission qu\u2019elle n\u2019aurait pas d\u00fb accepter. Le processus de v\u00e9rification a \u00e9t\u00e9 renforc\u00e9 : l\u2019\u00e9tat \u00ab d\u00e9j\u00e0 v\u00e9rifi\u00e9 \u00bb est d\u00e9sormais contr\u00f4l\u00e9 de mani\u00e8re plus stricte sur le serveur et expire apr\u00e8s une dur\u00e9e configurable. Les \u00e9tats enregistr\u00e9s par les versions pr\u00e9c\u00e9dentes sont r\u00e9initialis\u00e9s, de sorte que les visiteurs qui reviennent doivent r\u00e9soudre le curseur une nouvelle fois.<\/li>\n\n\n<li><strong>Nouveau :<\/strong> param\u00e8tre \u00ab Dur\u00e9e de validit\u00e9 \u00bb (Param\u00e8tres \u2192 R\u00e9duction du d\u00e9fi) \u2014 dur\u00e9e pendant laquelle un d\u00e9fi r\u00e9solu reste valide avant que le curseur ne s&rsquo;affiche \u00e0 nouveau, de 1 minute \u00e0 24 heures (par d\u00e9faut : 60 minutes). Auparavant, cette dur\u00e9e couvrait toute la session du navigateur.<\/li>\n\n\n<li><strong>D\u00e9veloppement :<\/strong> nouveaux filtres <code>soscaptcha_solved_cookie_ttl<\/code> et <code>soscaptcha_solved_cookie_context<\/code> (ce dernier permet, par exemple, de lier l&rsquo;\u00e9tat \u00ab v\u00e9rifi\u00e9 \u00bb \u00e0 l&rsquo;adresse IP du visiteur).<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-78\">1.0.78 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Nouveau :<\/strong> deux balises sp\u00e9ciales pour les e-mails de notification de Contact Form 7, <code>[_soscaptcha_status]<\/code> et <code>[_soscaptcha_checkpoints]<\/code>. Elles vous indiquent, pour chaque message re\u00e7u, si le curseur a bien \u00e9t\u00e9 valid\u00e9 (et avec combien de points de contr\u00f4le), s\u2019il a \u00e9t\u00e9 ignor\u00e9 pour un utilisateur connect\u00e9 ou une session d\u00e9j\u00e0 valid\u00e9e, ou s\u2019il n\u2019a pas \u00e9t\u00e9 ex\u00e9cut\u00e9 du tout. Ces informations sont calcul\u00e9es c\u00f4t\u00e9 serveur ; un visiteur ne peut donc pas les falsifier. Ajoutez-les au corps de l\u2019e-mail dans Contact Form 7 \u2192 votre formulaire \u2192 E-mail.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-77\">1.0.77 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-05<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Correction :<\/strong> sur les sites multilingues, les textes du curseur \u00e9taient fig\u00e9s dans la langue de l&rsquo;administrateur pour tous les visiteurs. Les textes par d\u00e9faut s&rsquo;adaptent d\u00e9sormais \u00e0 la langue de chaque visiteur ; les textes que vous avez personnalis\u00e9s sont conserv\u00e9s et deviennent traduisibles avec WPML ou Polylang.<\/li>\n\n\n<li><strong>Nouveaut\u00e9 :<\/strong> lorsque le d\u00e9fi a d\u00e9j\u00e0 \u00e9t\u00e9 r\u00e9solu au cours de la session de navigation en cours, les formulaires prot\u00e9g\u00e9s affichent \u00ab \u2713 D\u00e9j\u00e0 v\u00e9rifi\u00e9 dans cette session \u00bb au lieu de ne pas afficher de curseur du tout.<\/li>\n\n\n<li><strong>Correction :<\/strong> le texte de confirmation du curseur \u00e9tait toujours en fran\u00e7ais ; il est d\u00e9sormais traduit.<\/li>\n\n\n<li><strong>Correction :<\/strong> correction de la traduction de \u00ab Slide \u00bb (traduit \u00e0 tort par \u00ab diapositive de pr\u00e9sentation \u00bb) dans la plupart des langues, ainsi que de \u00ab Slide to check \u00bb en allemand, arabe, italien et chinois.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-76\">1.0.76 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-02<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Correction :<\/strong> les nouvelles cha\u00eenes de caract\u00e8res restaient en anglais sur les sites traduits. Le plugin charge d\u00e9sormais syst\u00e9matiquement ses traductions int\u00e9gr\u00e9es (toujours le catalogue le plus r\u00e9cent), au lieu d\u2019un pack de langue WordPress.org obsol\u00e8te ou de l\u2019ancien catalogue premium.<\/li>\n\n\n<li><strong>Correction :<\/strong> chemin d&rsquo;acc\u00e8s incorrect pour les traductions JavaScript du curseur.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-75\">1.0.75 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-10-02<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Nouveau :<\/strong> onglet \u00ab Mises \u00e0 jour \u00bb dans les param\u00e8tres, avec un bouton pour activer ou d\u00e9sactiver les mises \u00e0 jour automatiques (m\u00eame param\u00e8tre que le lien \u00ab Activer les mises \u00e0 jour automatiques \u00bb sur l&rsquo;\u00e9cran Plugins).<\/li>\n\n\n<li><strong>Nouveaut\u00e9 :<\/strong> lorsque les mises \u00e0 jour automatiques sont d\u00e9sactiv\u00e9es, une notification d&rsquo;administration annonce chaque nouvelle version avec les actions \u00ab Mettre \u00e0 jour maintenant \u00bb, \u00ab Activer les mises \u00e0 jour automatiques \u00bb et \u00ab Ignorer cette version \u00bb.<\/li>\n\n\n<li><strong>Correction :<\/strong> le badge \u00ab Prot\u00e9g\u00e9 par SOS Captcha \u00bb s&rsquo;affiche d\u00e9sormais sous le curseur sur tous les formulaires prot\u00e9g\u00e9s (Contact Form 7, WPForms, connexion\u2026), et non plus uniquement sur les formulaires de commentaires.<\/li>\n\n\n<li><strong>Correction :<\/strong> le remplissage color\u00e9 du curseur suit d\u00e9sormais instantan\u00e9ment le curseur au lieu d&rsquo;accuser un d\u00e9calage.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-74\">1.0.74 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-06-19<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Nouveaut\u00e9 :<\/strong> mises \u00e0 jour automatiques int\u00e9gr\u00e9es. Le plugin v\u00e9rifie d\u00e9sormais la disponibilit\u00e9 de ses propres mises \u00e0 jour et les installe directement depuis sos-captcha.com, ce qui vous permet de rester \u00e0 jour sans passer par le r\u00e9pertoire WordPress.org.<\/li>\n\n\n<li><strong>Interne :<\/strong> consolidation du plugin en une base de code unique (les fonctionnalit\u00e9s premium sont charg\u00e9es \u00e0 partir d\u2019un module interne soumis \u00e0 une licence, plut\u00f4t que d\u2019un module compl\u00e9mentaire distinct). Aucun changement au niveau des fonctionnalit\u00e9s : la version gratuite reste inchang\u00e9e et les installations sous licence b\u00e9n\u00e9ficient des m\u00eames fonctionnalit\u00e9s premium.<\/li>\n\n\n<li>Les nouvelles installations utilisent d\u00e9sormais par d\u00e9faut des param\u00e8tres optimis\u00e9s pour plus de convivialit\u00e9 (4 \u00e0 6 points de contr\u00f4le, 0,5 s minimum par point de contr\u00f4le, limite de 30 s, contournement pour les utilisateurs connect\u00e9s). Les sites existants conservent leurs param\u00e8tres enregistr\u00e9s.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-73\">1.0.73 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-06-15<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Plugin gratuit enti\u00e8rement fonctionnel \u2014 aucun param\u00e8tre verrouill\u00e9. Tous les contr\u00f4les affich\u00e9s dans le plugin gratuit fonctionnent d\u00e9sormais ; il n\u2019y a aucune option d\u00e9sactiv\u00e9e, limit\u00e9e ou r\u00e9serv\u00e9e \u00e0 la version payante, ni aucun contr\u00f4le de licence d\u2019aucune sorte. Les fonctionnalit\u00e9s appartenant \u00e0 l\u2019extension distincte SOS Captcha Pro (int\u00e9grations suppl\u00e9mentaires, d\u00e9tection avanc\u00e9e des bots, couleurs personnalis\u00e9es, statistiques, suppression des badges) apparaissent uniquement sous forme de simples notifications informatives, jamais sous forme de contr\u00f4les d\u00e9sactiv\u00e9s.<\/li>\n\n\n<li>La plage des points de contr\u00f4le est d\u00e9sormais la m\u00eame pour tout le monde (2 \u00e0 12), sans invite de mise \u00e0 jour.<\/li>\n\n\n<li>Les couleurs personnalis\u00e9es du curseur ont \u00e9t\u00e9 enti\u00e8rement transf\u00e9r\u00e9es vers l\u2019extension Pro : le plugin gratuit propose d\u00e9sormais des couleurs par d\u00e9faut fixes. Les sites existants utilisant la version gratuite ne sont pas concern\u00e9s (la version gratuite n\u2019a jamais conserv\u00e9 les couleurs personnalis\u00e9es).<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-72\">1.0.72 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-26<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Param\u00e8tres par d\u00e9faut plus conviviaux :<\/strong> la dur\u00e9e minimale par point de contr\u00f4le a \u00e9t\u00e9 r\u00e9duite de 1 s \u00e0 0,5 s, la fen\u00eatre de limitation de fr\u00e9quence est pass\u00e9e de 60 s \u00e0 30 s, le nombre de points de contr\u00f4le est d\u00e9sormais al\u00e9atoire entre 4 et 6 (contre 6 fixe auparavant), et la dur\u00e9e d\u2019expiration par d\u00e9faut du d\u00e9fi a \u00e9t\u00e9 align\u00e9e sur 10 minutes (contre 1 minute auparavant, alors que le message d\u2019alerte affich\u00e9 \u00e0 l\u2019utilisateur \u00ab expir\u00e9 apr\u00e8s 10 minutes \u00bb supposait d\u00e9j\u00e0 une dur\u00e9e de 10 minutes). Les sites existants conservent leurs valeurs enregistr\u00e9es ; seules les nouvelles installations b\u00e9n\u00e9ficient des nouveaux param\u00e8tres par d\u00e9faut.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-71\">1.0.71 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Nouvelles fonctions d&rsquo;aide <code>SOSCAPTCHA_Generator::pro_extra_fields()<\/code> \/ <code>pro_extra_fields_html()<\/code> \u2014 source unique d&rsquo;informations pour le honeypot Pro et les champs masqu\u00e9s d&#8217;empreinte de navigateur que les int\u00e9grations doivent afficher. Chacun des 9 adaptateurs d\u2019int\u00e9gration (CF7, Commentaires, WPForms, Gravity Forms, Ninja Forms, avis\/paiement\/inscription WooCommerce, connexion\/inscription\/mot de passe perdu WP) g\u00e9n\u00e8re d\u00e9sormais ces champs lorsque leurs commutateurs sont activ\u00e9s<\/li>\n\n\n<li>Slider JS calcule d\u00e9sormais une empreinte JSON encod\u00e9e en base64 (<code>{ ua, lang, tz, screen }<\/code>) lors de l\u2019initialisation du curseur et l\u2019\u00e9crit dans le champ de saisie masqu\u00e9 \u2014 en association avec le validateur r\u00e9\u00e9crit de la version Pro 1.0.10 qui v\u00e9rifie que l\u2019agent utilisateur d\u00e9clar\u00e9 correspond \u00e0 <code>$_SERVER['HTTP_USER_AGENT']<\/code> afin de d\u00e9tecter les outils d\u2019automatisation<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-70\">1.0.70 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>**Critique : \u00e9chec de la validation du curseur au dernier point de contr\u00f4le.** Le code \u00ab mise en \u00e9vidence du point de contr\u00f4le suivant \u00bb dans <code>assets\/challenge-slider.js<\/code> ex\u00e9cutait <code>checkpointDots[lastCheckpoint + 1].style.borderColor = \u2026<\/code> apr\u00e8s que le bloc AJAX eut d\u00e9j\u00e0 fait passer <code>lastCheckpoint<\/code> \u00e0 l\u2019index final \u2014 ce qui entra\u00eenait une d\u00e9r\u00e9f\u00e9rence <code>d\u2019une valeur ind\u00e9finie<\/code> une fois le dernier point atteint. L\u2019erreur TypeError a interrompu le reste de <code>la fonction updatePosition<\/code>, y compris le <code>setTimeout<\/code> qui \u00e9crit les jetons collect\u00e9s dans le champ masqu\u00e9 <code>soscaptcha_tokens<\/code> du formulaire. R\u00e9sultat final : formulaire soumis avec des jetons vides \u2192 rejet\u00e9 par le serveur avec le message \u00ab invalid_tokens \u00bb. Ajout d\u2019une condition de s\u00e9curit\u00e9 pour que la mise en surbrillance ne s\u2019ex\u00e9cute que lorsqu\u2019il y a effectivement un point de contr\u00f4le suivant.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-69\">1.0.69 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>**Correction critique : le d\u00e9fi du curseur ne se chargeait pas** (erreur admin-ajax 400 avec <code>l'action : soscaptcha_get_challenge_config<\/code>). Les trois points de terminaison AJAX c\u00f4t\u00e9 client (<code>get_challenge_config<\/code>, <code>collect_token<\/code>, <code>refresh_challenge<\/code>) \u00e9taient enregistr\u00e9s c\u00f4t\u00e9 PHP sous l\u2019ancien pr\u00e9fixe <code>wp_ajax_sos_*<\/code>, mais le script JavaScript du curseur envoie <code>action=soscaptcha_*<\/code> (conform\u00e9ment \u00e0 la r\u00e8gle de WP.org imposant un pr\u00e9fixe de 4 caract\u00e8res ou plus, appliqu\u00e9e dans la version 1.0.54). En raison de cette incompatibilit\u00e9, **chaque** requ\u00eate de d\u00e9fi renvoyait un code 400 \u2014 le curseur ne pouvait pas s\u2019afficher et les soumissions de formulaires sur les pages prot\u00e9g\u00e9es ne pouvaient pas \u00eatre valid\u00e9es. C\u00f4t\u00e9 PHP, on utilise d\u00e9sormais <code>wp_ajax_soscaptcha_*<\/code> pour assurer la correspondance. &#8211; Pages concern\u00e9es : tous les formulaires prot\u00e9g\u00e9s par le plugin (connexion, commentaires, CF7, page de d\u00e9monstration, etc.) &#8211; M\u00eame famille de causes profondes que l\u2019erreur 400 li\u00e9e \u00e0 l\u2019activation de la licence (1.0.2) et celle li\u00e9e \u00e0 l\u2019enregistrement automatique des param\u00e8tres (1.0.65) \u2014 j\u2019ai enfin identifi\u00e9 le troisi\u00e8me cas.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-68\">1.0.68 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Corrections apport\u00e9es par Plugin Check (r\u00e9gressions d\u00e9tect\u00e9es apr\u00e8s la publication de la version 1.0.67) : \u00e9chappement correct de l&rsquo;attribut disabled-input (utilise d\u00e9sormais la fonction d&rsquo;aide <code>disabled()<\/code> de WordPress au lieu d&rsquo;afficher une cha\u00eene brute), <code>\/* traducteurs : *\/<\/code> d\u00e9plac\u00e9 \u00e0 c\u00f4t\u00e9 de son appel <code>__()<\/code>, et suppression de <code>load_plugin_textdomain()<\/code> (WP charge automatiquement les traductions pour les plugins h\u00e9berg\u00e9s sur WP.org depuis la version 4.6 \u2014 cet appel est signal\u00e9 comme d\u00e9conseill\u00e9)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-67\">1.0.67 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>**Correction des boutons d\u2019activation\/d\u00e9sactivation de l\u2019int\u00e9gration Pro qui \u00e9chouaient sans message d\u2019erreur** \u2014 la liste blanche des gestionnaires d\u2019enregistrement des int\u00e9grations ne contenait initialement que les 2 int\u00e9grations gratuites (<code>commentaires<\/code>, <code>cf7<\/code>). Le filtre de la version Pro (depuis la version 1.0.64) se contente d\u2019inverser les indicateurs de verrouillage dans le registre canonique au lieu d\u2019ajouter des entr\u00e9es ; par cons\u00e9quent, tout commutateur Pro (<code>wpforms<\/code>, <code>gravityforms<\/code>, etc.) \u00e9tait supprim\u00e9 en silence lors de l\u2019enregistrement. Le gestionnaire utilise d\u00e9sormais la liste fournie par <code>SOSCAPTCHA_Integrations::filtered()<\/code> afin que les 9 cl\u00e9s soient accept\u00e9es, avec une protection c\u00f4t\u00e9 serveur qui continue de bloquer les options Pro lorsque la licence n\u2019est pas active.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-66\">1.0.66 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Mise \u00e0 jour des traductions pour les 9 langues autres que l&rsquo;anglais (aucune modification des cha\u00eenes source ; compatible avec la version Pro 1.0.8 qui inclut le fichier <code>.mo<\/code> correspondant).<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-65\">1.0.65 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>**Correction : les param\u00e8tres d&rsquo;administration et les int\u00e9grations ne s&rsquo;enregistraient pas** \u2014 Les noms d&rsquo;actions AJAX \u00e9taient enregistr\u00e9s sous la forme <code>wp_ajax_sos_save_*<\/code>, mais le script JS envoyait une requ\u00eate POST avec <code>l'action soscaptcha_save_*<\/code> lors de l&rsquo;enregistrement automatique <code>.<\/code> Ce d\u00e9calage entra\u00eenait l&rsquo;\u00e9chec silencieux de toutes les modifications. Les deux c\u00f4t\u00e9s utilisent d\u00e9sormais <code>soscaptcha_save_*.<\/code><\/li>\n\n\n<li>**Correction d\u2019une erreur critique sur la page \u00ab Get Pro \u00bb** \u2014 DeepL supprime les espaces r\u00e9serv\u00e9s <code>%s<\/code> lors de la traduction de cha\u00eenes de format court, ce qui provoquait une erreur <code>ArgumentCountError<\/code> sous PHP 8+ avec <code>la ligne printf( 'ou %s\/an (\u00e9conomisez 20 %%)', $price )<\/code>. Refonte en deux cha\u00eenes traduisibles plus simples + une protection \u00e0 l&rsquo;ex\u00e9cution qui revient \u00e0 l&rsquo;anglais si la traduction ne contient pas l&rsquo;espace r\u00e9serv\u00e9.<\/li>\n\n\n<li>Les traductions ont \u00e9t\u00e9 r\u00e9g\u00e9n\u00e9r\u00e9es ; la ligne relative aux \u00e9conomies annuelles, qui ne s&rsquo;affichait plus correctement auparavant, s&rsquo;affiche d\u00e9sormais correctement dans les 9 langues autres que l&rsquo;anglais.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-64\">1.0.64 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-06<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Le tableau des int\u00e9grations affiche d\u00e9sormais les int\u00e9grations de formulaires de la version Pro (WPForms, Gravity Forms, Ninja Forms, WooCommerce, connexion\/inscription\/mot de passe perdu sur WordPress) sous forme d&rsquo;aper\u00e7us verrouill\u00e9s, m\u00eame lorsque le plugin Pro n&rsquo;est pas install\u00e9 \u2014 les utilisateurs peuvent ainsi voir ce qui est disponible sans avoir \u00e0 installer la version Pro au pr\u00e9alable.<\/li>\n\n\n<li>Nouveau fichier de donn\u00e9es partag\u00e9 : <code>includes\/data\/integrations.php<\/code> (source unique de v\u00e9rit\u00e9, refl\u00e9tant le mod\u00e8le de matrice \u00e0 plusieurs niveaux), accessible via la nouvelle fonction d&rsquo;aide <code>SOSCAPTCHA_Integrations<\/code> <\/li>\n\n\n<li>Les 3 pr\u00e9r\u00e9glages de couleurs d\u00e9grad\u00e9es (Classic \/ Purple \/ Ocean) ont \u00e9t\u00e9 r\u00e9int\u00e9gr\u00e9s dans l&rsquo;onglet \u00ab Apparence \u00bb ; ils sont verrouill\u00e9s lorsqu&rsquo;aucune licence Pro n&rsquo;est active.<\/li>\n\n\n<li><strong>Traductions :<\/strong> mises \u00e0 jour pour les nouvelles cha\u00eenes de caract\u00e8res relatives \u00e0 l&rsquo;aper\u00e7u verrouill\u00e9, aux pr\u00e9r\u00e9glages et aux statistiques<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-63\">1.0.63 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-05<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>La page des param\u00e8tres a \u00e9t\u00e9 repens\u00e9e pour pr\u00e9senter les fonctionnalit\u00e9s Pro sous forme d\u2019aper\u00e7us verrouill\u00e9s \u2014 les visiteurs et les administrateurs peuvent voir ce que chaque niveau d\u00e9bloque sans avoir \u00e0 installer la version Pro au pr\u00e9alable &#8211; Onglet \u00ab Validation \u00bb : nouvelle section \u00ab D\u00e9tection avanc\u00e9e des bots \u00bb (analyse comportementale, honeypot, empreinte du navigateur) affich\u00e9e comme d\u00e9sactiv\u00e9e avec un badge Pro jusqu\u2019\u00e0 l\u2019activation de la licence &#8211; Onglet \u00ab R\u00e9duction des d\u00e9fis \u00bb : nouveau bouton bascule \u00ab Rechargement automatique en cas de d\u00e9lai d\u2019expiration \u00bb, verrouill\u00e9 jusqu\u2019\u00e0 l\u2019activation de la licence &#8211; Nouvel onglet \u00ab Apparence \u00bb avec des s\u00e9lecteurs de couleurs en d\u00e9grad\u00e9 et un bouton bascule \u00ab Afficher \/ masquer le badge \u00bb, tous deux verrouill\u00e9s jusqu\u2019\u00e0 l\u2019activation de la licence<\/li>\n\n\n<li>Nouvelle entr\u00e9e \u00ab Statistiques \u00bb dans le sous-menu de la barre lat\u00e9rale d&rsquo;administration (avec une ic\u00f4ne en forme de cadenas) lorsque la version Pro n&rsquo;est pas active \u2014 cliquez dessus pour afficher la page de vente incitative de la version Pro<\/li>\n\n\n<li>Nouvelle fonction d&rsquo;aide <code>SOSCAPTCHA_Tiers::is_pro_active()<\/code> s&rsquo;appuyant sur le filtre <code>soscaptcha_pro_active<\/code>; la version Pro l&rsquo;active lorsque sa licence est valide.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-61\">1.0.61 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-05<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Nouveau :<\/strong> source unique d\u2019informations pour les niveaux d\u2019abonnement et la matrice des fonctionnalit\u00e9s dans <code>le fichier includes\/data\/tier-matrix.php<\/code> (accessible via la classe d\u2019aide <code>SOSCAPTCHA_Tiers<\/code> ). La page gratuite \u00ab Get Pro \u00bb et la page \u00ab Licence \u00bb du plugin Pro s\u2019affichent toutes deux \u00e0 partir de ce fichier, qui est synchronis\u00e9 avec les tarifs de sos-captcha.com.<\/li>\n\n\n<li>Refonte de la page \u00ab Get Pro \u00bb : comparaison entre les 4 formules (Free \/ Starter \/ Pro \/ Agency) avec les tarifs mensuels et annuels, badge \u00ab LE PLUS POPULAIRE \u00bb sur la formule Pro, et appels \u00e0 l&rsquo;action sp\u00e9cifiques \u00e0 chaque formule redirigeant vers sos-captcha.com<\/li>\n\n\n<li><strong>Traductions :<\/strong> r\u00e9g\u00e9n\u00e9ration de tous les fichiers .pot\/.po\/.mo pour les derni\u00e8res cha\u00eenes source (les fichiers .mo pr\u00e9c\u00e9dents dataient de la version 1.0.50 et il manquait des dizaines de cha\u00eenes ajout\u00e9es suite au changement de pr\u00e9fixe)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-60\">1.0.60 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-05<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Traductions :<\/strong> appel explicite de la fonction <code>load_plugin_textdomain()<\/code> afin que les cha\u00eenes d&rsquo;administration soient traduites sur les installations t\u00e9l\u00e9charg\u00e9es manuellement (et pas uniquement sur celles distribu\u00e9es par WordPress.org)<\/li>\n\n\n<li><strong>Grille d&rsquo;int\u00e9grations :<\/strong> affiche les int\u00e9grations Pro avec un badge \u00ab Pro \u00bb verrouill\u00e9 + un appel \u00e0 l&rsquo;action \u00ab Passer \u00e0 la version Pro \u00bb lorsqu&rsquo;aucune licence Pro n&rsquo;est active (s&rsquo;appuie sur le nouvel indicateur <code>premium_locked<\/code> expos\u00e9 par le filtre <code>soscaptcha_integrations<\/code> du plugin Pro)<\/li>\n\n\n<li>Ajout du filtre <code>soscaptcha_show_get_pro_menu<\/code>; le plugin Pro (1.0.2+) l&rsquo;utilise pour masquer le sous-menu de vente incitative \u00ab Get Pro \u00bb d\u00e8s qu&rsquo;une licence est active.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-59\">1.0.59 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-05<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Correction de l&rsquo;erreur 404 JS dans l&rsquo;administration : renommer <code>admin\/js\/sos-admin.{js,min.js}<\/code> \u2192 <code>admin\/js\/soscaptcha-admin.{js,min.js}<\/code> afin que le fichier corresponde au chemin de mise en file d&rsquo;attente pr\u00e9fix\u00e9 introduit dans la version 1.0.54<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-57\">1.0.57 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-05<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Correction d\u2019une erreur fatale lors de l\u2019activation : renommer les fichiers de classe de <code>class-sos-*.php<\/code> en <code>class-soscaptcha-*.php<\/code> afin qu\u2019ils correspondent aux chemins d\u2019acc\u00e8s <code>require_once<\/code> introduits dans la version 1.0.54 (le renommage a affect\u00e9 les chemins d\u2019acc\u00e8s require mais pas les fichiers sur le disque)<\/li>\n\n\n<li>V\u00e9rification des plugins sur WordPress.org : pr\u00e9fixer les variables de port\u00e9e \u00ab view \u00bb dans <code>admin\/views\/{settings,integrations,get-pro}.php<\/code> avec <code>\u00ab soscaptcha_ \u00bb<\/code> pour supprimer les avertissements <code>WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound<\/code> <\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-56\">1.0.56 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-05<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Ajoutez un pr\u00e9fixe aux trois noms de champs transmis par les formulaires (<code>challenge_session<\/code>, <code>challenge_nonce<\/code>, <code>collected_tokens<\/code> \u2192 <code>soscaptcha_session<\/code>, <code>soscaptcha_nonce<\/code>, <code>soscaptcha_tokens<\/code>) afin d\u2019\u00e9viter tout conflit avec d\u2019autres plugins sur les formulaires h\u00e9berg\u00e9s.<\/li>\n\n\n<li>Mise \u00e0 jour de toutes les int\u00e9grations (Contact Form 7, Comments + adaptateurs premium) et des s\u00e9lecteurs JS du curseur en cons\u00e9quence<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-55\">1.0.55 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-04<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>\u00c9tendre le pr\u00e9fixe <code>\u00ab soscaptcha- \u00bb<\/code> aux classes CSS et aux identifiants de scripts (pr\u00e9fixe de 4 caract\u00e8res ou plus partout) pour se conformer aux normes de WordPress.org<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-54\">1.0.54 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-04<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Renommer le pr\u00e9fixe des classes PHP de <code>SOS_<\/code> \u00e0 <code>SOSCAPTCHA_<\/code> et le pr\u00e9fixe des fonctions de <code>sos_<\/code> \u00e0 <code>soscaptcha_<\/code> (pr\u00e9fixe de 4 caract\u00e8res ou plus, conform\u00e9ment aux directives de WordPress.org)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-53\">1.0.53 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-03<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Architecture :<\/strong> le plugin est divis\u00e9 en une version gratuite (ce plugin) et un plugin compl\u00e9mentaire optionnel, <code>sos-captcha-pro<\/code>, charg\u00e9 via les filtres\/actions de WordPress.<\/li>\n\n\n<li>Le plugin gratuit ne contient plus aucun code r\u00e9serv\u00e9 \u00e0 la version premium \u2014 ce qui r\u00e9pond aux pr\u00e9occupations de WordPress.org concernant les logiciels d&rsquo;essai.<\/li>\n\n\n<li>Le plugin associ\u00e9 indique <code>les plugins requis : sos-captcha<\/code> (WP 6.5+)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-52\">1.0.52 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-03<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Les fichiers sources fournis dans l&rsquo;archive ZIP sont d\u00e9sormais d\u00e9barrass\u00e9s des commentaires de d\u00e9veloppement (CSS et JS), ce qui permet de conserver un code lisible par les relecteurs sans divulguer de notes internes.<\/li>\n\n\n<li>Les chargeurs de plugins restent inchang\u00e9s : les fichiers .min.js et .min.css sont charg\u00e9s en production, tandis que les fichiers source sont charg\u00e9s avec SCRIPT_DEBUG=true<\/li>\n\n\n<li>Suppression du lien vers le d\u00e9p\u00f4t GitHub dans le fichier README (le code source est inclus dans le plugin)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-51\">1.0.51 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-05-03<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Conformit\u00e9 \u00e0 WordPress.org, 2e phase (r\u00e9ponse aux commentaires des r\u00e9viseurs)<\/li>\n\n\n<li><strong>Version d&rsquo;essai :<\/strong> un post-processeur de compilation supprime toutes les conditions $is_licensed du fichier ZIP gratuit (nouveau fichier bin\/strip-license-checks.php)<\/li>\n\n\n<li>Visibilit\u00e9 du code source : fournir les fichiers .js \/ .css non minifi\u00e9s aux c\u00f4t\u00e9s de leurs \u00e9quivalents .min ; documenter le d\u00e9p\u00f4t GitHub dans le fichier readme<\/li>\n\n\n<li><strong>S\u00e9curit\u00e9 :<\/strong> les points de terminaison AJAX exigent d\u00e9sormais un nonce HMAC li\u00e9 \u00e0 la session (compatible avec la mise en cache). Les soumissions de formulaires v\u00e9rifient le nonce dans le validateur. Les 8 int\u00e9grations affichent toutes le champ \u00ab nonce \u00bb.<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-50\">1.0.50 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-04-29<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Changement de nom :<\/strong> le plugin est pass\u00e9 de \u00ab SOS Anti-Spam \u00bb \u00e0 \u00ab SOS Captcha \u00bb \u2014 le slug, le domaine de texte et les fichiers de langue ont \u00e9t\u00e9 mis \u00e0 jour pour indiquer \u00ab sos-captcha \u00bb.<\/li>\n\n\n<li><strong>Fichier principal renomm\u00e9 :<\/strong> slide-out-spam.php \u2192 sos-captcha.php<\/li>\n\n\n<li>Aucun changement fonctionnel pour les installations existantes ; une identit\u00e9 visuelle \u00e9pur\u00e9e, en accord avec sos-captcha.com<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v1-0-49\">1.0.49 <span class=\"has-small-font-size\" style=\"font-weight:400\">\u2014 2026-04-27<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Certification de conformit\u00e9 WordPress.org<\/li>\n\n\n<li>Pr\u00e9fixez toutes les actions AJAX par \u00ab sos_ \u00bb pour \u00e9viter les conflits.<\/li>\n\n\n<li>Suppression de load_plugin_textdomain (inutile pour les plugins h\u00e9berg\u00e9s sur WordPress.org)<\/li>\n\n\n<li>Remplacer la page \u00ab Licence \u00bb de la version gratuite par une page \u00ab Comparer les formules \u00bb (sans saisie de licence, sans appel d&rsquo;API externe)<\/li>\n\n\n<li>La mise \u00e0 niveau vers la version Premium s&rsquo;effectue d\u00e9sormais par t\u00e9l\u00e9chargement manuel depuis sos-captcha.com (Plugins \u2192 Ajouter \u2192 Importer)<\/li>\n\n\n<li>Premi\u00e8re version publique<\/li>\n\n\n<li>Protection de Contact Form 7 et des commentaires WordPress<\/li>\n\n\n<li>Protection de la connexion, de l&rsquo;inscription et de la r\u00e9cup\u00e9ration de mot de passe sur WordPress (version Premium)<\/li>\n\n\n<li>Jusqu&rsquo;\u00e0 8 points de contr\u00f4le (version gratuite) \/ 15 (version Premium)<\/li>\n\n\n<li>Prise en charge de 10 langues<\/li>\n\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>Toutes les versions de SOS Captcha, de la plus r\u00e9cente \u00e0 la plus ancienne. Les nouvelles versions sont disponibles depuis l&rsquo;\u00e9cran \u00ab Plugins \u00bb de votre interface d&rsquo;administration WordPress. 1.0.85 \u2014 2026-10-12 1.0.84 \u2014 2026-10-12 1.0.83 \u2014 2026-10-12 1.0.82 \u2014 2026-10-06 1.0.81 \u2014 2026-10-06 1.0.80 \u2014 2026-10-06 1.0.79 \u2014 2026-10-06 1.0.78 \u2014 2026-10-06 1.0.77 \u2014 [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1065","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Notes de mise \u00e0 jour - SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sos-captcha.com\/fr\/release-notes\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Notes de mise \u00e0 jour - SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress\" \/>\n<meta property=\"og:description\" content=\"Toutes les versions de SOS Captcha, de la plus r\u00e9cente \u00e0 la plus ancienne. Les nouvelles versions sont disponibles depuis l&rsquo;\u00e9cran \u00ab Plugins \u00bb de votre interface d&rsquo;administration WordPress. 1.0.85 \u2014 2026-10-12 1.0.84 \u2014 2026-10-12 1.0.83 \u2014 2026-10-12 1.0.82 \u2014 2026-10-06 1.0.81 \u2014 2026-10-06 1.0.80 \u2014 2026-10-06 1.0.79 \u2014 2026-10-06 1.0.78 \u2014 2026-10-06 1.0.77 \u2014 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sos-captcha.com\/fr\/release-notes\/\" \/>\n<meta property=\"og:site_name\" content=\"SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-12T10:27:53+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/release-notes\\\/\",\"url\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/release-notes\\\/\",\"name\":\"Notes de mise \u00e0 jour - SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/#website\"},\"datePublished\":\"2026-10-05T14:11:11+00:00\",\"dateModified\":\"2026-10-12T10:27:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/release-notes\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/release-notes\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/release-notes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Notes de mise \u00e0 jour\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/\",\"name\":\"SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress\",\"description\":\"Stop bots and spam without tracking your users. No cookies. No fingerprinting. No external services\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sos-captcha.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Notes de mise \u00e0 jour - SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sos-captcha.com\/fr\/release-notes\/","og_locale":"fr_FR","og_type":"article","og_title":"Notes de mise \u00e0 jour - SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress","og_description":"Toutes les versions de SOS Captcha, de la plus r\u00e9cente \u00e0 la plus ancienne. Les nouvelles versions sont disponibles depuis l&rsquo;\u00e9cran \u00ab Plugins \u00bb de votre interface d&rsquo;administration WordPress. 1.0.85 \u2014 2026-10-12 1.0.84 \u2014 2026-10-12 1.0.83 \u2014 2026-10-12 1.0.82 \u2014 2026-10-06 1.0.81 \u2014 2026-10-06 1.0.80 \u2014 2026-10-06 1.0.79 \u2014 2026-10-06 1.0.78 \u2014 2026-10-06 1.0.77 \u2014 [&hellip;]","og_url":"https:\/\/sos-captcha.com\/fr\/release-notes\/","og_site_name":"SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress","article_modified_time":"2026-10-12T10:27:53+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sos-captcha.com\/fr\/release-notes\/","url":"https:\/\/sos-captcha.com\/fr\/release-notes\/","name":"Notes de mise \u00e0 jour - SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress","isPartOf":{"@id":"https:\/\/sos-captcha.com\/fr\/#website"},"datePublished":"2026-10-05T14:11:11+00:00","dateModified":"2026-10-12T10:27:53+00:00","breadcrumb":{"@id":"https:\/\/sos-captcha.com\/fr\/release-notes\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sos-captcha.com\/fr\/release-notes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sos-captcha.com\/fr\/release-notes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/sos-captcha.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Notes de mise \u00e0 jour"}]},{"@type":"WebSite","@id":"https:\/\/sos-captcha.com\/fr\/#website","url":"https:\/\/sos-captcha.com\/fr\/","name":"SlideMe Out of Spam - Privacy-Friendly CAPTCHA for WordPress","description":"Stop bots and spam without tracking your users. No cookies. No fingerprinting. No external services","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sos-captcha.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"_links":{"self":[{"href":"https:\/\/sos-captcha.com\/fr\/wp-json\/wp\/v2\/pages\/1065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sos-captcha.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sos-captcha.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/sos-captcha.com\/fr\/wp-json\/wp\/v2\/comments?post=1065"}],"version-history":[{"count":11,"href":"https:\/\/sos-captcha.com\/fr\/wp-json\/wp\/v2\/pages\/1065\/revisions"}],"predecessor-version":[{"id":1261,"href":"https:\/\/sos-captcha.com\/fr\/wp-json\/wp\/v2\/pages\/1065\/revisions\/1261"}],"wp:attachment":[{"href":"https:\/\/sos-captcha.com\/fr\/wp-json\/wp\/v2\/media?parent=1065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}