Manuel d’utilisation complet de Portix V3 : installation, configuration et exploitation
Guide professionnel de Portix V3, depuis le choix de l’hébergement et la mise en ligne par FTP jusqu’à la configuration, l’administration des modules, l’Association, la comptabilité, la sécurité, les sauvegardes, les mises à jour et le dépannage.
Commencer la lecture
1. À quoi sert Portix et comment utiliser ce manuel
Portix V3 est un portail web modulaire écrit en PHP. Il réunit dans une même application la publication de contenus, la gestion des membres, les fonctions communautaires, les communications, la boutique, les services associatifs et les outils d’administration du serveur. Le stockage principal est organisé en fichiers JSON transactionnels : une base SQL n’est donc pas obligatoire pour faire fonctionner le portail. Cette architecture facilite l’installation sur un hébergement mutualisé classique, à condition que PHP et les permissions de fichiers soient correctement configurés.
Ce manuel suit le cycle de vie réel d’un site : choix de l’hébergement, transfert des fichiers, première installation, configuration, activation des modules, gestion quotidienne, sécurité, sauvegardes, mises à jour et dépannage. Il est volontairement organisé dans l’ordre recommandé. Un nouvel administrateur peut le lire du début à la fin ; un administrateur expérimenté peut utiliser le sommaire pour aller directement au chapitre nécessaire.
2. Choisir et préparer l’hébergement
2.1 Configuration minimale du serveur
Portix prend en charge PHP 8.3.3 à PHP 8.5.x. Le moteur refuse un environnement trop ancien et signale les versions futures qui n’ont pas encore été validées. Les extensions PHP json et session sont indispensables. Le diagnostic historique vérifie également filter. Un lecteur ZIP est requis pour exploiter correctement les paquets de mise à jour : l’hébergement doit fournir ZipArchive ou permettre l’utilisation de PharData.
Les extensions fileinfo, openssl, mbstring, iconv, curl, intl et sodium sont recommandées. Portix peut fonctionner en mode dégradé sans certaines d’entre elles, mais les fonctions de courrier, de réseau, de translittération, d’internationalisation ou de sécurité seront moins complètes. Pour les images, activer GD ou Imagick lorsque l’hébergeur le permet : la conversion des médias et certains traitements visuels en dépendent.
| Élément | Minimum | Recommandé en production |
|---|---|---|
| PHP | 8.3.3 | 8.4.x ou 8.5.x |
| Extensions indispensables | json, session | + fileinfo, openssl, mbstring, iconv, curl, intl, sodium |
| ZIP | ZipArchive ou PharData | ZipArchive activé |
| Images | Fonctions de base | GD ou Imagick |
| upload_max_filesize | selon usage | 32M ou plus |
| post_max_size | supérieur au téléversement | 40M ou plus |
| memory_limit | selon hébergeur | 256M ou plus |
| max_execution_time | selon hébergeur | 120 secondes ou plus |
| HTTPS | possible en test | obligatoire en production |
| OPcache | facultatif | activé |
2.2 Apache, Nginx ou IIS
Portix fournit les fichiers adaptés aux principales familles de serveurs. Sur Apache, le fichier .htaccess doit être transféré et les règles de réécriture doivent être autorisées. Sur IIS, web.config assure le routage. Une configuration Nginx de référence est fournie dans v3/config/server/nginx.conf ; elle doit généralement être reprise par l’administrateur du serveur, car Nginx ne lit pas les fichiers .htaccess. Si l’hébergement est mutualisé, Apache ou LiteSpeed compatible Apache est souvent le chemin le plus simple.
2.3 Permissions d’écriture
Le compte PHP doit pouvoir écrire dans les zones de données. Portix contrôle notamment v3/storage, v3/storage/data, v3/storage/cache, v3/storage/logs, v3/storage/backups, v3/storage/updates, v3/storage/performance-tests, data et content/uploads. Sur un hébergement classique, les permissions 755 pour les dossiers et 644 pour les fichiers sont un bon point de départ lorsque PHP s’exécute sous le même compte que le propriétaire. Si l’hébergeur utilise un autre modèle, suivre ses recommandations plutôt que d’ouvrir les dossiers en 777.

