NOUVELLES-FONCTIONNALITES

Fichier: NOUVELLES-FONCTIONNALITES.md | Taille: 7.92 KB | Modifié: 28/10/2025 03:16

🎉 Nouvelles Fonctionnalités de l'Administration

Ce document liste toutes les nouvelles fonctionnalités ajoutées à votre panneau d'administration.

📋 Table des matières

  1. Outils Professionnels
  2. Système de Tickets
  3. Journal d'Audit
  4. Portail Client
  5. API REST
  6. Rappels Automatiques

---

🛠️ Outils Professionnels

Fichier: pages/admin/tools.php

Description

Une collection d'outils et calculatrices professionnelles pour vous aider dans votre travail quotidien.

Fonctionnalités

  • Calculateur de TVA: Convertissez facilement entre HT et TTC
  • Calculateur de Remise: Calculez le prix après remise
  • Calculateur de Marge: Déterminez votre marge bénéficiaire
  • Calculateur de Coût Horaire: Estimez votre tarif horaire idéal
  • Convertisseur de Devise: Convertissez entre différentes devises
  • Estimateur de Projet: Estimez le coût total d'un projet

Accès

Menu Admin → Outils (🛠️)

---

🎫 Système de Tickets

Fichier: pages/admin/tickets.php

Description

Gérez les demandes de support client de manière professionnelle avec un système de tickets complet.

Fonctionnalités

  • Créer des tickets de support
  • Système de priorités (Urgent, Haute, Moyenne, Basse)
  • Statuts de tickets (Nouveau, En cours, En attente, Résolu, Fermé)
  • Filtres et recherche
  • Statistiques en temps réel
  • Assignation à des utilisateurs

Accès

Menu Admin → Tickets (🎫)

Base de données

  • support_tickets: Table principale des tickets
  • ticket_comments: Commentaires et notes sur les tickets

---

📋 Journal d'Audit

Fichier: pages/admin/logs.php

Description

Tracez toutes les actions importantes du système avec un journal d'audit complet.

Fonctionnalités

  • Enregistrement automatique des actions
  • Filtres par action, utilisateur, date
  • Historique complet des modifications
  • Consultation des détails (avant/après)
  • Nettoyage des anciens logs

Actions enregistrées

  • Création, modification, suppression d'entités
  • Connexions/déconnexions
  • Envoi d'emails
  • Import/Export de données
  • Changements de paramètres

Accès

Menu Admin → Logs (📋)

Base de données

  • audit_logs: Table des logs d'audit

---

👤 Portail Client

Fichiers: pages/client-portal/

Description

Espace dédié aux clients pour consulter leurs documents et informations.

Fonctionnalités

  • Connexion sécurisée par email et token
  • Consultation des factures avec statut de paiement
  • Consultation des devis avec statut d'acceptation
  • Statistiques personnelles (factures payées, en attente, etc.)
  • Interface moderne et responsive

Accessibilité

URL: https://www.proinfo83.fr/pages/client-portal/login.php

Système de sécurité

  • Session basée sur des tokens expirables (24h)
  • Aucun mot de passe nécessaire
  • Lien de connexion unique envoyé par email

Base de données

  • client_sessions: Gestion des sessions clients

---

🔌 API REST

Fichier: pages/admin/api/index.php

Description

API RESTful pour intégrer votre système avec d'autres applications.

Endpoints disponibles

GET /api/

Liste tous les endpoints disponibles

GET /api/invoices

Liste toutes les factures (limite 100)

GET /api/invoices/:id

Détails d'une facture spécifique

GET /api/quotes

Liste tous les devis (limite 100)

GET /api/clients

Liste tous les clients (limite 100)

GET /api/products

Liste tous les produits actifs

POST /api/webhook

Traitement des webhooks

Exemple d'utilisation

```javascript

// Récupérer les factures

fetch('/pages/admin/api/?path=/invoices')

.then(response => response.json())

.then(data => console.log(data));

```

Authentification

Actuellement: session admin (à améliorer avec des clés API)

---

🔔 Rappels Automatiques

Base de données: Table auto_reminders

Description

Système de rappels automatiques pour les factures en retard, devis expirés, etc.

Types de rappels

  • invoice_due: Rappel avant l'échéance d'une facture
  • invoice_overdue: Alertes pour factures en retard
  • quote_expiry: Notification de devis expiré
  • client_followup: Relance client
  • custom: Rappels personnalisés

Configuration

À configurer depuis le panel admin (fonctionnalité à développer)

Base de données

  • auto_reminders: Table de configuration des rappels

---

🎯 Prochaines Évolutions

Suggestions d'améliorations

  1. Email automatique: Implémenter l'envoi automatique d'emails de rappel
  2. Clés API: Système de clés API pour l'authentification
  3. Export PDF: Génération automatique de PDFs pour le portail client
  4. Notifications temps réel: Système de notifications push
  5. Graphiques avancés: Analyser les données avec des graphiques interactifs
  6. Multi-langue: Support de plusieurs langues
  7. Backup automatique: Sauvegarde automatique de la base de données

---

🔧 Installation

Les nouvelles tables sont créées automatiquement lors de l'accès à l'administration via config-db.php.

Si vous avez déjà une installation en production:

```sql

-- Exécuter ces commandes SQL pour créer les nouvelles tables

-- Rappels automatiques

CREATE TABLE IF NOT EXISTS auto_reminders (

id INT AUTO_INCREMENT PRIMARY KEY,

title VARCHAR(255) NOT NULL,

description TEXT,

reminder_type ENUM('invoice_due', 'invoice_overdue', 'quote_expiry', 'client_followup', 'custom') NOT NULL,

days_before INT DEFAULT 0,

days_after INT DEFAULT 0,

is_active TINYINT(1) DEFAULT 1,

email_subject VARCHAR(255),

email_template TEXT,

last_run TIMESTAMP NULL,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

);

-- Logs d'audit

CREATE TABLE IF NOT EXISTS audit_logs (

id INT AUTO_INCREMENT PRIMARY KEY,

user_name VARCHAR(100) NOT NULL,

action VARCHAR(100) NOT NULL,

table_name VARCHAR(50),

record_id INT,

old_value TEXT,

new_value TEXT,

ip_address VARCHAR(45),

user_agent TEXT,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

-- Tickets de support

CREATE TABLE IF NOT EXISTS support_tickets (

id INT AUTO_INCREMENT PRIMARY KEY,

ticket_number VARCHAR(50) UNIQUE NOT NULL,

client_id INT,

client_name VARCHAR(100),

client_email VARCHAR(100),

subject VARCHAR(255) NOT NULL,

description TEXT NOT NULL,

priority ENUM('low', 'medium', 'high', 'urgent') DEFAULT 'medium',

status ENUM('new', 'in_progress', 'waiting', 'resolved', 'closed') DEFAULT 'new',

assigned_to VARCHAR(100),

tags VARCHAR(255),

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

);

CREATE TABLE IF NOT EXISTS ticket_comments (

id INT AUTO_INCREMENT PRIMARY KEY,

ticket_id INT NOT NULL,

user_name VARCHAR(100) NOT NULL,

comment TEXT NOT NULL,

is_internal TINYINT(1) DEFAULT 0,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

-- Sessions clients

CREATE TABLE IF NOT EXISTS client_sessions (

id INT AUTO_INCREMENT PRIMARY KEY,

client_id INT NOT NULL,

access_token VARCHAR(255) UNIQUE NOT NULL,

expires_at TIMESTAMP NOT NULL,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

last_activity TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

);

```

---

📞 Support

Pour toute question ou problème, contactez le support technique.

Date de création:

Version: 2.0