Extension WordPress

Cabrio
Connexion

Connexion, inscription et espace du membre, sur le site même, aux couleurs du thème, sans dépendre d’autre chose que de WordPress.

Extension

Version

1.29.1

mise à jour le 3 novembre 2026

Extension WordPress

WordPress

6.5 +

PHP

7.4 +

testée jusqu’à WordPress 7.1

Mises à jour

Signées

dans le tableau de bord

Langues

FR · EN

écrans et présentation

Licence

GPL

à adapter librement

Présentation

Ce que fait Cabrio Connexion

La plupart des extensions d’adhésion répondent à la question « où se connecte-t-on ? » en emmenant le visiteur chez elles, avec leur propre mobilier autour, et elles filtrent login_url pour tout le site, si bien que même la réponse de WordPress y mène. Qu’on retire l’extension, et le site n’a plus de porte.

Celle-ci fait l’inverse. Trois pages ordinaires, trois blocs et un menu, et rien dessous que WordPress :

  • la connexion : wp_signon() ;
  • l’inscription : wp_insert_user() ;
  • le mot de passe oublié : retrieve_password(), sur la même page que la connexion ;
  • la page du membre : wp_update_user().

Chaque compte créé est un compte WordPress ordinaire. Qu’on désactive l’extension, et les pages restent en place pendant que les écrans de WordPress reprennent la main.

Dans le détail

L’apparence du thème

Les formulaires n’apportent aucune apparence à eux. Ils héritent de la typographie du thème et de la couleur du texte qui les entoure, et se lisent aussi bien sur une section claire que sur une sombre ; le bouton porte .wp-element-button et s’habille comme tous les boutons d’un thème en blocs. Champs, filets et lignes discrètes sont tirés de cette couleur de texte. L’anneau de focus prend la couleur que le thème donne à ses liens, sinon à ses boutons, transmise par la propriété personnalisée du thème.

Sous un thème classique, le bouton garde les règles button du thème, avec un simple contour dans la couleur du texte en repli. Pour aller plus loin, un thème pose les propriétés personnalisées sur .cab-connexion :