3. Mettre Portix en ligne avec un client FTP externe
Portix peut être déployé avec n’importe quel client FTP ou SFTP externe, par exemple FileZilla, WinSCP ou Cyberduck. SFTP est préférable lorsqu’il est proposé par l’hébergeur, car les identifiants et les transferts sont chiffrés. Le principe reste identique quel que soit le logiciel.
3.1 Rassembler les informations de connexion
- Dans le panneau de l’hébergeur, relever le nom du serveur FTP/SFTP, le port, l’identifiant et le mot de passe.
- Identifier le dossier public du domaine. Selon l’hébergeur il peut s’appeler
www,public_html,htdocsou porter le nom du domaine. - Vérifier si Portix doit être installé à la racine du domaine, par exemple
https://www.exemple.fr/, ou dans un sous-dossier, par exemplehttps://www.exemple.fr/portix/. - Télécharger et décompresser sur le PC l’archive première installation complète. Pour une installation neuve, ne pas utiliser l’archive « fichiers modifiés » ni l’archive importateur.
3.2 Configurer le client FTP
Créer une nouvelle connexion dans le client. Choisir SFTP/SSH si disponible ; sinon choisir FTP explicite sur TLS. Saisir l’hôte, le port communiqué par l’hébergeur, le compte et le mot de passe. Une fois connecté, le panneau local du logiciel doit afficher le dossier décompressé de Portix et le panneau distant le dossier web de l’hébergement.
3.3 Transférer les fichiers
Transférer le contenu de l’archive Portix dans le dossier web choisi. Le fichier index.php de Portix doit se trouver directement dans la racine publique de l’installation. Sur Apache, vérifier que le fichier caché .htaccess a bien été transféré ; certains clients FTP masquent les fichiers commençant par un point. Transférer également web.config, même s’il n’est pas utilisé par Apache : il pourra être utile en cas de migration vers IIS.
Il est préférable de laisser le mode de transfert sur « automatique » ou « binaire » pour éviter toute altération des ZIP, images et fichiers binaires. Après le transfert, comparer si possible le nombre de fichiers local et distant. En cas d’échec ou de déconnexion, utiliser la fonction « reprendre » du client plutôt que de supprimer toute l’installation.
3.4 Régler les permissions
Si la première ouverture signale une impossibilité d’écriture, corriger en priorité les dossiers de stockage mentionnés au chapitre précédent. Ne rendre inscriptibles que les répertoires nécessaires. Les fichiers PHP, les manifestes de configuration et les répertoires privés ne doivent pas être ouverts en écriture publique.
4. Première installation et première connexion
4.1 Contrôle avant ouverture
Avant la première connexion, ouvrir l’adresse du site. Si la page ne s’affiche pas, consulter les journaux PHP de l’hébergeur et vérifier la version de PHP. Portix fournit aussi diagnostic.php, mais en HTTP ce diagnostic est protégé : il exige une session administrateur afin de ne pas exposer les détails du serveur à un visiteur anonyme. Après connexion, il devient un outil pratique pour confirmer la présence des fichiers essentiels et les droits d’écriture.
4.2 Compte administrateur initial
Une archive complète officielle propre crée uniquement le compte administrateur initial admin. Le mot de passe provisoire est PortixV3!2026. À la première connexion, Portix impose le remplacement de ce mot de passe. Choisir immédiatement un mot de passe personnel long et unique, puis conserver les informations de récupération dans un gestionnaire de mots de passe.
4.3 Ordre recommandé après la première connexion
- Changer le mot de passe provisoire.
- Ouvrir la compatibilité d’hébergement et corriger les erreurs rouges avant d’ajouter du contenu.
- Configurer le nom du portail, son URL, son fuseau horaire, l’identité visuelle et les coordonnées de contact.
- Configurer le courrier sortant et envoyer un message de test.
- Activer uniquement les modules nécessaires.
- Créer les comptes administratifs supplémentaires et attribuer des droits limités à leur fonction.
- Créer une première sauvegarde avant d’importer des données ou d’ouvrir le site au public.

