🎉 Nouvelles Fonctionnalités de l'Administration
Ce document liste toutes les nouvelles fonctionnalités ajoutées à votre panneau d'administration.
📋 Table des matières
- Outils Professionnels
- Système de Tickets
- Journal d'Audit
- Portail Client
- API REST
- 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
- Email automatique: Implémenter l'envoi automatique d'emails de rappel
- Clés API: Système de clés API pour l'authentification
- Export PDF: Génération automatique de PDFs pour le portail client
- Notifications temps réel: Système de notifications push
- Graphiques avancés: Analyser les données avec des graphiques interactifs
- Multi-langue: Support de plusieurs langues
- 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