Administration
Le panel d'administration
L'administration se trouve sous /admin. Elle adopte la charte NeoFrag Reborn (dark navy + teal, clair/sombre au choix) et s'organise autour d'une barre latérale.
Repères
-
Barre latérale : les modules sont rangés en neuf rubriques, plus Système (Paramètres, Utilisateurs, Permissions, Thèmes & Addons, Monitoring…). Les sections se déplient en accordéon ; une rubrique vide est masquée.
Rubrique Modules Contenu Pages, Blog, Actualités, Slider, Citations, Recettes, Menus Communauté Forum, Collectifs, Discussion, Commentaires, Livre d'or, Emojis Animation Calendrier, Sondages, Gamification, Petites annonces Gaming Événements, Équipes, Jeux / Cartes, Recrutements, Palmarès, Partenaires Savoir Wiki, FAQ, Dictionnaire, Téléchargements, Annuaire de liens, Carte des lieux Médias Médias, Galeries, Fichiers, Webradio Diffusion Newsletter, Templates emails, Flux RSS, Discord, Webhooks, API Support Contact, Bugtracker, Modération Monétisation Boutique, Dons, Paiements, Régie publicitaire Une extension de la place de marché que ce rangement ne connaît pas va dans Autres modules. Le menu Navigation de l'éditeur en direct suit les mêmes rubriques, en sous-menus, avec une recherche.
-
Épingles : survole un module dans la sidebar et clique l'épingle pour l'ajouter à Épinglé (raccourcis en haut, mémorisés dans ton navigateur).
-
Recherche rapide :
Ctrl/Cmd + Kouvre la palette de commandes pour sauter à n'importe quel module ou action. -
En-tête : fil d'ariane + actions contextuelles (Permissions, Configuration, Aide), « Voir le site » et bascule clair/sombre.
Tâches courantes
| Je veux… | J'y vais |
|---|---|
| Publier une actu / un article / une page | Contenu → le module concerné |
| Ranger les billets du Blog en catégories et en séries (un billet en plusieurs parties) | Contenu → Blog, boutons « Catégories » et « Séries » ; la série et le rang d'un billet se choisissent dans son formulaire |
| Gérer le forum et les commentaires ; la modération | Communauté ; Support → Modération |
| Créer une équipe privée — une rédaction, une équipe de modération — avec sa section du forum et son salon Discord | Communauté → Collectifs — voir Les collectifs |
| Encaisser les cotisations, suivre les adhérents | Monétisation → Paiements — voir Les cotisations |
| Relier Ko-fi, HelloAsso, TipeeeStream ou PayPal aux campagnes de dons | Monétisation → Dons, carte « Services reliés » — voir Les dons reliés |
| Créer les préfixes de sujet du forum (« Question », « Tutoriel »…), choisir l'icône d'un forum | Communauté → Forum, bouton « Préfixes » ; l'icône dans le formulaire du forum |
| Gérer membres, groupes, sessions | Système → Utilisateurs |
| Régler qui peut faire quoi | Système → Permissions (matrice) — grille rôle × action (vert = autorisé, gris = défaut, rouge = jamais) |
| Changer le thème / installer un addon | Système → Thèmes & Addons |
| Réglages du site (nom, accueil, inscriptions, sécurité, copyright) | Système → Paramètres |
| Composer les pages à la souris | Système → Éditeur en direct |
| Relier le site à un serveur Discord : rôles, pseudos, forum ↔ salon Forum, Bugtracker, rôles temporaires, sanctions | Diffusion → Discord — voir Le bot Discord |
| Sauvegardes, mises à jour, état du site | Système → Monitoring |
| Lire les erreurs du site, retrouver celle qu'un visiteur a signalée | Système → Monitoring → Journal des erreurs |
| Relire les actions sensibles (réglages, addons, comptes, clés d'API) | Système → Utilisateurs → Journal d'audit |
Monitoring réunit la santé du site (vérifications d'intégrité des fichiers, espace disque, infos serveur), les mises à jour, les sauvegardes (créer / télécharger / restaurer) et l'adresse de la tâche planifiée (cron) qui publie les contenus programmés.
Le Monitoring
Système → Monitoring résume l'essentiel en haut de page — version et mise à jour, PHP, sauvegardes,
outils de diagnostic allumés —, puis se lit en cinq onglets : Vue d'ensemble (alertes, santé du site,
stockage, adresse du site), Sauvegardes, Diagnostic, Serveur et sécurité (configuration, mot de
passe webmaster, tâche planifiée) et Fichiers (l'installation comparée à la version publiée). La page
revient sur l'onglet où l'on était ; une adresse comme admin/monitoring#diagnostic ouvre le bon.
Chaque mise à jour par le bouton prend d'abord une sauvegarde complète du site, base comprise. Le site garde toujours les cinq plus récentes ; les autres se retirent d'elles-mêmes passé trente jours, et jamais plus de dix ne restent. Téléchargez celle que vous voulez conserver plus longtemps.
Le journal des erreurs
Monitoring → Journal des erreurs montre ce qui a échoué sur le site, sans passer par le FTP : les erreurs regroupées (une même erreur vue cent fois reste une ligne), de la plus récente à la plus ancienne, classées par gravité — fatale, erreur, avertissement, information —, avec leur dernière occurrence complète à déplier. On filtre par gravité et par période, et on cherche un mot.
Quand une page plante, le visiteur lit « Une erreur est survenue » et une référence de huit
caractères (3F9A1C07) ; s'il vous la transmet, cherchez-la dans le journal : elle mène à la ligne
exacte. Les chemins du serveur, les mots de passe, les clés, les adresses e-mail et les adresses IP sont
masqués à l'écran ; le fichier entier se télécharge (pour le transmettre à qui vous aide) et se
vide (l'ancien est gardé à côté, logs/php.log.1). Le Monitoring signale aussi les erreurs des
dernières 24 heures, et un dossier logs/ où le site ne peut plus écrire.
Les outils de diagnostic
L'onglet Monitoring → Diagnostic allume trois outils pour une heure ; chacun s'éteint tout seul, ou
d'un clic. Plus besoin de modifier config/neofrag.php par FTP.
- Mode débogage : une barre apparaît en bas des pages (requêtes à la base, temps de calcul, mémoire, données de la visite), et une page qui plante montre le détail de l'erreur — pour les administrateurs connectés seulement : les visiteurs voient le site normal. Le journal sert à savoir qu'un problème existe ; le mode débogage, à le comprendre en le reproduisant.
- Trace des pages : chaque page servie, avec ses requêtes à la base et leur durée. Lire la trace montre les dernières pages, la plus récente d'abord, à chercher par adresse ; les valeurs passées aux requêtes sont masquées à l'écran, le fichier complet se télécharge. Volumineuse : le temps d'un diagnostic.
- Relevé des traductions : les textes sans traduction dans la langue de la visite sont notés, et listés dans Traductions manquantes, avec l'extension qui les emploie. Pendant ce temps, les administrateurs voient le drapeau de la langue devant chaque texte traduit : un texte sans drapeau n'est pas passé par la traduction.
Un outil allumé dans config/neofrag.php ne s'éteint que là ; la carte le signale.
L'adresse du site
Les liens des courriels (mot de passe oublié, validation d'inscription), les retours des connexions externes et les partages se construisent sur l'adresse enregistrée à l'installation. Après un changement de domaine, la carte Adresse du site (Monitoring, onglet Vue d'ensemble) le signale : ouvrez l'administration par la nouvelle adresse, puis le bouton Utiliser, suivi de cette adresse, l'enregistre (mot de passe webmaster demandé s'il est défini).
Permissions
NeoFrag Reborn fonctionne par rôles. La matrice de permissions (par module) règle, pour chaque rôle, l'accès et les actions. Tu assignes les rôles aux membres et aux groupes depuis Système.
Exemple — créer un rôle « Modérateur » :
- Dans Système → Permissions, crée un rôle « Modérateur ».
- Sur sa colonne de la matrice, coche les actions voulues (modérer le forum, gérer les commentaires…) → vert = autorisé.
- Dans Système → Utilisateurs, édite un membre et assigne-lui ce rôle : il hérite aussitôt de ces accès.
Les collectifs
Un collectif réunit des membres autour d'un projet, à l'abri des autres : une rédaction, une équipe de modération, un groupe de créateurs. Ce n'est pas une équipe de jeu (Gaming → Équipes, qui se montre au public) : tout ce qu'un collectif reçoit lui est réservé.
Communauté → Collectifs → Nouveau collectif : son nom, sa description, et son chef (un pseudo). Le site crée d'un coup :
- une section privée du forum — une catégorie et son forum « Discussions » —, que seuls ses membres lisent et où seuls ils écrivent ;
- deux rôles du site, Collectif « nom » et … — modération, que le module donne et retire lui-même : ne les attribue pas à la main ;
- si la case Discord est cochée et le bot allumé (fonctionnalité Collectifs), un rôle et un salon privé sur le serveur — voir Le bot Discord.
Le chef gère ensuite ses membres depuis la page du collectif (Mes collectifs, dans l'espace membre), sans être administrateur du site. Les rangs :
| Rang | Peut |
|---|---|
| Chef | ajouter des membres, nommer administrateurs et modérateurs, retirer quiconque est sous lui |
| Administrateur | ajouter des membres, nommer des modérateurs, retirer modérateurs et membres |
| Modérateur | modérer la section du forum (modifier, supprimer, épingler, verrouiller) |
| Membre | lire et écrire dans la section |
Le chef ne se nomme que dans l'administration : un nouveau chef y remplace l'ancien, qui reste administrateur du collectif. Supprimer un collectif retire à ses membres son espace ; sa section du forum et son salon Discord restent, visibles des seuls administrateurs — ce qui s'y est écrit ne se perd pas, supprime-les à la main si tu veux.
Les cotisations
Monétisation → Paiements. Une cotisation rend un membre adhérent pour une durée : il reçoit le rôle « Adhérent » — ouvre-lui ce que tu veux dans Système → Permissions (une section du forum, des pages) — et fait partie du groupe « Adhérents » (son badge, et un rôle sur Discord si tu le relies). Deux façons d'encaisser :
- en ligne, par Stripe : un lot de type Adhésion (jours) (« Cotisation annuelle », 365 jours) que le membre paie sur la page Paiements ;
- autrement (espèces, chèque, virement) : la carte Adhérents → Enregistrer une cotisation (pseudo, durée).
Une nouvelle cotisation prolonge l'adhésion depuis son échéance. Sept jours avant, la tâche planifiée prévient le membre (une notification) ; à l'échéance, elle lui retire le rôle. Mettre fin à l'adhésion l'arrête tout de suite (une erreur de saisie, un remboursement). Les cotisations n'ont pas besoin de la Gamification — les points et le VIP, si.
Les dons reliés
Monétisation → Dons, carte « Services reliés » : un don fait sur l'un de ces services s'enregistre de lui-même dans la campagne choisie, une seule fois, même si le service prévient deux fois. Les clés sont rangées chiffrées et ne se relisent pas.
| Service | Ce qu'il faut | Comment le site vérifie |
|---|---|---|
| Ko-fi | sur Ko-fi, More → API → Webhooks : l'adresse affichée dans la carte, et le jeton de vérification | le jeton, que seul le site connaît |
| HelloAsso | dans l'espace de l'association, Mon compte → Intégrations et API : l'identifiant et le secret du client, et l'adresse de notification affichée | il relit la commande par l'API d'HelloAsso : la notification seule ne fait pas foi |
| TipeeeStream | la clé d'API du compte | rien à vérifier : le site va lire les dons lui-même, à chaque tâche planifiée, depuis le jour où la clé est enregistrée |
| PayPal | la case Enregistrer les dons d'eux-mêmes | PayPal confirme chaque notification, et l'argent doit être allé à l'adresse PayPal de la campagne |
Une adhésion payée sur HelloAsso rend adhérent, pour la durée réglée, le membre du site qui a la même adresse (module Paiements). Les donateurs d'HelloAsso et de PayPal ne paraissent pas sur la page de la campagne — ils n'y ont pas consenti — ; ceux de Ko-fi et de TipeeeStream qui l'ont voulu, si. Le total compte tous les dons. Pour essayer sans argent réel : les cases bac à sable d'HelloAsso et de PayPal.
Réglages essentiels
Dans Paramètres : titre et description du site, favicon, email de contact, page d'accueil, fuseau horaire, référencement, gestion des inscriptions, sécurité anti-bots (captcha), maintenance, copyright, réseaux sociaux. Ces réglages alimentent les thèmes et les widgets.
Les inscriptions
Paramètres → Inscription ouvre ou ferme les inscriptions, peut faire valider l'adresse e-mail des nouveaux membres, et règle deux textes, langue par langue (un onglet par langue du site).
La validation par e-mail (éteinte par défaut) : à l'inscription, le membre reçoit un lien, valable deux jours, et ne peut pas se connecter avant de l'avoir ouvert ; une tentative de connexion lui en renvoie un (trois par heure au plus). Une inscription par Discord, GitHub ou Google n'en a pas besoin. Les deux textes :
- le règlement, que le visiteur accepte en s'inscrivant — par le formulaire comme par Discord, GitHub ou Google, qui le montrent avant de créer le compte ;
- le message de bienvenue, envoyé par la messagerie au nouveau membre — y compris quand il s'inscrit
avec Discord, GitHub ou Google —, dans la langue de la page où il s'est inscrit.
[pseudo]y devient son pseudo. Il arrive en texte : titres, listes et liens sont gardés, la mise en forme non ; une adresse écrite en clair devient un lien.
Une langue qui n'a pas encore son texte montre le texte commun : le premier texte enregistré sert à toutes les langues tant qu'elles ne sont pas traduites.
Le référencement
Ce que lisent les moteurs de recherche se fait tout seul :
- un plan du site par langue, réuni à la racine (
/sitemap.xml) et annoncé parrobots.txt— chaque module y donne ses pages publiques (le blog, le forum et ses sujets, le wiki, la galerie…), seulement celles qu'un visiteur peut lire ; - dans chaque page, son adresse de référence (canonique), les liens vers ses autres langues, et ce que montrent les aperçus de partage (titre, description, image) ;
- sur l'accueil, des données structurées qui décrivent le site, son logo et ses réseaux sociaux (Paramètres → Réseaux sociaux) ;
- la recherche, les profils et l'annuaire des membres ne sont pas indexés.
Ce que tu remplis, dans Paramètres → Référencement :
- pour chaque langue, une accroche (le titre de l'accueil devient « Nom du site — accroche », 60 caractères au plus) et une description (ce que les moteurs affichent sous le titre, 160 caractères au plus ; vide, celle des Préférences générales sert) ;
- une image de partage de 1 200 × 630 pixels, montrée quand on colle un lien du site sur Discord, X ou Facebook — à défaut, le logo ;
- le code de vérification de Google Search Console et de Bing Webmaster Tools : crée la
propriété du site dans l'outil, choisis la vérification par balise HTML, colle la balise (ou le
code seul), puis soumets-y le plan du site,
https://ton-site/sitemap.xml; - Prévenir les moteurs (IndexNow) : coché, le site signale chaque page qui paraît, change ou disparaît à Bing, Yandex, Seznam, Naver, Yep et Amazon, dans les minutes qui suivent, au lieu d'attendre leur prochain passage. Google n'y participe pas : pour lui, c'est le plan du site. Il faut que la tâche planifiée du site tourne (Monitoring, qui donne la ligne à installer). Le premier passage ne fait que relever les pages existantes ; ensuite, seuls les changements partent.
Trois écrans de plus, depuis la même rubrique :
- Bilan du référencement — ce que voit un moteur, mesuré sur le site : le nombre de pages du plan et
leur module, les textes de l'accueil dans chaque langue, l'image de partage, Google et Bing, IndexNow,
robots.txt, la maintenance. Chaque point a le lien vers ce qui le corrige. - Redirections — une ancienne adresse qui mène à la nouvelle, au lieu de « Page introuvable » : un
classement acquis ne se perd pas. Une page ou une page du wiki renommée laisse la sienne toute
seule ; ajoute à la main celles d'un ancien site (
page.php,/fr/ancienne-page…). La colonne Visites dit si l'ancienne adresse sert encore. - Le référencement d'un contenu — dans la carte d'édition d'une actualité, d'un billet du Blog, d'une page ou d'une page du wiki, le bouton Référencement : un titre pour les moteurs (60 caractères au plus, le nom du site suit) et une description (160 au plus), dans chaque langue. Vides, ce sont le titre et le début du texte.
Le captcha
Le formulaire de contact et l'inscription demandent aux visiteurs une vérification anti-robot. Dans Paramètres → Captcha, choisis le fournisseur :
- ALTCHA (par défaut, recommandé) : rien à configurer. Il est hébergé par ton site, sans compte ni cookie ; le visiteur voit une case qui se coche d'elle-même pendant qu'il remplit le formulaire.
- Cloudflare Turnstile, hCaptcha ou Google reCAPTCHA v2 : crée un site dans leur console (liens sur la page), puis colle la clé de site et la clé secrète. La clé secrète est chiffrée et n'est jamais réaffichée. Sans ses deux clés, le fournisseur est remplacé par ALTCHA.
- Aucun : déconseillé, les robots écrivent alors librement.
ALTCHA rend l'envoi en masse coûteux pour un robot ; contre un attaquant obstiné, Turnstile ou hCaptcha jugent davantage.
Le fuseau horaire
Chacun voit les heures du site dans son propre fuseau horaire :
- un membre peut choisir le sien dans son profil (Profil → Fuseau horaire) ;
- sinon, le site prend celui de son navigateur, dès sa deuxième page ;
- sinon — première visite, robots, tâches automatiques —, celui du site, réglé dans Paramètres → Préférences générales → Fuseau horaire.
Une heure saisie dans un formulaire (le début d'un événement, la réouverture après une maintenance) se comprend dans le fuseau de celui qui la saisit. Une date seule — un anniversaire, une journée entière au calendrier — ne change jamais de jour. La grille d'une webradio est écrite à l'heure du site.
Les notifications push
Un membre peut recevoir ses notifications dans son navigateur, même site fermé — un message de forum, une réaction, un rappel d'événement. Pour le proposer, coche Paramètres → Préférences générales → Notifications push. Le site doit être servi en https, et le serveur savoir chiffrer (OpenSSL avec la courbe P-256, et cURL : c'est le cas de presque tous les hébergements ; sinon, la case reste décochée et le site le dit).
Rien n'arrive à personne tant qu'il ne l'a pas demandé : chaque membre l'active appareil par appareil, dans Mon compte → Préférences de notifications → Cet appareil, et son navigateur lui demande son accord. Il y choisit aussi, type par type, ce qu'il reçoit ainsi, et peut s'envoyer un essai.
Ce qu'il faut savoir, et dire dans ta politique de confidentialité : le navigateur passe par son service de push — Google pour Chrome et Edge, Mozilla pour Firefox, Apple pour Safari. Le site y garde l'adresse d'abonnement de chaque appareil tant que le membre ne coupe pas le push (ou ne supprime pas son compte). Le message est chiffré pour ce seul navigateur : le service le transporte sans pouvoir le lire.