5. Comprendre l’arborescence de Portix
L’administrateur n’a normalement pas besoin de modifier les fichiers à la main, mais connaître les principaux dossiers permet de sauvegarder correctement le site et de diagnostiquer un problème de permission.
| Chemin | Rôle |
|---|---|
/index.php | Point d’entrée principal du portail. |
/v3/ | Cœur applicatif, contrôleurs, services, templates, modules et configuration. |
/v3/storage/data/ | Données JSON utilisées par le portail. |
/v3/storage/cache/ | Cache d’exécution et index calculés. |
/v3/storage/logs/ | Journaux techniques et traces applicatives. |
/v3/storage/backups/ | Sauvegardes produites par Portix. |
/v3/storage/updates/ | Zone technique liée aux mises à jour. |
/content/uploads/ | Médias et fichiers téléversés depuis l’administration. |
/content/imag_articles/ | Images historiques ou fournies avec les articles officiels. |
/assets/ | CSS, JavaScript et ressources front-end. |
/img/ | Images et ressources graphiques du portail. |
/portixmaj/ | Zone de dépôt utilisée pour certains paquets de mise à jour manuels. |
/.htaccess | Routage et protections Apache. |
/web.config | Routage et protections IIS. |
/restauration-secours.php | Console de restauration d’urgence prévue par Portix. |
Les données, journaux, sauvegardes et paquets techniques sont protégés contre l’accès web direct par les configurations serveur fournies. Lors d’une migration d’hébergement, copier l’ensemble du site, pas seulement v3/storage/data, afin de conserver les médias, thèmes personnalisés et autres ressources locales.
6. Configurer le portail avant l’ouverture
6.1 Centre de configuration
Le Centre de configuration regroupe les paramètres transversaux du portail. Commencer par l’identité du site : nom, description, adresse publique, langue principale, fuseau horaire, coordonnées de contact et informations affichées dans les documents. Vérifier ensuite les options de navigation, de recherche, de cookies, de sécurité, d’envoi de courriels et les paramètres qui dépendent du thème actif.
Une modification de configuration doit être testée immédiatement dans le portail public. Si le site est installé dans un sous-dossier, vérifier que les liens, images, formulaires et redirections conservent ce préfixe. Portix calcule automatiquement son chemin de base, mais un proxy inverse ou une configuration d’hébergement atypique peut nécessiter une vérification supplémentaire.

