đŸ—“ïž Session 12 avril 2026 — frnix-manager v3.1.3 → v3.2.1

Versions déployées

  • frnix-manager v3.1.3 → v3.2.1 (prod)
  • frnix-events-manager : inchangĂ© v1.3.71

Corrections bugs (v3.1.4 → v3.1.9)

  • Emails +tag@ acceptĂ©s tels quels Ă  l’inscription
  • Cycle de validation des comptes supprimĂ© — class-account-validation.php vraiment dĂ©chargĂ©e (chargement rĂ©siduel dans class-plugin.php commentĂ©)
  • Restriction emails gĂ©nĂ©riques supprimĂ©e dans class-elementor-handler.php — tous les emails crĂ©ent un compte
  • Fallback +tag dans class-magic-login.php
  • Bouton inline « Éditer » sous le nom supprimĂ© dans shortcode-dashboard.php
  • detect_organization() et consolidate() dĂ©sactivĂ©s — plus d’auto-rattachement ni de fusion automatique de comptes

Nouvelles fonctionnalitĂ©s (v3.2.0 → v3.2.1)

  • Onglet « Mon organisation » masquĂ© quand aucune orga liĂ©e
  • Onglet RGPD toujours visible pour tous les utilisateurs (correction condition trop restrictive)
  • Comptes de test exclus de la recherche contacts admin via meta frnix_is_test_account
  • Cap rĂ©sultats recherche contacts portĂ© de 10 Ă  20

Corrections de données

  • gmail.com retirĂ© de frnix_associated_domains de Zayo Europe — 5 users gmail dĂ©tachĂ©s
  • outlook.com (BoumIT) et hotmail.co.uk (HOTMAIL) nettoyĂ©s — 2 users dĂ©tachĂ©s
  • Victoria Eppendahl (ID 2572) dĂ©tachĂ©e d’ARAPEDE

Prochaines étapes

  1. Répercuter corrections v3.2.1 sur BIS
  2. Email one-shot contacts principaux
  3. Bug responsivité single page event
  4. Colonne « Société déclarée » (frnix_company_name) dans tableau contacts admin
12 avril 2026 — Suppression workflow validation — crĂ©ation directe des comptes Ă  l’inscription

Catégories : feature, workflow

Actions :

  • frnix-manager v3.1.4 → v3.1.5
  • class-elementor-handler.php : suppression du branchement needs_validation() / create_pending() — tous les emails pro crĂ©ent dĂ©sormais le compte WP directement sans passer par la file d’attente
  • Vidage manuel des 20 comptes pending et 2 comptes confirmed restants → validated via SQL (phpMyAdmin bis + Claude Code prod)
  • Liste « En attente » vide sur bis et prod
  • DĂ©ployĂ© sur bis puis prod + purge caches LiteSpeed + OPcache
12 avril 2026 — Refonte workflow inscriptions — suppression validation comptes + acceptation emails +tag

Catégories : feature, workflow

Actions :

  • frnix-manager v3.1.3 → v3.1.4
  • Suppression du cycle de validation des comptes (cron frnix_check_pending_accounts J+7/J+30, suspension automatique)
  • DĂ©sactivation de class-account-validation.php (dĂ©chargĂ©e du plugin principal)
  • Suppression du filtre frnix_inscription_email dans class-email-consolidation.php — les emails +tag@ sont dĂ©sormais acceptĂ©s tels quels Ă  l’inscription, sans conversion vers l’email principal
  • Nettoyage automatique du cron au premier chargement post-mise Ă  jour (via version-flush)
  • DĂ©ployĂ© sur BIS puis PROD
frnix-manager — 10/04/2026 — Fix accĂšs pages admin cachĂ©es + lien fiche contact dashboard

Catégorie : bug-fix

Actions effectuées :

  • Bug 1 (reorder_menu) : les pages cachĂ©es du sidebar (frnix-administration, frnix-account-validation, etc.) Ă©taient exclues de $submenu lors du reorder — WordPress refusait l’accĂšs par URL directe. Fix : re-ajout des pages cachĂ©es en fin de $result avant $submenu['frnix-manager'] = $result.
  • Bug 2 (dropdown quick search) : le lien contact pointait vers frnix-administration&search_contact= au lieu de la fiche /mon-compte/. CorrigĂ© vers home_url('/mon-compte/?admin_user_id=' . $user->ID . '&nocache=1') — nocache=1 nĂ©cessaire car LiteSpeed Cache servait la page sans exĂ©cuter le PHP.

