Premier commit

This commit is contained in:
jeremy bayse
2026-02-09 11:27:21 +01:00
commit 89a369964d
114 changed files with 17837 additions and 0 deletions

61
README.md Normal file
View File

@@ -0,0 +1,61 @@
# DSIGEST - Gestion de Contrats IT
Application de gestion de contrats IT pour une communauté d'agglomération.
## Stack
- Backend: Laravel 12, PHP 8.3, MySQL
- Frontend: Vue.js 3 + Bootstrap 5 (intégré via Blade)
- Auth: Custom (Login/Register avec validation Admin)
## Installation
1. Cloner le repo / Extraire les fichiers.
2. Installer les dépendances :
```bash
composer install
npm install
```
3. Configurer `.env` :
- Copier `.env.example` vers `.env`.
- Configurer la connexion MySQL (`DB_CONNECTION=mysql`, `DB_DATABASE=...`, etc).
4. Générer la clé :
```bash
php artisan key:generate
```
5. Migrations et Seeders :
```bash
php artisan migrate --seed
```
Ceci créera :
- Admin: `admin@dsigest.local` / `password`
- Manager: `manager@dsigest.local` / `password`
6. Compiler les assets Frontend :
```bash
npm run build
```
Pour le développement :
```bash
npm run dev
```
## Fonctionnalités
- **Roles** : Admin, Gestionnaire (Manager), Lecteur.
- **Admin Validation** : Les nouveaux inscrits doivent être validés par un Admin (`is_active = true`).
- **Contrats** : CRUD complet + Types (Microsoft 365, Fibre, etc).
- **Meta-données** : Champs dynamiques clé/valeur pour chaque contrat.
- **Documents** : Upload de fichiers attachés aux contrats.
- **Audit Logs** : Traçabilité des actions (Création, Modification, Suppression).
- **Alertes** : Commande pour vérifier les échéances :
```bash
php artisan contracts:check-expirations
```
Ajouter cette commande au CRON du serveur.
## Structure
- `app/Models/Contract.php` : Modèle principal.
- `app/Http/Controllers/ContractController.php` : Logique CRUD.
- `resources/js/components/ContractsTable.vue` : Composant Vue.js tableau avec filtres.
- `resources/views/` : Vues Blade utilisant Bootstrap 5.