.cab-connexion { --cab-cnx-line: #cdd2c6; --cab-cnx-radius: 8px; }

ou passe les couleurs par un filtre. Donner une surface dessine les formulaires en cartes sur ce fond :

add_filter( 'cab_cnx_colors', function ( $colors ) { $colors['surface'] = 'var(--wp--preset--color--base)'; return $colors; } );

Reconnues : accent, label, ink, muted, line, surface, shade, good, bad, plus --cab-cnx-radius et --cab-cnx-pad en CSS.

Pas de captcha, exprès

Un captcha chargé depuis un tiers est bloqué par tout bandeau de cookies honnête. La case n’est alors jamais dessinée, le formulaire l’exige quand même, et le membre reste dehors sans rien à l’écran pour lui dire pourquoi. Cette extension se sert d’un champ que les robots remplissent et que les personnes ne voient jamais, du temps qu’il faut pour remplir le formulaire, et d’un plafond d’envois par adresse.

Ce qui garde les formulaires qui envoient un courriel

Deux formulaires font partir un courriel sans que personne soit connecté : le mot de passe oublié, qui écrit à QUELQU’UN D’AUTRE, et l’inscription, qui prévient l’administration. Un nonce ne garde ni l’un ni l’autre contre le nombre, puisqu’il est dans la page pour tout robot qui la lit.

inc/guard.php répond par trois choses, dont aucune ne suffit seule : le champ caché, le délai minimal, et un compte par adresse sur deux fenêtres, l’heure et le jour. Deux fenêtres et pas une, parce que trois par heure en laissent encore passer soixante-douze par jour. Les plafonds sont de 3 par heure et 10 par jour pour un mot de passe oublié, 2 et 5 pour une inscription, tous derrière le filtre cab_cnx_limits.

L’adresse vient de REMOTE_ADDR seul : les en-têtes de mandataire se falsifient en une ligne, et une limite qu’on contourne en mentant sur son adresse ne limite rien.

Le mot de passe oublié répond sa phrase habituelle au piège et au délai : un robot n’apprend rien, et un inconnu ne peut pas savoir quelles adresses sont inscrites. Le plafond le dit franchement : cette phrase ne parle que du nombre de demandes, jamais du compte, et un membre qui a vraiment oublié son mot de passe sait alors qu’il doit revenir plus tard au lieu d’attendre un courriel qui n’arrivera pas. L’inscription dit non aussi, parce qu’un formulaire qui ne fait rien en silence laisse le visiteur bloqué.

À côté d’un forum ou d’une boutique

Si wpForo est installé, l’extension remplit ses trois champs d’adresse à l’activation, pour que ses boutons mènent à ces pages, et les vide à la désactivation. Rien d’autre n’est supposé, et rien ne casse quand il n’est pas là.

Un membre dont le site a aussi un forum a deux pages à son nom, et aucune raison de se soucier de quelle extension possède laquelle. Quand wpForo ou Ultimate Member est installé, son profil est proposé comme un lien de plus en bas de la page du compte, et rien ne se passe quand il n’est pas là.

Avec WooCommerce, les réglages disent quelle page de compte reçoit le client. Quand c’est celle de cette extension, les formulaires de connexion et d’inscription de WooCommerce y envoient le client ensuite (sauf s’il allait ailleurs, vers la commande par exemple), le bloc Compte client d’un en-tête de boutique y mène, et la page du compte propose les rubriques du compte de WooCommerce (commandes, adresses, détails du compte, et tout ce que la boutique liste d’autre, sous les noms qu’elle leur donne). Un client connecté qui arrive sur le tableau de bord de WooCommerce, par son élément « Tableau de bord » ou par un lien vers sa page de compte, est envoyé lui aussi vers la page choisie ; commandes, adresses et détails du compte restent à WooCommerce. Quand c’est la page de WooCommerce, rien de tout cela n’a lieu. Ces passerelles vivent dans un fichier à elles, inc/bridges.php, chacune derrière une vérification que l’autre extension est là ; elles se servent du filtre public ci-dessous comme tout le monde, et supprimer le fichier ne change rien d’autre. On les coupe, ou on ajoute les siennes, avec :

add_filter( 'cab_cnx_bridges', '__return_empty_array' );

Des liens de plus sur la page du membre, l’historique des commandes d’une boutique ou un second profil, s’ajoutent de la même façon par un thème ou une autre extension :

add_filter( 'cab_cnx_account_links', function ( $links, $user ) { $links[ __( 'My forum profile', 'my-theme' ) ] = home_url( '/forum/profile' ); return $links; }, 10, 2 );

L’espace du membre

Le bloc du compte dessine son propre espace, sous n’importe quel thème : le menu du membre (« Mon espace » : les parties de la page, les options personnelles, les profils ailleurs quand il y en a, le mot de passe, puis les liens ci-dessus) à côté du formulaire quand le thème lui laisse la place, au-dessus sinon. Le menu reste en vue pendant que le formulaire défile. L’espace prend la largeur que le thème donne à son contenu ; seule la colonne du formulaire est bornée.

Le menu porte un habillage simple tiré du thème, comme les champs : le filet des champs, la couleur des liens du thème, la typographie du thème. Un thème l’habille davantage par .cab-connexion-menu (__titre, __liste, __liste--page, __liste--liens) et dispose l’espace par .cab-connexion-espace et .cab-connexion-espace__grille.

L’activité du membre

La page du compte s’ouvre sur ce que le membre a écrit, à la manière du profil de wpForo : un badge rond par compteur (commentaires, articles pour un membre qui en écrit, et avec wpForo, messages et sujets du forum), puis l’historique de chacun, cinq entrées à la fois, les plus récentes d’abord, avec des pages. Les historiques sont dans des onglets, comme sur le profil de wpForo ; un badge ou un lien de page ouvre son onglet, et sans scripts ils se suivent simplement. Les commentaires en attente de modération et les articles pas encore publiés y sont aussi, signalés. Les pictogrammes et leurs teintes sont ceux avec lesquels wpForo (GPL) dessine son profil. Rien n’est supposé de wpForo : sa partie n’apparaît que s’il est installé et prêt.

Filtres : cab_cnx_account_activity (l’afficher ou non), cab_cnx_activity_sources (ajouter une source à soi), cab_cnx_activity_per_page.

Le lien du compte

Un bloc, « Lien du compte » : le pictogramme qui mène à la page de connexion pour un visiteur ; pour un membre, sa photo quand il en a choisi une, le pictogramme sinon, qui mène à son compte. Comme l’icône de compte de WooCommerce, il se place après la navigation de l’en-tête (Block Hooks), et seulement là ; un en-tête qui a déjà un lien de compte, celui d’un thème ou de WooCommerce, n’en reçoit pas un second. On le retire dans l’éditeur de site, ou avec add_filter( 'cab_cnx_hook_account_link', '__return_false' );.

Le menu se tient à l’écart quand un thème dit qu’il montre les liens dans son propre panneau (cab_cnx_account_links_here qui renvoie false), et se coupe avec cab_cnx_account_menu. Un quatrième bloc, « Menu du compte », pose le même menu ailleurs ; le bloc du compte n’en dessine alors aucun.

Cabrio Connexion version 1.29.1

Mises à jour

Signées

Mise à jour depuis le tableau de bord

Installation

En place
en quelques gestes

  1. Placez le dossier dans wp-content/plugins et activez l’extension.
  2. Les trois pages sont créées à l’activation, et l’inscription est ouverte si elle était fermée. La désactivation la referme si c’est cette extension qui l’avait ouverte. Une page déjà à leur adresse (connexion, inscription, mon-compte) est reprise si elle contient le formulaire, ou si elle est vide, et reçoit alors le bloc. Une page qui a son propre contenu, la page de compte d’une boutique par exemple, est laissée tranquille, et l’extension fait la sienne à côté.
  3. Réglages, Cabrio Connexion dit vers quelle page mène chaque porte, et permet d’en choisir une autre : voir plus bas.

Les pages sont des pages ordinaires : renommez-les, placez-les dans un menu, ajoutez un paragraphe au-dessus du formulaire. Gardez le bloc, et gardez-les publiées.

Questions

Vos questions

Que devient wp-login.php ?

Qui y arrive, par un ancien favori ou un lien dans un courriel, voit la page de connexion à la place. Ce que wp-login.php fait, plutôt que ce qu’il montre, est laissé strictement tel quel : la déconnexion, le nouveau mot de passe depuis un lien reçu par courriel, le formulaire de mot de passe d’un contenu protégé. Ce sont des actions, pas un écran qu’on remplace.

Puis-je me servir des pages d’une autre extension, la page de compte d’une boutique par exemple ?

Oui, dans Réglages, Cabrio Connexion. Pour la connexion, l’inscription et le compte du membre, une liste propose toutes les pages du site, chacune suivie de ce qu’elle contient : les formulaires de cette extension, et les autres extensions dont elle porte les codes courts ou les blocs (WooCommerce sur sa page de compte, un forum sur ses propres pages, toute autre extension aussi : le nom est lu dans le code qui répond au code court ou au bloc). L’écran de WordPress et une nouvelle page avec le formulaire sont proposés aussi. Les liens de WordPress, du thème et de cette extension mènent alors à la page choisie, et une page choisie ici n’est jamais remplacée à l’activation ni à la mise à jour.

Quand la page de connexion est celle d’une autre extension, son propre chemin vers un nouveau mot de passe lui est laissé : cette extension n’envoie plus le mot de passe oublié nulle part.

Puis-je garder ma propre page de connexion ?

Choisissez-la dans Réglages, Cabrio Connexion, ou l’écran de WordPress. Mettre l’une des trois pages à la corbeille rend aussi sa porte à WordPress. Un thème peut encore décider par le filtre cab_cnx_page_id, qui l’emporte sur le réglage ; l’écran le dit quand c’est le cas.

Garde-t-elle des données à elle ?

Trois options pour les identifiants des trois pages (-1 pour l’écran de WordPress), une pour les portes choisies dans les réglages, une qui retient si c’est l’extension qui a ouvert l’inscription, une qui note la version dont les pages ont été vérifiées en dernier, une pour la façon dont les nouveaux comptes sont vérifiés et une pour l’œil du mot de passe. Une métadonnée d’utilisateur, _cab_cnx_pending, sur un compte qui attend un administrateur ; elle part quand le compte est validé. Aucune table.

Peut-on vérifier les nouveaux comptes avant qu’ils se connectent ?

Oui, dans Réglages, Cabrio Connexion, Nouveaux comptes. WordPress dit seulement si tout le monde peut s’inscrire. Vérifier l’adresse, WordPress le fait déjà sur son propre écran d’inscription : il ne demande pas de mot de passe et envoie un lien pour en choisir un, que seul le titulaire de l’adresse peut suivre. Réglée sur « Par courriel », le formulaire de l’extension fait de même et laisse WordPress envoyer ce lien. La validation par un administrateur n’existe pas dans WordPress (seul le multisite retient les inscriptions, et pour l’adresse seulement) : réglé sur « Par un administrateur » ou « Les deux », un nouveau compte ne peut pas se connecter tant qu’un administrateur ne l’a pas validé dans Utilisateurs (vue « En attente de validation », « Valider » sous le nom) ; l’administrateur est prévenu par courriel, et le membre aussi une fois validé. Les comptes créés par un administrateur, ou par WooCommerce, ne sont jamais retenus.

Désactiver ou désinstaller l’extension libère les comptes encore en attente : supprimez d’abord ceux dont vous ne voulez pas.

Avis

Ce qu’en disent ses utilisateurs

Pas encore d’avis sur Cabrio Connexion : le vôtre peut être le premier.

Donner votre avis sur Cabrio Connexion

Votre avis paraît après relecture. Votre adresse électronique sert seulement à vous répondre si besoin : elle n’est jamais publiée. Comment nous traitons les avis

Historique

Son histoire

Cabrio Connexion 1.29.1

  • L’historique en français, ici même : Cabrio Dépôt 0.10.0 le montre sur la page de l’extension et dans la fenêtre « Voir les détails » d’un site en français. Rien d’autre ne change.
Version 1.29.0
  • Les mises à jour viennent du Dépôt de Cabrio Informatique. L’extension déclare son adresse de mise à jour (Update URI) et embarque le module du Dépôt (inc/cab-depot-client/, 1.0.3) : WordPress propose ses nouvelles versions dans Extensions, comme pour les extensions du répertoire officiel, et n’installe un paquet que si sa signature est bonne. La clé de licence se saisit dans Réglages > Licence Cabrio.
  • readme-fr_FR.txt : la présentation en français. Page de l’extension : https://cabrio-informatique.com/extensions-wordpress/cabrio-connexion/.
  • Testée jusqu’à WordPress 7.1, que les deux sites utilisent.
Version 1.28.0
  • « Rester connecté » n’est plus coché d’avance, comme sur wp-login.php. Cochée, la case gardait la session quatorze jours (le cookie mémorisé de WordPress), sur un ordinateur partagé aussi : Cyrille s’est retrouvé encore connecté le lendemain, le 26 octobre 2026. Décochée, la session finit avec le navigateur et dure deux jours au plus. Après une connexion refusée, la case garde le choix du visiteur.
  • La connexion qui suit une inscription dure le temps du navigateur, comme une connexion sans la case. Elle gardait le nouveau membre quatorze jours.
  • Essayé sur Cabrio Informatique : case décochée à l’ouverture ; un mauvais mot de passe envoyé case cochée revient case cochée, avec l’erreur.
Version 1.27.0
  • Les trois formulaires déclenchent les crochets de WordPress lui-même, là où wp-login.php les déclenche : login_form après le mot de passe, lostpassword_form et register_form avant le bouton. Une extension de sécurité y pose son champ. Trouvé sur Cabrio Informatique le 19 octobre 2026 avec WP Armour 2.4.02 : elle vérifie chaque demande de mot de passe sur lostpassword_post, que déclenche retrieve_password(), mais n’ajoute son jeton qu’aux formulaires qu’elle connaît ; le nôtre n’en avait pas, donc chaque demande était refusée, et le visiteur lisait l’habituel « un courriel est en route » alors qu’aucun courriel ne partait. Essayé pour de vrai : refus noté, Mailpit vide.
  • L’inscription passe par register_post et registration_errors, dans l’ordre du cœur. Les comptes sont créés par wp_insert_user(), qui les saute : le champ d’une extension de sécurité s’affichait et personne ne le vérifiait.
  • Un refus ajouté par une autre extension à une demande de mot de passe s’affiche désormais à la place de la phrase habituelle. Il ne dit rien du compte (il tombe que le compte existe ou non) ; les codes du cœur, qui en diraient quelque chose, restent muets.
  • L’extension ne connaît toujours aucune extension de sécurité par son nom. Sur CabMiniWorld, le reCAPTCHA de wpForo est éteint pour ces formulaires et ses cases légales ne s’affichent que sur les pages du forum : seul un nonce caché de wpForo rejoint le formulaire d’inscription.
Version 1.26.0
  • Déconnecté, la page de compte de la boutique suit la page de connexion choisie ici. Signalé par Cyrille le 12 octobre 2026 sur Dolce Machja : avec la connexion et l’inscription sur les pages de l’extension et le compte du membre sur celle de WooCommerce, se déconnecter menait toujours au « Mon compte » de WooCommerce, qui montre ses propres formulaires de connexion et d’inscription. WooCommerce y envoie après la déconnexion (wc_get_logout_redirect_url()), et le menu et le pied de page aussi.
  • Quand la page de connexion est celle de cette extension : la déconnexion de WooCommerce y mène désormais (woocommerce_logout_default_redirect_url), et un visiteur déconnecté qui ouvre la page de compte nue de WooCommerce y est envoyé. Pas quand l’inscription passe par cette même page, ni quand l’adresse porte des paramètres (WooCommerce au milieu de quelque chose, un mot de passe tout juste changé) ; ses sections, mot de passe oublié compris, restent telles quelles.
Versions précédentes

1.25.1

  • L’écran des réglages dit quand un réglage ne peut pas atteindre les formulaires que voient les visiteurs. Signalé par Cyrille le 12 octobre 2026 sur Dolce Machja : l’œil était décoché, pourtant un œil s’affichait, et l’inscription réglée sur « Par courriel » demandait encore un mot de passe. Les trois portes menaient au « Mon compte » de WooCommerce : le formulaire, l’œil (ajouté par le script de WooCommerce lui-même, .show-password-input, sans réglage pour le retirer) et l’inscription étaient ceux de WooCommerce. Sous Nouveaux comptes, quand l’inscription passe par la page d’une autre extension, et sous l’œil, quand aucune des portes ne montre les formulaires de cette extension, une note nomme cette extension. Rien d’autre ne change.

1.25.0

  • La vérification des nouveaux comptes, demandée par Cyrille le 12 octobre 2026 (des comptes que personne n’avait vérifiés se créaient sur CabMiniWorld), avec la règle de ne construire que ce que WordPress ne fait pas déjà. Réglages > Cabrio Connexion, Nouveaux comptes : Aucune (comme avant), Par courriel, Par un administrateur, ou Les deux.
  • Par courriel reprend la vérification de WordPress lui-même plutôt qu’une nouvelle : le formulaire d’inscription ne demande pas de mot de passe, le compte en reçoit un au hasard, et WordPress envoie son courriel « Identifiants de connexion » avec le lien pour choisir le mot de passe (wp_new_user_notification()), que seul le propriétaire de l’adresse peut suivre. C’est ce que fait son propre écran d’inscription (register_new_user()).
  • L’approbation par un administrateur est ce qui manque à WordPress, dans inc/validation.php : le compte est marqué _cab_cnx_pending, et authenticate le refuse en priorité 99, après la vérification du mot de passe : seul son propriétaire lit qu’il est en attente, par n’importe quelle porte (cette extension, wp-login.php, WooCommerce). L’adresse d’administration reçoit un courriel avec le lien vers la liste ; Utilisateurs gagne une vue « En attente d’approbation », une colonne « Approbation » et une action « Approuver » ; le membre reçoit un courriel une fois approuvé. Les inscriptions par l’écran de WordPress lui-même sont retenues aussi (register_new_user), sans l’avis de WordPress à l’administration, pour qu’elle ne soit pas prévenue deux fois. Les comptes créés par un administrateur ou par WooCommerce ne sont jamais retenus. Nouvelle action cab_cnx_account_approved.
  • Après l’inscription, un visiteur retenu ou prévenu par courriel arrive sur la page de connexion (ou la page d’inscription) avec une phrase qui dit la suite, sur wp-login.php aussi quand aucune page de l’extension n’est une porte.
  • L’œil du mot de passe, demandé le même jour : Réglages > Cabrio Connexion, Champs de mot de passe. Éteint par défaut. Allumé, chaque champ de mot de passe des formulaires de l’extension (connexion, inscription, compte) a un bouton pour montrer en clair ce qui est tapé et le cacher de nouveau. Le bouton est écrit caché avec ses deux libellés déjà traduits, et assets/js/oeil.js ne fait que le montrer et les échanger : sans le script, le champ reste un champ de mot de passe ordinaire. Un bouton de type button : Entrée envoie toujours le formulaire ; le champ redevient un champ de mot de passe avant l’envoi. L’œil propre à Edge est caché là où celui-ci se trouve.
  • « Visiter le site de l’extension » et le nom de l’auteur mènent à https://cabrio-informatique.com/ au lieu de cabminiworld.fr (Plugin URI, Author URI, et l’adresse du catalogue pour signaler une traduction).
  • 37 chaînes, traduites ; le catalogue en compte 162.

1.24.1

  • Dans les listes de l’écran des réglages, une page qui porte l’un des formulaires de cette extension se lit « (Cabrio Connexion) », comme la page d’une autre extension se lit « (WooCommerce) », au lieu de nommer le formulaire (« formulaire de connexion », « formulaire d’inscription », « compte du membre »). Demandé par Cyrille le 12 octobre 2026. Le titre de la page dit de quelle porte il s’agit, et la ligne sous la liste dit toujours si elle porte le formulaire dont cette porte a besoin. Trois chaînes quittent le catalogue.

1.24.0

  • Dans le menu du membre, les sections de WooCommerce se tiennent à part, sous un sous-titre à elles, « Mon compte client », dessiné comme « Mon espace » au-dessus du reste. Demandé par Cyrille le 12 octobre 2026 sur Dolce Machja. Le menu se lit désormais : les parties de la page de compte ; les autres liens proposés (un profil de forum) ; le compte client (commandes, adresses, détails du compte) ; puis la sortie, l’administration pour ceux qui écrivent et la déconnexion.
  • Nouveau filtre cab_cnx_account_link_groups (sous-titre => libellés des liens qu’il contient), par lequel un pont met ses liens à part ; celui de WooCommerce s’en sert. Un groupe vide n’est pas dessiné. Un groupe est un .cab-connexion-menu__groupe qui contient son sous-titre (.cab-connexion-menu__titre--groupe) et sa liste, la liste nommée par le sous-titre (aria-labelledby).
  • cab_cnx_account_link_list() rend la même liste à plat qu’avant, pour les thèmes qui la lisent ; la sortie est construite par la nouvelle cab_cnx_account_exit_links().
  • La règle qui trace le trait entre deux listes le trace aussi au-dessus et au-dessous d’un groupe. Sur le groupe, pas sur son sous-titre : la couleur atténuée du sous-titre aurait rendu son trait plus pâle que les autres (opacité 0,154 au lieu de 0,22, mesuré sur Dolce Machja).

1.23.0

  • Le compte du membre propose chaque section du compte de WooCommerce, pas seulement les commandes. Demandé par Cyrille le 12 octobre 2026 sur Dolce Machja : une fois que la page de l’extension tient lieu de tableau de bord de WooCommerce, « Adresses » et « Détails du compte » doivent aussi s’y atteindre. Les sections sont lues dans WooCommerce lui-même (wc_get_account_menu_items()), avec les noms, l’ordre et les filtres que la boutique leur donne : une section éteinte (Téléchargements, sur Dolce Machja) n’est pas proposée, une section ajoutée par une autre extension l’est. Le tableau de bord et la déconnexion sont laissés de côté, la page de compte tenant lieu de l’un et proposant déjà l’autre.
  • « Mes commandes », le libellé propre à cette extension depuis la 1.21.0, cède la place à celui de WooCommerce (« Commandes ») ; cab_cnx_woocommerce_orders() devient cab_cnx_woocommerce_bridges(). Rien ne change sans WooCommerce, ou quand la page de WooCommerce est le compte du membre.

1.22.0

  • Le tableau de bord de WooCommerce suit le compte du membre choisi ici. Signalé par Cyrille le 12 octobre 2026 sur Dolce Machja : dans « Commandes », l’élément « Tableau de bord » menait toujours au « Mon compte » de WooCommerce. WooCommerce construit ce lien, comme chaque lien vers sa page de compte, à partir de l’adresse de la page elle-même, sans filtre pour le seul tableau de bord (wc_get_account_endpoint_url()), et déplacer l’adresse déplacerait aussi les commandes et les adresses. Un client connecté qui arrive sur la page nue, par cet élément, un menu, un pied de page ou un vieux favori, est donc désormais envoyé sur la page choisie. Les sections de WooCommerce (commandes, adresses, détails du compte, déconnexion) restent où elles sont, un visiteur reçoit toujours le formulaire de connexion de WooCommerce, et les formulaires envoyés ne sont pas touchés.
  • Les menus et pieds de page qui mènent au « Mon compte » de WooCommerce suivent donc sans être modifiés : un membre arrive sur la page choisie, un visiteur sur le formulaire de connexion.

1.21.0

  • Choisir la page de cette extension pour le compte du membre tient désormais sur une boutique. Signalé par Cyrille le 12 octobre 2026 sur Dolce Machja : avec la connexion et l’inscription sur le « Mon compte » de WooCommerce et le compte du membre sur la page de l’extension, tout menait encore à la page de WooCommerce. Trois causes : le bloc Compte client de l’en-tête du thème, la redirection de WooCommerce après une connexion depuis sa propre page, et un élément « Mon compte » du menu.
  • Un pont vers WooCommerce dans inc/bridges.php, inerte sans WooCommerce et quand la page de WooCommerce est le compte du membre. Après une connexion ou une inscription par les formulaires de WooCommerce, un client qui allait à la page de compte de WooCommerce va à la page choisie à la place ; toute autre destination (la commande) est gardée (woocommerce_login_redirect, woocommerce_registration_redirect). Le bloc Compte client mène, connecté, au compte du membre et, déconnecté, à la page de connexion quand cette page est celle de l’extension ; en liste déroulante, il liste les sections de WooCommerce lui-même et reste tel quel.
  • La page de compte propose « Mes commandes », qui mène à celles de WooCommerce : un client ne perd pas ses commandes et ses adresses.
  • L’écran des réglages ne promet plus que « les liens du thème » suivent : un lien écrit à la main dans un menu ou une page garde son adresse. L’élément de menu de Dolce Machja en est un, à changer dans le menu.

1.20.1

  • Essayé sur Dolce Machja (WooCommerce 11.2) le 12 octobre 2026, les trois portes réglées sur la page « Mon compte » de la boutique : les liens, wp-login.php et le mot de passe oublié ont suivi, mais deux choses non.
  • Le réglage d’inscription de WordPress suit désormais la porte d’inscription. L’extension l’ouvre pour son propre formulaire seulement, et referme ce qu’elle a ouvert quand la porte mène à la page d’une autre extension : une boutique a sa propre inscription, et une inscription WordPress ouverte laisse des robots s’inscrire en postant sur wp-login.php. Un réglage qu’elle n’a pas ouvert n’est jamais touché, et elle n’en rouvre un que quand la porte revient à sa propre page dans les réglages, ou à l’activation. Les sites déjà dans cet état sont remis d’aplomb par la vérification qui suit cette mise à jour.
  • wp-login.php?action=lostpassword, avec la page de connexion d’une autre extension, va désormais à la page de mot de passe oublié de cette extension quand elle en a une (le /mon-compte/lost-password/ de la boutique), au lieu de l’écran de WordPress.
  • Le lien « Créer un compte » du formulaire de connexion s’affiche dès que la porte d’inscription mène quelque part qui accepte des comptes, page d’une autre extension comprise, pas seulement quand l’inscription de WordPress est ouverte. Nouvelle cab_cnx_signup_is_open().
  • L’écran des réglages avertit quand l’inscription est laissée à l’écran de WordPress alors que les inscriptions sont fermées dans Réglages > Général.

1.20.0

  • Un écran de réglages, Réglages > Cabrio Connexion, pour choisir la page de chaque porte : connexion, inscription, compte du membre. Demandé par Cyrille le 12 octobre 2026, pour les sites où une autre extension a déjà de telles pages (WooCommerce, ou toute autre). La liste propose chaque page du site, chacune suivie de ce qu’elle porte : les formulaires de cette extension, et les autres extensions dont elle porte les codes courts ou les blocs, nommées d’après le fichier qui leur répond, pas d’après une liste d’extensions connues. Proposés aussi : l’écran de WordPress lui-même, et une nouvelle page avec le formulaire. Sous chaque liste, ce à quoi la porte mène maintenant, avec un avertissement pour une page non publiée, une page qui ne montre aucun formulaire, ou un thème qui impose une autre page par cab_cnx_page_id.
  • Une porte réglée là appartient à l’administrateur : l’activation et la vérification après une mise à jour la laissent tranquille (nouvelle option _cab_cnx_pages_chosen). Le choix ne tombe que si sa page est supprimée pour de bon. L’écran de WordPress lui-même est enregistré comme -1, à part de 0, qui veut toujours dire « pas encore réglé ».
  • L’activation crée toujours les trois pages, puis dit une fois, sur l’écran d’administration suivant, où les changer. Un lien Réglages se trouve sur la ligne de l’extension.
  • Quand la page de connexion est celle d’une autre extension, le mot de passe oublié n’y est plus envoyé avec ?action=lostpassword, une adresse que seule la page de cette extension comprend : lostpassword_url et wp-login.php sont laissés à qui tient cette porte, et wpForo est prévenu de même.
  • wp-login.php?action=register ne tourne plus en boucle quand il n’y a pas de page d’inscription : l’adresse vers laquelle il redirigeait était lui-même.
  • La création des pages passe dans cab_cnx_create_page() et cab_cnx_page_specs() ; cab_cnx_page_created se déclenche aussi pour une page créée depuis l’écran.

1.19.2

  • Plus de page de connexion vide sur un site qui en avait déjà une. À l’activation, l’extension prenait toute page posée à son adresse, connexion ou inscription, sans regarder dedans. Sur cabrio-test, ces pages avaient été créées en mars par Bootstrap Cabrio Theme, vides, leur formulaire dessiné par un modèle de page : sous tout autre thème, elles ne montraient rien, et chaque lien de connexion y menait. Signalé par Cyrille le 12 octobre 2026.
  • Une page trouvée là n’est désormais gardée que si elle porte le formulaire (bloc ou code court, où qu’il soit) ou si elle est vide, et elle reçoit alors le bloc et rien d’autre : le modèle de page qu’un autre thème lui a mis reste, et ce thème garde sa page. Une page avec un contenu à elle, comme le « Mon compte » d’une boutique, reste telle quelle, et l’extension crée sa propre page à côté.
  • Une mise à jour n’active rien : un site déjà pris garde ses pages vides. Une fois par version, le premier écran d’administration vérifie les trois pages enregistrées et relance le passage de l’activation si l’une d’elles n’a pas son formulaire. Nouvelle option _cab_cnx_pages_checked, retirée à la désinstallation.
  • Les pages qui portent déjà leur bloc, dont celles de CabMiniWorld en colonnes, ne sont pas touchées.

1.19.1

  • Le lien de compte de l’en-tête ne rétrécit plus. Dans une rangée d’en-tête chargée (l’accueil de cabrio-informatique à 961 px), il cédait la place à ses voisins et sortait à 17 px au lieu de 24. Son enveloppe, son pictogramme et sa photo sont désormais en flex: none.

1.19.0

  • La carte du membre montre son niveau sur le site : le nom de son rôle (Administrateur, Auteur, Abonné…), dans une petite pilule à la couleur d’accent du thème, sous le nom. Demandé par Cyrille le 6 octobre 2026. Le nom vient des rôles du site, traduits par WordPress lui-même (translate_user_role()) : un rôle ajouté par une extension est nommé comme dans l’administration ; plusieurs rôles sont joints. Nouvelle cab_cnx_role_label() et son filtre cab_cnx_role_label ; une chaîne vide n’en montre aucun.
  • Partout où un thème dessine la carte avec cab_cnx_account_card_html(), comme CabMiniWorld dans son bandeau, la pilule vient avec.

1.18.0

  • Sur téléphone, la carte du membre (photo, nom, courriel, date d’inscription) vient avant le menu : qui on est, où aller, puis le compte. Demandé par Cyrille le 6 octobre 2026. Dans l’espace, la carte est désormais un élément de la grille, avec des zones nommées (carte, menu, compte) : empilées dans cet ordre en étroit ; en large, le menu tient la colonne de gauche sur toute la hauteur, en suivant toujours le défilement, et la carte ouvre le compte à droite, comme avant.
  • Sans l’espace de l’extension (un thème qui garde son propre panneau, comme CabMiniWorld), la carte reste où elle était, dans le compte.

Vérifié sur cabrio-informatique à 390 px (carte, menu, compte, dans cet ordre) et 1280 px (inchangé, menu à 56 px sous la barre d’administration pendant le défilement).

1.17.0

Les historiques du membre en onglets, comme wpForo montre son profil, pour que la page de compte ne grandisse pas d’un historique par source. Demandé par Cyrille le 6 octobre 2026.

  • Une barre d’onglets au-dessus des historiques (commentaires, publications, messages du forum) : pictogramme et libellé à la couleur d’accent du thème, l’onglet ouvert souligné de cette couleur sur un trait gris. Écrite cachée ; le nouveau assets/js/onglets.js (chargé pour un membre connecté seulement) la montre et garde un seul panneau ouvert. Motif d’onglets ARIA : flèches, Début, Fin.
  • L’adresse décide : une pastille qui mène à #compte-forum, ou un lien de page d’un historique, ouvre cet onglet ; sinon l’historique en cours de pagination, sinon le premier.
  • Sans le script, chaque historique suit toujours l’autre sous son titre. Avec un seul historique, pas d’onglets.

Vérifié sur la copie locale de CabMiniWorld (trois historiques) et sur cabrio-informatique (deux) : clic, clavier, pastille et lien de page ouvrent chacun le bon onglet ; aucun défilement horizontal à 360, 390 et 1280 px.

1.16.0

L’activité du membre sur la page de compte, et un lien de compte dans l’en-tête. Demandé par Cyrille le 6 octobre 2026 : « dans le style de wpForo », l’historique des commentaires du membre, de ses articles s’il en écrit, de ses messages du forum si wpForo est là ; et un lien de connexion ou de membre dans l’en-tête, avec la photo de profil, « comme le fait dolce-machja ».

  • Nouveau inc/activity.php : des compteurs en pastilles rondes avec les pictogrammes et les teintes de wpForo (le fond de la pastille tiré de la teinte, pour qu’elle se lise aussi sur une page sombre), puis un historique par compteur, cinq entrées par page, avec les pages gardées dans l’adresse (cab-cnx-commentaires, -publications, -forum). Les commentaires comprennent ceux en attente de modération ; les articles comprennent les brouillons, ceux en attente et les programmés, étiquetés, un brouillon menant à son éditeur. Les messages du forum viennent de l’API de wpForo lui-même, et seulement quand elle est prête : wpForo construit ses classes au chargement d’une page, pas en ligne de commande.
  • « Mon activité » ouvre le menu du membre et est la première partie de la page.
  • Les titres sont décodés avant d’être échappés : get_the_title() les rend typographiés, et ’ se serait affiché tel quel.
  • La grille des pastilles se mesure en em : en rem, « Commentaires » se coupait au milieu avec les caractères plus grands de CabMiniWorld.
  • Nouveau inc/account-link.php : le bloc cabrio-connexion/account-link (code court
    ), avec sa propre petite feuille de style chargée avec le bloc seulement. Accroché après core/navigation dans une partie de modèle d’en-tête ou une composition d’en-tête, sauf si l’en-tête a déjà un bloc de compte. Une composition de thème arrive au crochet sans son contenu, seulement avec le chemin de son fichier : le fichier est lu comme du texte pour y regarder, sinon l’en-tête de CabMiniWorld recevait un second lien.
  • 23 nouvelles chaînes, traduites en français (99 en tout).

Vérifié sur cabrio-informatique sous son thème et sous Twenty Twenty-Five, et sur la copie locale de CabMiniWorld avec wpForo : 2 commentaires, 58 articles, 6 messages du forum, 4 sujets, comme wpForo les compte ; le lien une fois dans chaque en-tête, aucun ajouté sur CabMiniWorld, dont l’en-tête a le sien ; aucun défilement horizontal à 390 px.

1.15.0

L’espace du membre tient seul, sous n’importe quel thème. Cyrille, le 6 octobre 2026 : « mes extensions doivent être indépendantes, elles doivent marcher sur tous les thèmes ». Avec la 1.14.0, le menu était un bloc à poser dans des Colonnes écrites dans la page et habillées par le thème : sous cab-miniworld sur cabrio-informatique, il sortait nu, et la même page différait d’un site à l’autre.

  • Le bloc de compte dessine lui-même le menu à côté de son formulaire (une grille, par requête de conteneur : côte à côte à partir de 44rem de place, empilés en dessous), le menu suivant le défilement sous la barre d’administration. La page porte le bloc seul, tel que l’extension la crée.
  • Un habillage simple tiré du thème, comme les champs : un panneau aux trait et arrondi du champ, la couleur des liens et la typographie du thème, des traits tirés de la couleur du texte. Un thème l’habille davantage, il n’est plus obligé de le faire.
  • L’espace prend la largeur que le thème donne à son contenu. Une largeur maximale écrite d’abord l’emportait : sous Twenty Twenty-Five, l’espace faisait 1024 px de large sous un titre de 645 px. Seule la colonne du formulaire est plafonnée, à 46rem.
  • Pas de menu quand un thème répond false à cab_cnx_account_links_here : il montre les liens dans son propre panneau. CabMiniWorld le fait, et ne voit aucun changement. Nouveau filtre cab_cnx_account_menu.
  • cab_cnx_account_menu_html(), partagée par le bloc de compte et le bloc séparé « Menu du compte » ; les titres des ancres arrivent sous la barre d’administration.

Vérifié sur cabrio-informatique sous cabrio-informatique, cab-miniworld 3.67.0 et Twenty Twenty-Five, à 1280 et 390 px : menu à côté du formulaire (empilé sous Twenty Twenty-Five, dont la colonne de contenu fait 645 px), suivant le défilement à 56 px du haut sous la barre d’administration, aucun défilement horizontal, un seul titre par page. Sur la copie locale de CabMiniWorld, son propre panneau et aucun menu de l’extension.

1.14.0

Le menu du compte. Demandé par Cyrille le 6 octobre 2026 : la page de compte de CabMiniWorld a un panneau « Mon espace » à côté du formulaire, celle de cabrio-informatique n’en avait pas, et il le prenait pour une partie de l’extension. C’était celui du thème : son propre bloc, ses colonnes, son bleu. Sous tout autre thème, les mêmes liens tombaient au pied du formulaire, et aucun ne menait aux parties de la page.

  • Nouveau bloc cabrio-connexion/account-menu (code court ), dans inc/menu.php : « Mon espace », les parties de la page de compte en ancres, puis les liens de cab_cnx_account_link_list(). Sur la page de compte, les ancres restent sur la page (#compte-options) ; de partout ailleurs, elles y mènent. Rien pour un visiteur.
  • Un habillage simple, mis en page par le thème, comme Cyrille l’a demandé : la feuille de style ne fait que poser les deux listes à plat. La place et l’apparence sont celles de la page et du thème.
  • Nouvelle cab_cnx_account_sections() et son filtre cab_cnx_account_sections : les titres des parties sont dits une fois, et le formulaire prend désormais là ses titres de section : le menu et les titres ne peuvent plus diverger.
  • Le formulaire cesse de lister les liens à son pied quand le menu est sur la page de compte, par le filtre existant cab_cnx_account_links_here, interrogé sur le contenu de la page comme CabMiniWorld le fait déjà, pour que l’éditeur soit d’accord avec le site.
  • Trois nouvelles chaînes, traduites en français.

Vérifié sur cabrio-informatique : le menu à côté du formulaire à 1280 px, au-dessus à 390 px, les ancres sur la page, les blocs valides dans l’éditeur. Sans le menu sur sa page, le bloc de compte se rend comme en 1.13.0 : CabMiniWorld, dont le panneau est celui de son thème, ne voit aucun changement.

1.13.0

Les formulaires portent le thème qui les reçoit au lieu d’une apparence à eux. Signalé par Cyrille le 6 octobre 2026 : sous un autre thème, les trois pages n’utilisaient pas les variables du thème et ne s’y fondaient pas.

  • Plus de couleurs devinées par leur nom. L’extension cherchait white, black, accent ou primary dans la palette et figeait leurs valeurs. Sous cabrio-informatique (fond nuit, texte blanc, couleurs nommées night, lemon et moss), cela donnait une carte blanche, un texte noir et un bleu, #2f5f7e, introuvable dans le thème. Elle lit désormais ce qu’un thème déclare dans ses styles, la couleur de ses liens, sinon de ses boutons, et la transmet comme propriété personnalisée du thème lui-même : une variation sombre ou un changement dans l’éditeur du site suit de lui-même.
  • Libellés, champs, traits et lignes atténuées suivent la couleur du texte autour du formulaire, par currentColor : le même formulaire se lit sur une section claire et sur une section sombre.
  • Sous un thème avec un theme.json, les boutons d’envoi portent .wp-element-button et sont les boutons du thème. Un thème classique garde ses propres règles button, avec un simple contour à la couleur du texte en repli. Le repli ne vise que les boutons sans cette classe : il avait fait fuir un arrondi de 3 px dans les boutons carrés de Twenty Twenty-Five.
  • La carte (fond, ombre, marge interne) n’est dessinée que quand un thème passe une surface par cab_cnx_colors. Les valeurs de l’extension sont écrites dans :where(.cab-connexion) : un thème qui pose une propriété –cab-cnx-* sur .cab-connexion l’emporte, quel que soit l’ordre des feuilles de style.
  • Les règles des champs gardent leur poids. Une spécificité nulle a été essayée puis abandonnée : les règles générales d’un thème l’emportaient alors aussi, comme l’anneau de focus de cab-miniworld pour « tout ce qui n’a pas de style à soi », qui arrondit à 2 px.
  • Nouvelles : cab_cnx_inline_css(), partagée par le site et le canevas de l’éditeur, cab_cnx_submit_class(), cab_cnx_css_color(), cab_cnx_theme_accent(). Retirées : cab_cnx_resolve_color(), cab_cnx_pick(), cab_cnx_rgb(), cab_cnx_luminance() et les listes de slugs de surface et d’encre ; rien hors de l’extension ne les appelait, vérifié sur chaque site local.

Vérifié sur cabrio-informatique sous cab-miniworld 3.67.0, Twenty Twenty-Five et cabrio-informatique, à 1440 et 390 px. Sous cab-miniworld, par rapport à la 1.12.3, les trois pages sont identiques élément par élément, sauf le bouton, désormais celui du thème : mêmes couleurs et hauteur, en gras, un arrondi de 4 px au lieu de 3, et le vert du thème au survol.

1.12.3

  • Historique complété. Il documentait quatre versions sur treize ; les entrées manquantes ont été reconstruites à partir des balises @since du code, fichier par fichier, pas de mémoire. Les versions qui n’ont laissé aucune balise @since ne reçoivent pas d’entrée inventée : la note plus bas dit ce qu’elles étaient.
  • Six balises @since de inc/guard.php disaient 1.12.0, une version qui n’a jamais quitté l’atelier. La garde est sortie en 1.12.1, et elles le disent désormais.

1.12.2

  • La feuille de style suit le bloc. Les trois blocs peuvent être posés sur n’importe quelle page ou article, et jusqu’ici la feuille de style ne se chargeait que sur les trois pages déclarées : le formulaire sortait sans aucun habillage, et rien ne disait pourquoi. Mesuré sur un site d’essai, thème classique, page neuve : deux formulaires servis, aucune feuille de style.
  • Le noindex ne s’élargit PAS avec elle. Il passe par cab_cnx_est_une_porte(), gardée étroite exprès : un article qui porte le bloc reste un article, et n’a aucune raison de quitter l’index.

1.12.1

  • Les formulaires qui envoient des courriels sont gardés par le volume, pas seulement par un nonce. Le nouveau inc/guard.php tient le champ caché, le délai minimum et un compte par adresse sur deux périodes. Le mot de passe oublié n’avait rien de tout cela ; l’inscription avait les deux premiers.
  • Le délai minimum ne se saute plus de lui-même. Les deux formulaires lisaient l’heure d’ouverture de la page, et tous deux prenaient une valeur MANQUANTE pour rien à vérifier : ne pas répondre suffisait à passer. Une valeur absente ou impossible est désormais un refus.
  • CAB_CNX_VERSION disait 1.11.0 alors que l’en-tête de l’extension disait 1.11.3. C’est la constante qui date les feuilles de style et les scripts : les navigateurs recevaient une clé de cache périmée. Les deux disent désormais la même chose.

1.11.3

  • Les trois pages n’impriment plus leur propre méta robots. La consigne est confiée à qui possède cette balise sur le site, l’extension de référencement quand il y en a une et WordPress sinon : la page porte une seule balise au lieu de deux qui disent la même chose. Les extensions consultées sont un tableau derrière le filtre cab_cnx_robots_delegues, comme pour les ponts de profil.

1.9.0

  • Un signal cab_cnx_page_created quand l’une des trois pages est créée pour la première fois, pour qu’un thème puisse l’arranger, y poser ses propres blocs, la mettre en colonnes. Il ne se déclenche qu’à la création : une page déjà là appartient à qui l’a écrite, et personne ne doit la réécrire dans son dos.

1.8.1

  • La feuille de style entre dans le canevas de l’éditeur, qui est un document à lui. Jusque-là, les blocs étaient dessinés dans l’éditeur sans les habits qu’ils portent sur le site.

1.8.0

  • Les trois blocs ont un visage dans l’éditeur, dans inc/editor.php et assets/js/editor.js, plutôt que le rectangle gris qu’un bloc rendu par le serveur montre quand rien ne le déclare en JavaScript.

1.6.0

  • SEOPress et wpForo gardent chacun leurs propres profils sociaux, et les deux sont tenus égaux : une méta écrite d’un côté est reportée de l’autre, une méta vidée l’est aussi là-bas, et ce qui manque d’un côté est rempli à l’ouverture de la page de compte. L’appariement est un tableau derrière le filtre cab_cnx_social_pairs.

1.5.0

  • L’extension peut garder elle-même la photo de profil quand rien d’autre ne le fait : elle prend le fichier envoyé, le met au carré, retient où il est rangé, et le sert partout où WordPress demande une photo de profil. Le dernier recours, inc/avatar.php, et le seul endroit où cette extension enregistre un fichier.
  • Le formulaire de compte propose les profils sociaux que SEOPress garde pour un auteur, en champs supplémentaires déclarés par cab_cnx_profile_fields.

1.4.0

  • Une adresse donnée pour une photo est vérifiée : elle doit vraisemblablement être une image. esc_url_raw ne dit jamais non : une adresse impossible était acceptée telle quelle, et effaçait le portrait du membre sur tout le site.

1.3.0

  • Le membre choisit sa photo depuis la page de compte, et qui garde les photos de profil sur ce site l’applique : wpForo quand il est là, par cab_cnx_save_avatar et cab_cnx_avatar_source. L’extension n’écrit rien elle-même : formats, taille et mise à l’échelle restent à qui les possède.
  • Une photo qui garde son adresse doit dire quand elle a changé, sinon le membre reçoit celle de son cache et croit que rien ne s’est passé.
  • Le pied de la page de compte liste chaque lien proposé à un membre connecté.

1.2.0

  • La carte du membre en haut de la page de compte : photo, nom, courriel, et le jour de son inscription. Derrière un filtre, comme le reste : un thème peut s’en passer.

1.1.0

  • La page du membre propose le profil tenu par wpForo ou Ultimate Member, quand l’un ou l’autre est installé. Rangé dans inc/bridges.php, derrière le filtre cab_cnx_bridges : l’extension elle-même ne connaît toujours aucune autre extension par son nom.

1.0.0

  • Première version. Extraite du thème CabMiniWorld, où elle avait été écrite pour reprendre la porte d’entrée du site à une extension de forum.

Versions sans entrée

Les 1.7.x, 1.10.x et 1.11.0 à 1.11.2 n’ont laissé aucune balise @since dans le code : rien n’a été écrit à leur sujet plutôt que de deviner. Ce qu’on sait : la 1.7.3 a fini le travail sur les photos de profil, et la 1.10.0 est la version où le dossier a pris le nom cab-connexion.

Un souci ?

Laissez-nous remettre votre
informatique sur les rails.