Version : frnix-manager 3.1.3 (BIS + PROD)

frnix-manager — 09/04/2026 (suite 3) — Tableaux Contacts + Organisations — fonctionnalitĂ©s avancĂ©es

Fichiers modifiés :

  • includes/modules/admin/render-unified-tables.php (60KB+)
  • assets/js/pending-actions.js

Fonctionnalités livrées :

  1. Tableau Organisations : popover « Nb contacts » avec ronds colorés P/F/V/B/A + nom + email + cliquables
  2. Bouton Â«Â đŸ” Contacts » par orga : modal recherche contacts similaires avec Levenshtein
  3. Modal contacts similaires : contacts déjà rattachés + checkboxes P/F/V inline auto-save + Voir/Masquer + ajout manuel + création nouveau contact
  4. Pastilles rĂŽle par lettre (P/F/V/B/A/?) avec couleurs
  5. Bouton changer catĂ©gorie orga inline (✏ + select)
  6. Bouton Supprimer orga → frnix_org_hidden=1 + filtre « Orgas supprimĂ©es » + Restaurer
  7. Compteur Nb contacts exclut contacts masqués
  8. Export CSV filtré « Exporter la sélection en CSV » sur ligne filtres Contacts + Organisations
  9. Export sélection groupée renommé « Exporter la sélection »
  10. Contacts masqués exclus des recherches similaires et du popover Nb contacts
  11. Fiche orga dĂ©diĂ©e class-fiche-org.php créée mais commentĂ©e (bouton Éditer → /mon-compte/?tab=organisation&org_id=)
frnix-manager — 09/04/2026 (suite) — Onglet « En attente » — fusion inscriptions + comptes WP, actions fonctionnelles

Fichiers modifiés :

  • includes/modules/admin/render-unified-tables.php — frnix_render_pending_view() fusionnĂ©e, wp_enqueue_script dĂ©placĂ© dans la fonction, handlers validate/reject account
  • assets/js/pending-actions.js — handlers frnix-p-validate-account et frnix-p-reject-account ajoutĂ©s

Fonctionnalités livrées :

  1. Onglet « En attente » fusionne 2 sources : wp_frnix_pending_registrations (inscriptions) + comptes WP avec frnix_account_status IN (pending/confirmed)
  2. Badge Source : Inscription=orange / Compte=bleu
  3. Valider compte → frnix_account_status=validated → ligne disparaüt du tableau
  4. Rejeter compte → frnix_hidden=1 → ligne disparaĂźt, visible dans filtre « Emails masquĂ©s »
  5. JS pending-actions.js chargé via wp_enqueue_script dans frnix_render_pending_view() (FRNIX_PLUGIN_URL)
  6. Filtres mutuellement exclusifs rĂŽle/statut dans tableau Contacts
  7. Compteur Admins TBB : fusion WP administrators + frnix_role_admin=1
  8. Samuel (ID2) + Amandine (ID351) + Philippe (ID348) : frnix_organization_id=23761 + frnix_role_admin=1 sur BIS
frnix-manager — 09/04/2026 — Connexion TBB → tableaux unifiĂ©s + filtres mutuellement exclusifs

Fichiers modifiés :

  • includes/modules/admin/class-admin-page.php — liens TBB → frnix-contacts/frnix-organisations, compteur Admins Ă©tendu (WP + frnix_role_admin)
  • includes/modules/admin/render-unified-tables.php — filtre role_filter=admin Ă©tendu Ă  frnix_role_admin=1, filtres mutuellement exclusifs (role/statut auto-reset)

Fonctionnalités livrées :

  1. Liens TBB cliquables → tableaux unifiĂ©s : Admins/Board/Principaux/Facturation/Votants → frnix-contacts&role_filter=... / Actifs/Partenaires/Individuels/Non-membres → frnix-organisations&cat_filter=...
  2. Compteur Admins TBB : fusion WP administrators + frnix_role_admin=1 (Samuel ID2, Amandine ID351, Philippe ID348 ajoutés)
  3. Filtre role_filter=admin dans tableau Contacts : détecte WP administrator OU frnix_role_admin=1
  4. Filtres mutuellement exclusifs : changer rĂŽle reset statut et vice versa, form auto-submit

