Agent config
Prérequis (auto-hébergé)
10.0.x
8.1
8.2
11.0.x
8.2
8.4
Une souscritpion GLPI Network BASIC (ou supérieur) est requis. Ce plugin est également disponible pour toutes les instances Cloud de GLPI Network.
Limitation connue
Version concernée
Depuis Android 10 (niveau d'API 29)
Limitation
Depuis Android 10 (niveau d'API 29), Google a renforcé les restrictions d'accès aux informations sensibles des appareils, telles que l'IMEI et le numéro de série, afin de protéger la vie privée des utilisateurs. Ces modifications s'inscrivent dans le cadre des efforts de Google pour limiter l'accès aux données sensibles et empêcher les abus d'autorisation par les applications.
Voici pourquoi nous ne pouvons plus récupérer directement ces informations :
1. IMEI et restrictions d'autorisation
L'IMEI est considéré comme une information sensible et privée.
Depuis Android 10, seules les applications disposant de l'autorisation spéciale
READ_PRIVILEGED_PHONE_STATEpeuvent accéder à l'IMEI. Cette autorisation est uniquement disponible pour les applications système ou celles préinstallées par le fabricant.Les applications tierces, même disposant de l'autorisation
READ_PHONE_STATE, ne peuvent plus accéder à l'IMEI.
2. Numéro de série
L'accès au numéro de série est également restreint. Avant Android 8 (Oreo), les applications pouvaient récupérer le numéro de série via
Build.SERIAL.Depuis Android 8, l'accès au numéro de série requiert l'autorisation
READ_PHONE_STATE.À partir d'Android 10, seules les applications système peuvent accéder au numéro de série.
Une application système est installée directement dans la partition système d'un appareil Android. Elle fait partie intégrante du système d'exploitation (intégrée directement par le fabricant au firmware OEM) et bénéficie de privilèges spécifiques que les applications standard (installées par l'utilisateur) ne possèdent pas.
Il est techniquement possible d'installer une application en tant qu'application système. Cependant, cela implique des conditions et des compétences techniques particulières :
Accès root requis : L'appareil cible doit être "rooté" pour permettre l'accès et la modification de la partition système, où sont installées les applications système.
Utilisation d'ADB : Cette méthode requiert des connaissances de base de l'outil Android Debug Bridge (ADB) pour copier et configurer correctement le fichier APK dans le répertoire système de l'appareil.
Nous sommes pleinement conscients des limitations imposées par Android concernant l'accès aux informations sensibles (telles que l'IMEI ou le numéro de série) depuis l'agent d'inventaire.
Afin de pallier ces contraintes et de garantir la transmission correcte des données par l'agent, nous explorons actuellement plusieurs solutions alternatives, notamment :
Collaboration avec les fabricants (OEM) : Nous envisageons des partenariats avec les fabricants pour intégrer notre application directement dans le firmware en tant qu'application système, ce qui nous permettrait d'accéder aux API nécessaires.
Obtention des autorisations requises auprès de Google : Nous analysons les procédures permettant d'obtenir des autorisations spécifiques (telles que READ_PRIVILEGED_PHONE_STATE) tout en respectant les politiques de confidentialité et de sécurité de Google.
Solutions techniques alternatives : Nous explorons également des solutions techniques telles que l'utilisation de profils d'administrateur via Android Enterprise ou l'utilisation d'identifiants non sensibles pouvant remplacer l'IMEI ou le numéro de série pour nos besoins spécifiques.
Installer le plugin
Allez sur la marketplace. Téléchargez et installez le plugin Agent config.

Configuration du plugin
Dans Configuration > Générale > Configuration de l'agent GLPI, sélectionnez les options souhaitées :
Par défaut, l'URL de l'inventaire est indiquée
Pour sécuriser votre instance et limiter les retours de vos appareils mobiles, vous pouvez renseigner un login et un mot de passe pour chaque appareil mobile à inventorier
Vous pouvez utiliser un tag d'entité (choisissez Oui et indiquez votre tag si besoin)
Choisissez le type d'asset par défaut (ordinateurs ou téléphones, cette information indique le type d'appareil par défaut, mais peut être modifié individuellement depuis chaque appareil)
Afficher le QR Code (sur la page centrale)
Afficher le Deeplink (sur la page centrale)
Gérer l'inventaire automatique et la fréquence pour android

Page centrale
Sur
Accueil>Configuration de l'agent GLPI, utilisez le Deep link ou le QR Code pour préconfigurer l'agent :

Lors d'une réinitialisation d'usine du téléphone, le numéro de série généré automatiquement par l'agent change. Vous pouvez utiliser le Deep Link / QR Code pour configurer l'agent avec le numéro de série précédemment généré et inventorié dans GLPI.
Configuration de l'appareil mobile
Téléchargez l'Agent GLPI sur le Google Store

Avec Deep Link
Allez sur GLPI avec le navigateur web de votre appareil
Cliquez sur le DeepLink

L'application s'ouvrira et pré-remplira les champs pour ajouter un serveur
Cliquez ensuite sur Ajouter un serveur

Avec QR Code
Ouvrez GLPI Agent sur votre appareil
Allez dans
Paramètres avancés>Ouvrir la liste des serveurs>Ajouter des serveursCliquez sur le bouton QR Code
Scannez le QR Code

L'application pré-remplira les champs pour ajouter un serveur
Ajoutez ensuite le serveur.

Catégorie Globale
Dans l'appareil mobile,
Menu>Paramètres avancés>Catégorie globale, sélectionnez/désélectionnez les informations que vous souhaitez inventorier

Résolution de l'inventaire automatique (Android)
1. Problématique
Symptôme : L'inventaire manuel fonctionne correctement, mais l'inventaire automatique (en fonction de la fréquence paramétrée) ne se déclenche pas toujours. L'appareil ne remonte pas d'informations dans GLPI après la première synchronisation manuelle.
Cause : Sur les versions récentes d'Android (12 à 16), le système d'exploitation applique une gestion stricte de l'énergie. Par défaut, Android place les applications en mode "Optimisé", ce qui restreint ou coupe les processus d'arrière-plan pour économiser la batterie. GLPI Android Inventory agent est alors empêché de réveiller l'appareil pour envoyer ses données.
2. Solution : Configuration des autorisations
Pour garantir la remontée automatique des inventaires, il peut-être nécessaire de lever les restrictions logicielles liées à l'économie d'énergie pour GLPI Android Inventory agent.
Procédure de résolution :
Sur le téléphone, rendez-vous dans les Paramètres.
Allez dans la section Applications (ou Gestion des applications).
Sélectionnez l'application GLPI Android Inventory agent.
Cliquez sur l'onglet Batterie (ou Utilisation de la batterie).
Modifiez le réglage par défaut pour sélectionner l'option "Non restreinte" (Unrestricted).
3. Informations complémentaires
Versions concernées : Android 12, 13, 14, 15 et 16.
Note sur le déploiement : Pour une flotte importante, il est recommandé de pousser ce paramètre via votre solution de MDM (Mobile Device Management) si celle-ci le permet, afin d'éviter une configuration manuelle sur chaque poste.
Contribution
Ouvrez un ticket pour chaque bug/fonctionnalité afin qu'il puisse être discuté
Suivez les directives de développement
Référez-vous au processus GitFlow pour le branching
Travaillez sur une nouvelle branche sur votre propre fork
Ouvrez une PR qui sera revue par un développeur
Mis à jour