6.2 Courrier sortant
Le moteur de courrier peut exploiter les transports disponibles sur l’hébergement : SMTP/TLS, API HTTPS ou, lorsque l’environnement le permet, les mécanismes locaux. En production, privilégier un transport authentifié. Portix intègre notamment des réglages pour des fournisseurs comme Brevo, Mailjet et d’autres API compatibles prévues dans le moteur de courrier.
Utiliser une adresse expéditrice appartenant au domaine du site et configurer SPF, DKIM et DMARC dans le DNS. Envoyer un message de test avant d’activer les notifications automatiques, la newsletter, les confirmations de compte ou les factures par courriel.
6.3 PDF et impressions
Le centre PDF/impression gère les sorties des articles et des documents applicatifs. Vérifier le logo, les informations d’entête, les marges et la lisibilité en A4. Lorsqu’un module produit des factures ou des rapports, tester au moins un exemple complet avant la mise en production.
7. Activer les modules et organiser le menu public
Portix est modulaire. Une installation propre active par défaut les fonctions de base nécessaires au portail, notamment Accueil, Articles, Contact, Membres, Recherche et Association. Les autres modules restent installés mais peuvent être désactivés. La désactivation masque leurs pages publiques et leurs entrées d’administration lorsque cela est prévu, sans supprimer leurs données.
Le menu Modules et menu public sert à organiser la disponibilité fonctionnelle ; Activation des services donne une vue synthétique des services actifs. Portix resynchronise les anciens réglages de service afin qu’un module désactivé ne reste pas accidentellement actif à travers une ancienne option.
7.1 Modules disponibles
Selon la configuration, Portix propose notamment : Accueil, Articles, Agenda, Documents, Téléchargements, FAQ, Galerie, RSS/actualités, Météo, Recherche, Contact, Membres, Communauté, Forums, Messagerie, Chat, Annonces, Livre d’or, Liens, Conseiller/recommandations, Newsletter, Notifications Web/PWA, Boutique, Tombola, Jeux/sondages, Statistiques, Compteur de visites, Éditeur de contenu, Créateur de thèmes, Formulaires/automatisations, Documents collaboratifs, Publication ActivityPub et Association.
N’activer que les modules effectivement utilisés. Un portail plus simple est plus facile à administrer, à sécuriser et à expliquer aux utilisateurs. Avant d’ouvrir un nouveau module, configurer ses droits, son contenu initial et son comportement mobile.
7.2 Référence fonctionnelle des modules
| Module | Fonction principale |
|---|---|
| Accueil | Page d’accueil et blocs de présentation du portail. |
| Articles | Articles, dossiers longs, rubriques, couvertures, commentaires, impression et PDF. |
| Association | Adhérents, foyers, cotisations, activités, services, facturation, paiements et comptabilité. |
| Contact | Formulaire de contact et acheminement vers la messagerie/courriel selon configuration. |
| Membres | Comptes, profils, avatars, confidentialité et annuaire des membres. |
| Recherche | Recherche interne sur les sources activées avec modes de correspondance et tri. |
| Agenda | Événements, dates, calendrier et publication d’activités ponctuelles. |
| Documents | Bibliothèque documentaire et accès aux fichiers publiés. |
| Téléchargements | Zones de téléchargement et gestion de fichiers distribués. |
| FAQ | Questions/réponses classées, filtrage et recherche instantanée. |
| Galerie | Albums, images, légendes et médiathèque visuelle. |
| RSS / actualités | Agrégation de flux RSS publics avec contrôles réseau. |
| Météo | Affichage météo lorsque la source et le réseau sont configurés. |
| Communauté | Annuaire et fonctions communautaires autour des profils publics. |
| Forums | Forums, sujets, messages, éditeur et modération. |
| Messagerie | Messages internes entre membres et copies structurées de communications. |
| Chat | Conversation instantanée lorsque le service est activé. |
| Annonces | Petites annonces, catégories, images, filtres et modération. |
| Livre d’or | Témoignages publics, anti-robot, validation et modération. |
| Liens | Annuaire de liens utiles géré depuis l’administration. |
| Conseiller / recommandations | Recommandation du portail et outils de conseil associés. |
| Newsletter | Abonnés, campagnes, file d’envoi, archives et gestion de l’abonnement membre. |
| Notifications Web / PWA | Notifications navigateur et fonctions d’application web progressive. |
| Boutique | Catalogue, panier, commandes, adresses, paiements, suivi, documents et webhooks. |
| Tombola | Gestion d’une tombola native selon les règles définies par l’administrateur. |
| Jeux et sondages | Jeux simples et sondages intégrables au portail. |
| Statistiques | Indicateurs et statistiques de consultation selon les services actifs. |
| Compteur de visites | Compteur historique/modernisé indépendant du module Statistiques. |
| Éditeur de contenu | Réglages communs de l’éditeur riche utilisé par plusieurs modules. |
| Créateur de thèmes | Création et personnalisation de thèmes compatibles avec le gabarit Portix. |
| Formulaires et automatisations | Formulaires structurés et traitements automatisés configurables. |
| Documents collaboratifs | Documents partagés avec édition et consultation par les membres autorisés. |
| ActivityPub | Publication fédérée lorsque l’administrateur souhaite exposer des contenus au Fediverse. |
7.3 Outils d’administration transversaux
En plus des modules publics, l’administration fournit des outils transversaux : Centre de configuration, Maintenance et redirection, Thèmes, Activation des services, Médiathèque centrale, Publication programmée, Mots interdits, Courriels et modèles, synchronisation iCal, Gestionnaire FTP, PDF et impression, Confirmations et cookies, Sauvegarde/restauration, Instantanés des profils, Sécurité et identité, Compatibilité et performances, Recette fonctionnelle finale, Centre de mise à jour, Journal technique, Journal d’audit, Import/export CSV, API et webhooks et Diagnostic PHP. Ces fonctions ne doivent pas être confondues avec les modules visibles au public : elles administrent le portail lui-même.
8. Publier articles, éditoriaux et autres contenus
8.1 Articles et dossiers
Le gestionnaire Articles permet de créer un article ou un dossier long, choisir sa rubrique, son auteur, son état, sa date de publication, son adresse publique, son ordre, son statut « à la une », son résumé et sa couverture. L’éditeur de contenu accepte les titres H2/H3, paragraphes, listes, citations, liens et images. Le grand titre et la couverture sont fournis par le gabarit Portix : il ne faut pas les recréer dans le corps de l’article.
Les publications disposent d’une URL stable basée sur leur slug. Éviter de modifier l’adresse publique d’un article déjà indexé sans prévoir une redirection. Pour les dossiers techniques ou les manuels, préférer le format Dossier, plus cohérent avec un contenu long.
8.2 Éditorial
L’Éditorial sert à mettre en avant un message éditorial ou institutionnel. Le gabarit reste distinct des articles ordinaires tout en partageant la cohérence visuelle de Portix. Il peut être utilisé pour présenter une version importante, une orientation de l’association ou une actualité de la direction.
8.3 Agenda, FAQ, documents, galerie et RSS
L’Agenda gère les événements datés. La FAQ organise les réponses par catégories et fournit une recherche instantanée. Les Documents centralisent les fichiers publics ou réservés selon la configuration. La Galerie gère les médias et leurs légendes. Le module RSS permet d’agréger des sources publiques ; il doit être utilisé avec des flux fiables et des délais réseau raisonnables pour ne pas ralentir la page.
8.4 Centre de publicité
Le centre de publicité gère les campagnes, créneaux, ciblages, contenus, rotations et statistiques. Tester les formats sur mobile et ordinateur. Une publicité ne doit jamais déborder du gabarit ni masquer la navigation principale.
9. Gérer les membres, profils et communications
9.1 Comptes et profils
Le module Membres sépare l’identifiant technique du pseudo public et des informations facultatives. L’utilisateur peut gérer son avatar, son courriel, sa langue, sa présentation, ses réseaux et les choix de confidentialité champ par champ. Les informations publiques sont visibles dans le profil communautaire ; les informations privées restent réservées au membre et aux administrateurs autorisés.