Notes BIS :

  • Samuel (ID2), Amandine (ID351) : frnix_organization_id=23761 + frnix_role_admin=1 (Ă  rĂ©pliquer sur PROD)
  • Philippe Duby (ID348) : frnix_role_board vidĂ© + frnix_role_admin=1 (Ă  rĂ©pliquer sur PROD)
frnix-manager — 08/04/2026 (suite 2) — Tableau Contacts unifiĂ© — En attente, filtres, tri, masquage

Fichiers modifiés :

  • includes/modules/admin/render-unified-tables.php (43 134 octets) — tableau contacts complet
  • assets/js/pending-actions.js (4 511 octets) — handlers JS modals pending

Fonctionnalités livrées :

  1. Onglet « En attente » dans le tableau Contacts : fusion wp_frnix_pending_registrations (inscriptions) + comptes WP frnix_account_status IN (pending/confirmed)
  2. Badges Source : Inscription=orange / Compte=bleu
  3. Actions Inscription : Valider / Rattacher / Ignorer / Rejeter (handlers frnix_pending_*)
  4. Actions Compte : Valider → frnix_account_status=validated / Rejeter → frnix_hidden=1 (masquĂ©)
  5. Colonnes triables : Date / Nom / Email / Organisation / Source / Statut (â–Č▌⇅)
  6. Filtre « Emails masqués » : affiche tous les contacts avec frnix_hidden=1 (suspendus, rejetés, masqués manuellement)
  7. Bouton « Supprimer » → masque (frnix_hidden=1), bouton « Restaurer » dans filtre masquĂ©s
  8. Filtre « Emails persos » : contacts avec domaine Gmail/Hotmail/Outlook/etc
  9. Badge « Associé » : contacts avec frnix_is_alias_of non vide
  10. Bouton « Rattacher à un contact » pour emails persos / « Rattacher à une orga » pour emails pro
  11. JS pending-actions.js sĂ©parĂ© (plus de heredoc PHP→JS)

Notes :

  • Rejeter un compte = frnix_hidden=1 (pas suspended) — comportement unifiĂ© avec bouton Supprimer
  • Tableau Organisations : bouton Éditer pointe vers /membres/$slug (page front)
  • Crashes BIS Ă©vitĂ©s : goto supprimĂ©, JS externalisĂ© en .js sĂ©parĂ©
frnix-manager — 08/04/2026 (suite) — Tableaux unifiĂ©s Contacts + Organisations — render-unified-tables.php

Fichiers créés/modifiés :

  • includes/modules/admin/render-unified-tables.php (nouveau, ~28KB) — frnix_render_contacts_unified() + frnix_render_organisations_unified() + 6 handlers AJAX + JS inline
  • includes/modules/admin/class-admin-page.php — render_contacts_page() remplacĂ© par appel unifiĂ©, render_organisations_page() ajoutĂ©, submenu frnix-organisations enregistrĂ©
  • frnix-manager.php — require_once render-unified-tables.php ajoutĂ©

Fonctionnalités livrées :

  1. Tableau Contacts unifiĂ© : colonnes ☐/Nom/Email/ORGANISATION/RÔLE(S)/Statut/Actions — 992 contacts, pagination 50/page
  2. Filtres : recherche texte + rÎle + statut (Validé/En attente/Confirmé/Suspendu/Contacts uniques/Comptes persos) + bouton Réinitialiser
  3. Badges rÎles colorés : Principal=#0099FF, Votant=#FF9800, Facturation=#64CA8C, Board=#9C27B0, Admin=#888
  4. Actions par ligne : Voir (/mon-compte/?admin_user_id=) + Inviter + Rattacher (détection auto email perso/pro)
  5. Rattacher email pro → modal autocomplete orga (frnix_pending_search_org)
  6. Rattacher email perso → modal autocomplete contact (frnix_search_contact_for_alias) + frnix_set_alias
  7. Barre actions groupées : Demande de mise à jour CONTACT + Exporter CSV avec page HTML intermédiaire
  8. Export CSV : page HTML avec textarea + bouton télécharger (séparateur ; Excel FR)
  9. Comptes persos rattachés (frnix_is_alias_of) masqués par défaut, visibles via filtre Comptes persos
  10. Tableau Organisations unifié : colonnes ☐/Logo/Nom/Catégorie/Contact principal/Email principal/Nb contacts/Actions

