# CABM-IT Application de documentation IT pour prestataires infogérants (type ItGlue), permettant de centraliser toutes les informations techniques et administratives des organisations clientes : mots de passe, actifs, documents, contacts, tâches et bien plus. Développée avec [Laravel](https://laravel.com), [Livewire](https://livewire.laravel.com)/Volt et [Tailwind CSS](https://tailwindcss.com). ## Fonctionnalités ### Organisations - Gestion multi-clients avec fiche par organisation (type, statut, description, logo avec recadrage intégré, plages IP autorisées). - **Tableau de bord** par organisation : compteurs clés, domaines à surveiller (expiration proche), activité récente (créations/modifications), tâches ouvertes, et journal de bord. - **Journal de bord** : notes libres catégorisées (projet en cours, point d'attention, intervention prévue, information générale) pour le suivi au fil de l'eau. ### Contenu métier - **Contacts** et **Sites** par organisation. - **Domaines** avec suivi d'expiration et alertes. - **Mots de passe** chiffrés, avec journal d'audit. - **Documents** organisés en arborescence de dossiers (glisser-déposer pour réorganiser) : - Documents texte simples. - Documents **Markdown** avec aperçu rendu et aide-mémoire de syntaxe. - Documents **Office** (Word/Excel) créés ou importés, édités en ligne via **OnlyOffice**. - Fichiers importés (PDF, TXT, MD) avec visionneuse PDF intégrée. - Historique de versions sur chaque document. - **Actifs flexibles** : types d'actifs personnalisables par un administrateur (champs sur mesure : texte, liste déroulante, case à cocher, date, mot de passe, tag, liaison vers un contact/site/domaine/autre actif...). Chaque actif dispose d'un **journal MCO** alimenté automatiquement à chaque modification de champ. - **Machines virtuelles** : fiche dédiée (rôle, mémoire, CPU, OS) avec journal MCO. - **ToDo** : tâches par organisation avec catégorie (Infra, Support, Métier, Autre), criticité, échéance et affectation à un technicien ou administrateur ; remontées sur le tableau de bord. - **Raccourcis** : liens web rapides, globaux (toutes organisations, gérés par un administrateur) ou propres à une organisation. - **Éléments liés** : liaison libre entre mots de passe, actifs, documents et autres enregistrements pour naviguer rapidement entre informations connexes. ### Utilisateurs et sécurité - Comptes utilisateurs créés uniquement par un administrateur (pas d'auto-inscription). - Rôles : **Administrateur**, **Technicien**, **Lecture seule**. - Authentification renforcée : mots de passe, authentification à deux facteurs, passkeys. - Restriction d'accès par organisation via plages IP autorisées. ## Stack technique - **Backend** : Laravel 13, Livewire 4 / Volt, Laravel Fortify (authentification), Spatie Permission (rôles). - **Frontend** : Tailwind CSS 4, Alpine.js. - **Édition documentaire** : OnlyOffice Document Server (via Docker). - **Base de données** : SQLite par défaut (configurable). ## Installation ```bash composer install npm install cp .env.example .env php artisan key:generate php artisan migrate --seed php artisan storage:link npm run build php artisan serve ``` Un compte administrateur est créé par le seeder par défaut (voir `database/seeders/DatabaseSeeder.php`). ### OnlyOffice (édition de documents Word/Excel) L'édition en ligne des documents Office nécessite une instance OnlyOffice Document Server. Un exemple de configuration est fourni dans `docker-compose.yml`. Voir `config/onlyoffice.php` pour les variables d'environnement associées (`ONLYOFFICE_DS_URL`, `ONLYOFFICE_CALLBACK_BASE_URL`, `ONLYOFFICE_JWT_SECRET`). ## Tests ```bash php artisan test ```