9.2 Messagerie, forums, livre d’or et communauté
La messagerie interne permet les échanges entre comptes. Les Forums organisent les discussions et conservent des références uniques pour les messages. Le Livre d’or accepte des contributions selon la politique définie par l’administrateur et comprend les outils de modération nécessaires. Les petites annonces, le chat et l’annuaire communautaire sont indépendants : activez-les uniquement si leur animation et leur modération peuvent être assurées.
9.3 Newsletter et notifications
La newsletter dispose de sa propre liste d’abonnés, de campagnes et d’une file d’envoi. Le membre peut gérer son abonnement dans son profil. Les notifications Web/PWA permettent de compléter le courrier électronique lorsque le navigateur et l’hébergement remplissent les conditions nécessaires.
10. Exploiter le module Association
Le module Association constitue un sous-système de gestion complet. Il regroupe adhérents, familles, groupes, cotisations, activités, réservations, consommations, centre de loisirs, prêts et locations d’objets, billetterie, gouvernance, documents, mailings, courriers, suivi des obligations, factures, paiements et comptabilité.

10.1 Rôles et permissions
Le rôle doit correspondre à la responsabilité réelle. L’administrateur Portix dispose de l’accès complet. Le président ou responsable peut gérer l’ensemble du module Association. Le trésorier doit accéder aux factures, paiements, finances, comptabilité, rapports, exports et relances. Le secrétaire intervient sur les adhérents, groupes, gouvernance, courriers, documents, étiquettes, événements, activités et cotisations. Les profils de consultation et les membres ordinaires ne doivent pas accéder aux fonctions administratives.
10.2 Adhérents et foyers
Chaque adhérent possède une fiche avec numéro, statut, date d’adhésion, coordonnées, groupes, accès Portix et informations de gestion. Le foyer rattache conjoint, enfants ou autres bénéficiaires. Dans l’espace adhérent, chaque bénéficiaire apparaît dans un cadre indépendant et peut être ajouté ou modifié selon les règles du module.
10.3 Cotisations
Créer d’abord les types de cotisations et leurs montants, puis enregistrer les échéances des membres. Le tableau de bord calcule les montants encaissés, restants et en retard. Une cotisation réglée doit être reliée au paiement et, lorsqu’elle alimente la facturation, à la chaîne comptable correspondante.
10.4 Activités et réservations
Les activités gèrent horaires, créneaux, capacités et inscriptions. L’administrateur crée l’activité et ses règles ; le membre réserve depuis son espace lorsque la fonction est ouverte. Les consommations peuvent être regroupées dans la facture mensuelle du foyer.
10.5 Centre de loisirs
Le centre de loisirs gère participants, groupes d’âge, capacités, planning et tarification liée au quotient familial. Avant d’ouvrir les inscriptions, vérifier les tranches, justificatifs et règles de calcul. Une réservation facturable doit rester traçable jusqu’au règlement.
10.6 Prêts et locations
Le service d’objets gère le catalogue, les quantités, réservations, sorties, retours et éventuellement la facturation. Les durées minimales et les disponibilités doivent être définies avant publication. Lors du retour, enregistrer la restitution afin de remettre le stock à disposition.
10.7 Billetterie et consommations
La billetterie gère prestations, stocks, quotas d’aide, panier adhérent, réservations et paiements. Les commandes sont reliées à la facturation et à la comptabilité. Les versions récentes de Portix imposent un workflow unique afin qu’un paiement ne puisse pas marquer une commande « réglée » sans créer les traces financières correspondantes.
11. Facturation, paiements et comptabilité Association
11.1 Facturation mensuelle
Portix peut regrouper dans une même facture les cotisations, activités, réservations du centre de loisirs, prêts ou consommations selon leur configuration. L’administrateur peut générer les factures pour les adhérents présentant des consommations en attente, contrôler les lignes, puis établir les documents définitifs. Les soldes antérieurs peuvent être présentés pour faciliter le suivi des impayés.
11.2 Moyens de paiement
L’espace adhérent utilise le même référentiel que l’administration. Les moyens prévus sont la carte bancaire, PayPal, le virement, le chèque, les espèces/paiement sur place, le coupon et le chèque-vacances. L’administrateur choisit ceux qui sont actifs. Les paiements en ligne sont confirmés côté serveur. Les moyens hors ligne créent une demande ou une trace qui doit être contrôlée avant validation définitive.
11.3 Chaîne comptable
Lorsqu’une facture devient définitive, Portix crée l’écriture de vente : le compte adhérent/client est débité et le compte de produit correspondant est crédité. Lorsqu’un paiement est validé, Portix comptabilise l’encaissement : banque ou caisse au débit, compte adhérent au crédit. Le rapprochement est idempotent : relancer la synchronisation ne doit pas créer deux fois la même écriture.

