Documentation d'Installation

Application de Gestion des Postes - Iloos Informatique

Introduction

Cette application PHP permet de traiter des fichiers CSV exportés depuis Trend, Nable, AD, et ENTRA pour générer un fichier Excel récapitulatif listant les postes uniques, leur présence dans chaque console, et leur date de dernière connexion la plus récente. Cette documentation explique comment installer et configurer l'application sur un serveur web.

Prérequis

Installation

Étape 1 : Préparer le Répertoire du Site

Créez ou utilisez un répertoire sur votre serveur web. Par exemple :

/var/www/vhosts/serene-driscoll.181-214-189-10.plesk.page/httpdocs/

Assurez-vous que le répertoire est accessible en écriture :

chmod 775 /var/www/vhosts/serene-driscoll.181-214-189-10.plesk.page/httpdocs/

Étape 2 : Uploader les Fichiers

Transférez les fichiers suivants dans le répertoire du site via Plesk File Manager ou FTP :

  • index.php : Page principale avec le formulaire.
  • process.php : Script de traitement des CSVs.
  • template.xlsx : Modèle Excel avec les feuilles Trend, Nable, AD, ENTRA.
Note : Assurez-vous que template.xlsx est un fichier Excel valide avec les feuilles nommées correctement.

Étape 3 : Installer les Dépendances

Installez la bibliothèque PhpSpreadsheet via Composer :

cd /var/www/vhosts/serene-driscoll.181-214-189-10.plesk.page/httpdocs/
composer require phpoffice/phpspreadsheet

Si vous n’avez pas accès SSH, installez localement et uploadez le dossier vendor/.

Vérifiez la version de PhpSpreadsheet (2.2 ou supérieure) :

cat vendor/composer/installed.json | grep phpoffice

Étape 4 : Configurer PHP

Dans Plesk, allez dans PHP Settings et configurez :

  • memory_limit : Minimum 512M (pour les gros CSVs).
  • post_max_size et upload_max_filesize : Minimum 100M.

Étape 5 : Tester l’Installation

Accédez à l’URL de votre site, par exemple :

https://serene-driscoll.181-214-189-10.plesk.page/

Vous devriez voir un formulaire avec un champ pour le nom du client et des champs pour uploader les CSVs.

Utilisation

Étape 1 : Préparer les CSVs

Assurez-vous que vos CSVs respectent les formats suivants :

  • Trend : Poste (colonne B), Date (colonne C, format "YYYY-MM-DDThh:mm:ss+01:00", ex. "2024-03-16T10:42:35+01:00").
  • Nable : Poste (colonne D), Date (colonne K, formats "DD-mois-YYYY - hh:mm", ex. "25-août-2025 - 13:22" ou "Il y a X jours, Y heures, Z minutes" ou "Il y a X heures, Y minutes").
  • AD : Poste (colonne A), Date (colonne C, format "DD/MM/YYYY hh:mm:ss", ex. "01/01/2022 18:38:09").
  • ENTRA : Poste (colonne A), Date (colonne J, format "YYYY-MM-DD h:mm AM/PM", ex. "2020-11-25 1:16 PM").
Attention : Chaque poste doit avoir une date valide dans la colonne correspondante. Les cellules vides ou invalides (ex. "N/A") entraîneront une date par défaut (1970-01-01).

Étape 2 : Uploader les CSVs

Dans le formulaire :

  • Saisissez le nom du client (utilisé dans le nom du fichier Excel).
  • Uploadez les CSVs pour Trend, Nable, AD, et/ou ENTRA.
  • Cliquez sur "Traiter" pour générer le fichier Excel.

Étape 3 : Vérifier le Résultat

Le fichier Excel téléchargé (ex. MonClient_2025-08-27.xlsx) contient une feuille "postes" avec :

  • Colonne A : Liste des postes uniques, triés.
  • Colonnes B-E : "Oui" (vert) ou "Non" (rouge) pour la présence dans Trend, ENTRA, Nable, AD.
  • Colonne F : Date de dernière connexion la plus récente (format YYYY-MM-DD).
  • Colonne G : Source de la date (Trend, Nable, AD, ENTRA, ou "Aucune" si aucune date valide).

Dépannage

Problème : Certains postes ont la date 1970-01-01

Cause : Les dates dans les CSVs sont vides, non valides, ou dans un format non reconnu.

Solution :

  • Vérifiez debug_dates.log dans le répertoire du site pour les messages comme :
    • "Date vide pour poste 'poste_name' dans 'source' (ligne X, valeur brute: '...')"
    • "Format de date inconnu 'date_string' pour poste 'poste_name' dans 'source' (ligne X)"
    • "Aucune date trouvée pour poste 'poste_name' dans aucune console (présent dans: ...)"
  • Ouvrez les CSVs et vérifiez les cellules de date pour les postes problématiques.
  • Assurez-vous que les colonnes sont alignées (ex. Nable K est la 11e colonne).
  • Si des formats inattendus apparaissent, contactez le support avec le log.

Problème : Erreur de mémoire PHP

Cause : Fichiers CSVs trop volumineux ou memory_limit trop bas.

Solution :

  • Augmentez memory_limit à 512M ou plus dans Plesk.
  • Divisez les CSVs volumineux en fichiers plus petits.
  • Simplifiez template.xlsx (supprimez le formatage inutile).

Problème : Le fichier Excel ne se télécharge pas

Cause : Erreur dans process.php ou permissions incorrectes.

Solution :

  • Vérifiez les logs d’erreur Plesk (section Logs).
  • Assurez-vous que vendor/ contient PhpSpreadsheet.
  • Vérifiez les permissions du répertoire (775 recommandé).

FAQ

Quels formats de date sont supportés ?

Les formats attendus sont :

  • Trend : "2024-03-16T10:42:35+01:00"
  • Nable : "25-août-2025 - 13:22", "Il y a X jours, Y heures, Z minutes", ou "Il y a X heures, Y minutes"
  • AD : "01/01/2022 18:38:09"
  • ENTRA : "2020-11-25 1:16 PM"

Si d’autres formats apparaissent, vérifiez debug_dates.log.

Pourquoi certains postes n’ont pas de date ?

Si un poste a la date "1970-01-01", cela signifie qu’aucune date valide n’a été trouvée dans les consoles où il apparaît. Vérifiez debug_dates.log pour identifier les cellules problématiques.

Comment gérer des CSVs volumineux ?

Divisez les fichiers en morceaux plus petits ou augmentez memory_limit dans Plesk.