Notes techniques :

  • Nonce dual : frnix_pending_nonce pour search org, frnix_admin_nonce pour les autres handlers
  • Exclusion comptes test via FRNIX_Test_Accounts::get_test_user_ids()
  • Garde-fou BIS sur frnix_bulk_invite (FRNIX_BIS_NO_EMAIL_USERS)
  • class-fiches.php créé puis supprimĂ© (approche abandonnĂ©e au profit des tableaux)

nn

frnix-manager — 08/04/2026 — Module invitations — templates, UI 3 modes, anti-spam

Fichiers modifiés :

  • includes/class-invitation-email.php (nouveau) — FRNIX_Invitation_Email::send_invitation()
  • includes/class-frnix-email-template.php — template invitation_member enregistrĂ© dans init_templates()
  • includes/modules/admin/class-admin-page.php — UI invitations 3 modes + 6 handlers AJAX
  • includes/class-gdpr-export.php — fix double-wrap HTML (bypass FRNIX_Email_Template::send(), wp_mail() direct)
  • wp-config.php BIS — define('FRNIX_BIS_NO_EMAIL_USERS', true)

Fonctionnalités livrées :

  1. Fix rapport RGPD : HTML brut corrigĂ© — generate_html_report() bypasse wrap() via wp_mail() direct
  2. Template invitation éditable : slug invitation_member, variables {{first_name}} {{last_name}} {{magic_url}} {{site_name}}, visible dans /wp-admin/admin.php?page=frnix-email-templates
  3. Module invitations — panneau Â«Â đŸ“š Envoi d’invitations » dans onglet Administration avec 3 modes :
    • Test sur moi : envoie Ă  current_user, pas de garde-fou BIS
    • SĂ©lection manuelle : autocomplete avec recherche SQL sur first_name/last_name/user_email, tags supprimables
    • Par catĂ©gorie : 2 axes (catĂ©gorie orga / rĂŽle contact), count en live
  4. Anti-spam : exclusion systématique des contacts avec _last_login / wfls-last-login / frnix_last_modified non vide
  5. Garde-fou BIS : FRNIX_BIS_NO_EMAIL_USERS bloque les modes 2 et 3, UI bouton disabled + label « Envoi désactivé (BIS) »
  6. Fix Comptes test : retirĂ© de frnix_cleanup_submenus() qui cassait l’accĂšs admin

Notes techniques :

  • frnix_account_status filter : pending/confirmed uniquement (validated/active/suspended exclus dĂ©fensivement)
  • Taxonomie member_category : nettoyage Ă  planifier (ELEM/NL inutiles, doublons membre-actif/membre-electeur/membre-individuel)
  • CatĂ©gories orga hardcodĂ©es : membre_actif / membre_partenaire / membre_individuel / non_membre (post_meta frnix_org_category)
Session 08/04/2026 — Migration rîles multi-flags + nettoyage orgas/contacts [Feature, Refactor, Migration]

Refactor modĂšle rĂŽles contacts :

  • Abandon de frnix_contact_role (single value) au profit de 4 metas binaires frnix_role_principal/votant/facturation/board permettant le multi-rĂŽles
  • Migration des metas legacy contact_organisation/facturation/votant (string « true ») vers les nouveaux flags
  • BIS : 475 principaux / 81 votants / 103 facturation / 8 board
  • PROD : 451 principaux / 38 votants / 48 facturation / 8 board
  • Nettoyage votants non-rattachĂ©s Ă  une orga ACTIF (BIS: 381 / PROD: 376 supprimĂ©s)
  • Nettoyage facturation rattachĂ©s Ă  des non-membres
  • Auto-marquage des single-contact orgas (actif/partenaire/individuel/non-membre)

