✦ CCISG Portail — Guide d'installation

Ce guide vous explique comment déployer le portail de gestion CCISG sur votre hébergement cPanel en moins de 15 minutes.

1 Prérequis

ComposantVersion requiseVérification
PHP8.0 ou supérieurcPanel → MultiPHP Manager
MySQL5.7 ou MariaDB 10.3+cPanel → Bases de données MySQL
Extensions PHPPDO, pdo_mysql, mbstringGénéralement actives par défaut

2 Créer la base de données MySQL

Dans cPanel → Bases de données MySQL :

2.1 Créer la base

  1. Nom de la base : ccisg_portail → cliquer Créer une base de données

2.2 Créer un utilisateur MySQL

  1. Nom d'utilisateur : ccisg_user
  2. Mot de passe : choisir un mot de passe fort (notez-le)
  3. Cliquer Créer un utilisateur

2.3 Associer l'utilisateur à la base

  1. Sélectionner l'utilisateur ccisg_user et la base ccisg_portail
  2. Cocher TOUS LES PRIVILÈGES → Apporter des modifications

3 Importer le schéma SQL

Dans cPanel → phpMyAdmin :
  1. Sélectionner la base ccisg_portail dans le panneau gauche
  2. Cliquer sur l'onglet Importer
  3. Choisir le fichier install.sql fourni dans l'archive
  4. Cliquer Exécuter
✓ Le script crée automatiquement toutes les tables et un compte administrateur par défaut.

4 Configurer la connexion

Ouvrir le fichier includes/config.php et modifier ces 3 lignes :

define('DB_NAME', 'ccisg_portail');      // Nom de votre base
define('DB_USER', 'ccisg_user');          // Votre utilisateur MySQL
define('DB_PASS', 'VOTRE_MOT_DE_PASSE'); // Le mot de passe choisi à l'étape 2.2

define('SITE_URL', 'https://ccisg.ch/portail'); // URL exacte de déploiement
⚠️ Important : Le préfixe cPanel est souvent ajouté automatiquement aux noms de base et d'utilisateur. Par exemple, si votre compte cPanel s'appelle ccisg, la base sera ccisg_ccisg_portail et l'utilisateur ccisg_ccisg_user. Vérifiez dans cPanel → Bases de données MySQL.

5 Uploader les fichiers

Option A — Via le Gestionnaire de fichiers cPanel (recommandé)

  1. cPanel → Gestionnaire de fichiers
  2. Naviguer vers public_html/
  3. Créer un dossier portail
  4. Entrer dans ce dossier → Téléverser
  5. Uploader l'archive ccisg_portail.zip
  6. Clic droit sur le fichier ZIP → Extraire

Option B — Via FTP (FileZilla)

  1. Hôte : ftp.ccisg.ch (ou l'IP fournie par votre hébergeur)
  2. Identifiants : vos identifiants cPanel
  3. Transférer le dossier ccisg/ vers /public_html/portail/

Structure attendue sur le serveur

public_html/
└── portail/
    ├── index.php          ← Page de connexion
    ├── dashboard.php
    ├── presences.php
    ├── conges.php
    ├── programmes.php
    ├── demandes.php
    ├── admin.php
    ├── logout.php
    ├── install.sql        ← Peut être supprimé après installation
    ├── includes/
    │   ├── config.php     ← À MODIFIER avec vos identifiants DB
    │   ├── auth.php
    │   └── layout.php
    ├── assets/
    │   ├── css/style.css
    │   └── js/app.js
    └── modules/
        ├── annonce_save.php
        └── export_presences.php

6 Première connexion

Accéder à https://ccisg.ch/portail/ et se connecter avec :

ChampValeur
Emailadmin@ccisg.ch
Mot de passeAdmin1234!
⚠️ Changer immédiatement le mot de passe admin après la première connexion via Administration → icône 🔑.

7 Paramétrage initial

Une fois connecté en tant qu'admin, effectuer dans cet ordre :

  1. Administration → Ajouter les classes (ex: Classe Coran A, Classe Arabe B...)
  2. Administration → Ajouter les élèves dans chaque classe
  3. Administration → Créer les comptes enseignants (un par enseignant)
  4. Communiquer les identifiants à chaque enseignant

8 Sécurité (optionnel mais recommandé)

Protéger le dossier includes/

Créer un fichier includes/.htaccess avec :

deny from all

Forcer HTTPS

Créer un fichier .htaccess à la racine du portail :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Supprimer install.sql après installation

Via le Gestionnaire de fichiers cPanel, supprimer install.sql du serveur une fois la base créée.

9 Résolution des problèmes fréquents

ErreurCause probableSolution
Erreur de connexion DB Mauvais identifiants dans config.php Vérifier DB_NAME, DB_USER, DB_PASS avec les valeurs exactes de cPanel
Page blanche Erreur PHP non affichée Activer display_errors temporairement dans cPanel → PHP Settings
Erreur 500 Droits fichiers incorrects Dossiers à 755, fichiers PHP à 644 (Gestionnaire de fichiers → Permissions)
Images/CSS non chargés SITE_URL incorrect Vérifier que SITE_URL correspond exactement à l'URL de votre portail
Session expire tout de suite session.save_path non configuré cPanel → PHP Settings → session.save_path = /tmp

Récapitulatif des rôles

RôleAccès
AdminTout : gestion utilisateurs, classes, élèves, validation congés/demandes, export CSV, annonces
EnseignantSaisie présences, demandes de congé, programmes, demandes spécifiques
LecteurConsultation des annonces et programmes uniquement
✓ Installation terminée ! Pour toute question, contactez votre administrateur système.