For the complete documentation index, see llms.txt. This page is also available as Markdown.

Agent config

Prérequis (auto-hébergé)

Version GLPI
PHP minimum
Recommandé

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_STATE peuvent 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.

images/install_plugin.png

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

images/setup_plugin.png

Page centrale

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

images/asset.png

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

images/install_agent.png
  • Allez sur GLPI avec le navigateur web de votre appareil

  • Cliquez sur le DeepLink

images/deeplink.png
  • L'application s'ouvrira et pré-remplira les champs pour ajouter un serveur

  • Cliquez ensuite sur Ajouter un serveur

images/listserversFilledField2.png

Avec QR Code

  • Ouvrez GLPI Agent sur votre appareil

  • Allez dans Paramètres avancés > Ouvrir la liste des serveurs > Ajouter des serveurs

  • Cliquez sur le bouton QR Code

  • Scannez le QR Code

images/listservers.png
  • L'application pré-remplira les champs pour ajouter un serveur

  • Ajoutez ensuite le serveur.

images/listserversFilledField2.png

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

images/global_category.png

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 :

  1. Sur le téléphone, rendez-vous dans les Paramètres.

  2. Allez dans la section Applications (ou Gestion des applications).

  3. Sélectionnez l'application GLPI Android Inventory agent.

  4. Cliquez sur l'onglet Batterie (ou Utilisation de la batterie).

  5. 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