# Présentation

[![GLPI.png](https://docs.rakouns.bzh/uploads/images/gallery/2026-06/scaled-1680-/glpi.png)](https://docs.rakouns.bzh/uploads/images/gallery/2026-06/glpi.png)

## Origines et positionnement

GLPI (Gestion Libre de Parc Informatique) est né en France au début des années 2000, développé initialement par une équipe de l'INDIE (Lyon). Le projet est aujourd'hui porté principalement par **Teclib'**, société française qui assure le développement, le support commercial et l'hébergement cloud (GLPI Network), tout en maintenant le cœur du logiciel sous licence libre (GPL v2+).

GLPI se positionne à la croisée de deux mondes :

- **L'ITAM** (IT Asset Management) : gestion du parc matériel et logiciel
- **L'ITSM** (IT Service Management) : gestion des services, incidents, changements, dans une logique inspirée d'ITIL

C'est cette double casquette qui en fait un outil particulièrement adapté aux structures de taille moyenne (collectivités, PME, établissements publics) qui veulent un outil tout-en-un plutôt que de multiplier les solutions spécialisées.

## Architecture technique

**Stack technique**

- Backend en PHP (GLPI 10/11 nécessite PHP 8.1+)
- Base de données MySQL/MariaDB (PostgreSQL supporté depuis GLPI 10)
- Serveur web Apache ou Nginx
- Peut être déployé en bare metal, VM, ou conteneur Docker (image officielle disponible)

**GLPI Agent**

- Agent multiplateforme (Windows, Linux, macOS) installable via GPO/MDT dans un contexte AD
- Réalise l'inventaire automatique : matériel, logiciels installés, configuration réseau
- Communique avec le serveur via un protocole HTTP(S), avec authentification par certificat possible
- Peut aussi déployer des actions à distance (inventaire forcé, exécution de scripts)

**Système de plugins**  
C'est un des points forts majeurs de GLPI : une architecture de hooks permet d'étendre presque toutes les fonctionnalités sans toucher au core.

- `samlSSO` : authentification SAML 2.0 (ex. avec Keycloak)
- Plugin OIDC (payant chez Teclib pour l'officiel) : authentification OpenID Connect
- `Order`, `Fields`, `Datainjection`, `Webhooks`, etc.
- API REST native pour intégrations tierces (scripts PowerShell, automatisations)

## Modules fonctionnels en détail

#### Gestion de parc (Assets)

- **Inventaire matériel** : ordinateurs, moniteurs, périphériques réseau, imprimantes, téléphonie
- **Inventaire logiciel** : détection automatique, rapprochement avec les licences possédées (alerte en cas de sous/sur-licensing)
- **Gestion du cycle de vie** : statuts (en stock, en prod, en maintenance, hors service), affectation utilisateur/lieu/groupe
- **CMDB** (Configuration Management Database) : relations entre éléments (un serveur héberge telle application, dépend de telle baie, etc.)

#### Helpdesk / Tickets

- Création de tickets via interface web, email (ticket par email), ou formulaire simplifié
- Workflow de validation, SLA avec échéances et escalades automatiques
- Catégorisation, priorités, assignation à des techniciens ou groupes
- **Base de connaissances** liée aux tickets pour la résolution rapide
- Notifications personnalisables (templates HTML, variables dynamiques comme `##FOREACH##` que tu utilises déjà pour LCC)

#### Processus ITIL

- **Gestion des incidents** vs **gestion des problèmes** (distinction claire, recherche de cause racine)
- **Gestion des changements** : workflow d'approbation
- **Catalogue de services** : exposition des demandes standardisées aux utilisateurs

#### Gestion administrative et financière

- Contrats (maintenance, garantie, location)
- Fournisseurs, commandes, factures
- Amortissement et TCO (coût total de possession) du parc

#### Autres modules notables

- **Réservation** de matériel (salles, vidéoprojecteurs, véhicules)
- **Rapports** : tableaux de bord personnalisables, exports
- **Gestion des droits** : profils granulaires par entité (utile en multi-sites avec héritage)

## Architecture multi-entités

GLPI gère nativement le **multi-tenant** via les "entités" : une arborescence hiérarchique permettant de cloisonner ou de partager des données entre différentes structures (sites, services, clients). C'est pertinent à la fois pour LCC (communes membres) et pour Rakouns (séparation entre clients).

## Authentification et SSO

- LDAP/Active Directory natif (synchronisation des comptes, mapping des groupes)
- SAML 2.0 via plugin communautaire `samlSSO` (gratuit) — fonctionne avec Keycloak
- OpenID Connect uniquement via plugin payant de Teclib (pas d'implémentation native ni communautaire mature équivalente à samlSSO)
- Authentification multiple : possibilité de cumuler plusieurs sources (locale + LDAP + SSO)