Dashboard FRNIX patché :

  • $user_counts basculĂ© sur frnix_role_* au lieu des metas legacy
  • Compteur « Contacts » filtrĂ© sur frnix_member + frnix_contact (au lieu de tous les wp_users)
  • Tuile « Nouveaux (30j) » supprimĂ©e — grille passĂ©e Ă  3 colonnes
  • frnix_org_category peuplĂ© sur les 579 orgas PROD via frnix_get_organization_type()
  • Cases admins et board dans les filtres dashboard aligĂ©s sur le nouveau modĂšle

Création/migration utilisateurs :

  • 3 admins créés sur BIS avec IDs PROD via SQL direct (Striolet 2, Estrade 351, Duby 348)
  • 25 contacts facturation créés sur PROD depuis email_de_facturation des orgas actives
  • 13+19 contacts créés via script externe (PROD/BIS) pour FOLIATEAM, I3D.NET, KYXAR, NETALIS, RETELIT, KYXAR, POST LUX, VERISIGN, WORLDLINE

  • HUB ONE : email avec point-virgule sanitisĂ© incorrectement par WP — corrigĂ© manuellement via SQL

Fusion FAIR :

  • 5 doublons FAIR fusionnĂ©s vers FAIR Conseil et Services (25818) sur BIS et PROD
  • FAIR Conseil basculĂ© en actif, RaphaĂ«l Boukris (2820) rattachĂ© comme principal/facturation/votant

UI dashboard mon-compte :

  • Bouton « Éditer » inopĂ©rant corrigĂ© : frnixSetMode(window.frnixEditMode || 'admin')
  • Bandeau preview activĂ© pour les admins ($show_banners=true) avec retrait CSS de frnix-preview-mode
  • RĂšgle CSS .frnix-preview-mode .frnix-banner { display:none } commentĂ©e

Maintenance CSS :

  • Mu-plugin frnix-header-css-fix.php : regen complet (page/post/jet-engine) sur init si critique manquant + clear_cache hook
  • Cron horaire frnix_css_regen ajoutĂ© sur BIS et PROD
  • Carte « Maintenance CSS » + AJAX frnix_regen_css dans onglet Outils

TODO :

  • FrnixCore_EmailManager (toujours en attente)
  • 57 orgas actives sans contact (export CSV dispo : uploads/orgas-sans-contact.csv)
  • Tuile « Membres » du dashboard compte des organisations, pas des users — Ă  clarifier
Session 07/04/2026 — Templates emails + migration PROD v3.0.8 [Feature, Deploy, UI]

Feature :

  • class-email-templates.php : Ă©diteur TinyMCE (Visuel), suppression tabs HTML/Aperçu, generate_preview() lit les overrides, bouton Éditer ouvre en Aperçu, bouton Aperçu ouvre version sauvegardĂ©e dans nouvel onglet
  • class-unsubscribe.php : nouveau module, token sĂ©curisĂ© bin2hex/sha256, page /desinscription/, suspension compte, footer email avec lien « Se dĂ©sinscrire » (conditionnel user_id)
  • 1019 comptes existants migrĂ©s en statut « validated »
  • Menu admin nettoyĂ© (frnix_cleanup_submenus) sur BIS et PROD
  • CSS JetEngine ID 14878 ajoutĂ© au mu-plugin frnix-header-css-fix.php

Deploy :

  • Migration PROD complĂšte : 7 modules v3.0.8 + 9 fichiers sync BIS→PROD
  • Table wp_frnix_unsubscribe_tokens créée sur BIS et PROD
  • Page /desinscription/ créée sur BIS (ID 26205) et PROD (ID 26189)

TODO :

  • FrnixCore_EmailManager pour centraliser wp_mail() avec user_id
  • Nettoyage emails : +tag, restructuration 3 champs, suppression alias
  • Navigation admin style Apple avec sous-onglets conditionnels

Connexion Ă  votre espace membre

Inscription
Tu es déjà inscrit, on se voit bientÎt !

Souscrivez Ă  la Newsletter FRNIX

En souscrivant la newsletter de FRNIX, vous serez réguliÚrement informé sur :

De plus, vous recevrez réguliÚrement des informations techniques, financiÚres, et organisationnelles concernant tout ce qui intéresse la communauté de l'interconnexion.