11.4 Fournisseurs et factures reçues
Créer le fournisseur avant sa facture. À l’approbation d’une facture reçue, l’écriture d’achat est générée selon les comptes configurés. Au paiement, l’écriture de trésorerie correspondante est enregistrée. Les pièces justificatives doivent être attachées ou archivées conformément aux règles internes de l’association.
11.5 Notes de frais
Une note de frais suit un workflow proche : saisie, justificatifs, approbation, comptabilisation de la charge, puis remboursement et écriture bancaire. Les personnes autorisées à approuver ne doivent pas nécessairement être les mêmes que celles qui saisissent.
11.6 Dons, subventions et historique
Les dons et subventions sont intégrés à la comptabilité Association. Les opérations historiques importées ou conservées sont synchronisées sans bloquer les opérations récentes. Une anomalie appartenant à un exercice clôturé est signalée : Portix ne force pas une écriture dans un exercice verrouillé.
11.7 Contrôles à effectuer
- Le total des débits doit toujours égaler le total des crédits.
- Une facture marquée payée doit disposer d’un règlement et d’une écriture d’encaissement.
- Une facture fournisseur payée doit être reliée à son écriture bancaire.
- Les écritures en brouillon doivent être régularisées avant clôture.
- Effectuer régulièrement le rapprochement avec le relevé bancaire réel.
12. Boutique, paiements et services en ligne
Le module Boutique gère catalogue, panier, commandes, adresses, suivi et paiements. Avant ouverture, configurer la devise, les taxes, les frais de livraison, les conditions de vente et les moyens de paiement. Les webhooks des prestataires doivent pointer vers les routes Portix prévues et utiliser les secrets fournis par le prestataire. Ne jamais considérer un retour navigateur comme preuve suffisante d’un paiement : la validation serveur ou webhook doit confirmer la transaction.
Les fonctions Tombola, Jeux/sondages, Liens, Recommandations et autres services peuvent compléter le portail. Elles doivent être testées séparément, puis activées dans le menu public uniquement lorsqu’elles sont prêtes à être utilisées.
13. Sécurité, identités et permissions
13.1 Comptes administratifs
Créer un compte distinct par administrateur. Ne partagez pas le compte admin entre plusieurs personnes. Désactiver immédiatement les comptes qui ne sont plus nécessaires. Le module Sécurité et identité centralise les alertes, les états de mots de passe, les sessions et les opérations sensibles.
13.2 Sessions et double authentification
Portix utilise les sessions PHP avec cookies HttpOnly et mode strict. Sous HTTPS, le cookie doit également être Secure. Les sessions actives peuvent être examinées et révoquées individuellement. Lorsque la fonction TOTP est disponible et activée, l’utiliser pour les comptes d’administration et conserver les codes de récupération dans un emplacement sûr.
13.3 Fichiers et téléversements
Les téléversements sont filtrés par type et taille. Ne désactivez pas les protections des dossiers privés pour résoudre un problème d’accès. Si un média ne s’affiche pas, corrigez la route ou la permission du fichier public plutôt que d’ouvrir v3/storage au web.
13.4 HTTPS, DNS et proxy
Activer HTTPS avant l’ouverture au public. Si Portix se trouve derrière un proxy inverse ou un CDN, n’autoriser les en-têtes transférés que depuis une source de confiance. Vérifier le domaine canonique et éviter les redirections contradictoires entre HTTP/HTTPS ou avec/sans www.
14. Sauvegardes, restauration et mises à jour
14.1 Sauvegardes
Le centre Sauvegarde / restauration produit des archives destinées à protéger les données et la configuration. Une stratégie professionnelle comporte plusieurs générations : une sauvegarde récente sur le serveur pour une restauration rapide et au moins une copie externe téléchargée sur un poste ou un espace sécurisé. Tester régulièrement qu’une archive peut être lue.
14.2 Restauration
En cas de problème, utiliser en priorité le centre de restauration. La page restauration-secours.php existe pour les situations où le portail principal ne démarre plus. Avant toute restauration, conserver une copie de l’état défectueux : elle peut être utile pour récupérer un fichier récent ou comprendre l’incident.
14.3 Centre de mise à jour
Les paquets importateur sont versionnés. Le manifeste précise la version de départ et la version cible, les fichiers autorisés et leur empreinte. Portix crée une sauvegarde des fichiers remplacés avant application, vérifie les chemins et supprime le paquet manuel après une installation réussie.

14.3.1 Protection de secours des mises à jour
Lorsqu’un paquet remplace .htaccess ou web.config, Portix contrôle désormais le serveur avant de confirmer l’installation. Un fichier statique temporaire est créé puis interrogé par HTTP. Si la nouvelle configuration provoque un HTTP 500 ou si elle ne peut pas être validée, la mise à jour est annulée et la sauvegarde précédente est restaurée dans la même requête. Le site ne doit donc plus rester bloqué à cause d’une configuration serveur défectueuse.
La console restauration-secours.php reste destinée aux pannes applicatives. Une erreur de syntaxe ou de contexte dans .htaccess est traitée par Apache avant l’exécution de PHP : aucune page PHP, même de secours, ne peut alors être affichée. À l’inverse, lorsqu’une mise à jour PHP s’interrompt et laisse l’état recovery_required, le contrôleur racine vérifie cet état avant de charger le cœur Portix et redirige automatiquement vers la console de restauration. Si cet état référence une sauvegarde Portix existante, la console s’ouvre automatiquement sans jeton d’activation préalable, tout en exigeant toujours l’authentification administrateur et la confirmation du mot de passe avant restauration. Une mise à jour restée anormalement en cours plus de trois minutes déclenche la même protection.
14.4 Procédure recommandée pour une mise à jour
- Créer une sauvegarde externe.
- Vérifier la version actuellement affichée dans Portix.
- Télécharger l’archive importateur prévue pour cette version.
- Ouvrir le Centre de mise à jour et importer le paquet.
- Lire le résumé avant validation.
- Appliquer la mise à jour.
- Contrôler la nouvelle version, les routes principales, le portail public et les fonctions sensibles.
- Conserver les empreintes SHA-256 avec l’archive de livraison.
15. Maintenance, performances et diagnostic
15.1 Contrôles réguliers
Une fois par semaine ou après une modification importante, vérifier le tableau de bord, les alertes, l’espace disque, les journaux, l’envoi des courriels et les sauvegardes. Une fois par mois, contrôler les comptes administrateurs, les modules actifs, les mises à jour disponibles, la taille des collections JSON et le bon fonctionnement des paiements.
15.2 Compatibilité et performances
L’écran Compatibilité et performances mesure la version PHP, les extensions, les permissions, HTTPS, les sessions, les limites PHP, OPcache, le cache realpath, la compression HTTP, le cache Portix et le volume des données JSON. Corriger d’abord les erreurs, puis les avertissements qui concernent les fonctions réellement utilisées.
Portix recommande OPcache en production, un cache realpath d’au moins 4096K avec un TTL confortable et la compression HTTP gzip ou Brotli. Les collections JSON très volumineuses peuvent être archivées ou fragmentées ; l’audit signale notamment les fichiers dépassant plusieurs mégaoctets.
Optimisation de production. Les distributions propres sont compressées réellement en ZIP, les captures du manuel sont fournies en WebP, les images intégrées aux articles sont chargées à la demande et les longs dossiers utilisent un rendu progressif. Le fichier .htaccess active Brotli/DEFLATE uniquement avec des directives autorisées en contexte répertoire et applique un cache long aux ressources versionnées. Les niveaux de qualité de compression Apache doivent être configurés par l'hébergeur dans httpd.conf ou le VirtualHost : ils ne doivent jamais être placés dans .htaccess, sous peine d'erreur HTTP 500 sur certains serveurs.
15.3 Journal technique et audit
Le Journal technique aide à diagnostiquer les erreurs applicatives, tandis que le Journal d’audit conserve les événements administratifs prévus par les modules. Éviter de copier publiquement des journaux complets : ils peuvent contenir des chemins locaux, noms de fichiers ou informations techniques utiles à un attaquant.
16. Dépannage : erreurs fréquentes et solutions
Erreur 500 ou page blanche
Vérifier d’abord la version de PHP et les journaux d’erreurs de l’hébergeur. Contrôler ensuite que tous les fichiers de l’archive ont été transférés et qu’aucun fichier PHP n’a été tronqué. Sur Apache/LiteSpeed, une erreur 500 immédiate peut aussi provenir d’une directive interdite dans .htaccess. Le fichier fourni n’impose pas de niveau BrotliCompressionQuality ni DeflateCompressionLevel : ces réglages appartiennent au serveur/VirtualHost. Si l’erreur apparaît juste après une mise à jour, utiliser la sauvegarde automatique ou la console de restauration de secours.
Ouverture volontaire de la console depuis l’administration : dans le centre de mise à jour, le bouton « Ouvrir la restauration de secours » prépare désormais une fenêtre sécurisée de 15 minutes avant d’ouvrir la console autonome. L’adresse /restauration-secours.php reste volontairement en 404 lorsqu’aucune fenêtre de secours ni aucun état de reprise réel n’est actif. Ce comportement évite d’exposer inutilement la console sur un portail en fonctionnement normal.
404 « Chemin demandé »
Une 404 peut provenir des règles de réécriture ou d’une route absente. Sur Apache, vérifier la présence de .htaccess et l’autorisation de réécriture. Sur Nginx, appliquer la configuration fournie. Ne créez pas un fichier PHP portant le nom de la route : Portix utilise un contrôleur frontal.
Impossible d’écrire ou d’enregistrer
Contrôler les permissions de v3/storage, data et content/uploads. Le propriétaire des fichiers et l’utilisateur PHP doivent être compatibles. Éviter 777 sauf instruction spécifique et temporaire de l’hébergeur.
Images qui ne s’affichent pas
Vérifier que le fichier existe dans une zone publique, que son nom respecte la casse sur Linux et que l’URL tient compte du sous-dossier d’installation. Pour les médias téléversés, vérifier également GD/Imagick lorsque la conversion WebP est nécessaire.
Courriels non reçus
Utiliser le diagnostic du moteur de courrier. Vérifier SMTP/API, TLS/OpenSSL, domaine expéditeur, SPF, DKIM et DMARC. Tester d’abord avec une adresse externe connue. Un message accepté par PHP n’est pas nécessairement distribué par le serveur destinataire.
Paiement affiché mais non comptabilisé
Dans Association, ouvrir la comptabilité et lancer les contrôles d’intégrité. Les versions récentes rescannent les factures et paiements et peuvent recréer les écritures manquantes tant que l’exercice est ouvert. Une anomalie sur un exercice clôturé doit être traitée comptablement, pas contournée par une écriture forcée dans l’historique.
Mise à jour refusée
Vérifier la version de départ exigée par le paquet, l’intégrité ZIP, les empreintes et l’espace disque disponible. Ne renommez pas artificiellement la version active pour forcer un paquet : utilisez le paquet intermédiaire approprié ou une procédure de migration contrôlée.
17. Checklist de mise en production
- PHP 8.3.3 à 8.5.x sélectionné.
- Extensions obligatoires et ZIP disponibles.
- HTTPS actif et redirection HTTP vers HTTPS correcte.
- Dossiers d’écriture contrôlés sans permissions excessives.
- Mot de passe provisoire administrateur remplacé.
- Comptes administratifs nominatifs créés et droits limités.
- Nom du portail, domaine, fuseau horaire et coordonnées vérifiés.
- Courrier sortant testé ; SPF, DKIM et DMARC configurés si nécessaire.
- Modules inutiles désactivés.
- Articles, pages légales, contact et navigation vérifiés.
- Association configurée : identité, rôles, cotisations, activités, paiements et comptabilité.
- Boutique et webhooks testés si le module est utilisé.
- PDF et impressions vérifiés.
- Sauvegarde complète créée et copie externe conservée.
- Compatibilité et performances sans erreur bloquante.
- Recette fonctionnelle exécutée après la dernière configuration.
Routine quotidienne recommandée
Pour l’exploitation courante, commencer par le tableau de bord et les alertes. Traiter ensuite les nouveaux membres, messages, commandes, paiements ou réservations. Dans Association, contrôler les règlements en attente et les anomalies financières. Publier ensuite les contenus planifiés. En fin de journée ou après une opération importante, vérifier que les actions sensibles apparaissent correctement dans les journaux et que la sauvegarde planifiée ou manuelle est disponible.
Soyez le premier à commenter cette publication.