Isi-APP Docs fonctionnelles
Toutes les docs
Markdown brut
Matériels (DSI/IT Hardware)
Actif store functional Revu le 2026-07-30 store/hardware.md

Matériels (DSI/IT Hardware)

Vue d'ensemble

Le module Matériels permet de gérer l'ensemble du parc matériel informatique d'un tenant : postes de travail, serveurs, imprimantes, équipements réseau, téléphones, tablettes et machines virtuelles.

Chaque matériel est rattaché à une entité (via idc), peut être assigné à un ou plusieurs utilisateurs, et passe par un cycle de vie défini.


Types de matériels

Code Libellé
FIX Poste de travail fixe
POR Portable
LIG Client léger (Thin client)
SER Serveur
TAB Tablette
SMA Smartphone
IMP Imprimante / Copieur
WIF Borne WiFi
SWI Switch
ROU Routeur
TEL Téléphone IP
VID Vidéo-projecteur
SCR Écran
CAM Webcam / Système salle de réunion
MIC Micro-casque
DOC Docking station
FIR Firewall / Sonde
MOD Modem
SAN NAS / SAN
OND Onduleur (UPS)
CEN Central téléphonie (PBX)

Les types sont regroupés en onglets dans l'interface :

  • Matériels — tous types confondus (vue d'ensemble)
  • Postes de travail — FIX, POR, LIG
  • Serveurs — SER
  • Imprimantes / Copieurs — IMP
  • Réseaux — WIF, SWI, ROU
  • Tablettes — TAB
  • Smartphones — SMA
  • Autres — tous les types restants
  • VM — machines virtuelles (table dsi_hwvm)

Cycle de vie (statuts)

Code Libellé Description
STOCK En stock Matériel acquis, non encore déployé
PROD En production Matériel actif et utilisé
MTAIN En maintenance Matériel temporairement hors service
END Hors service Matériel retiré du parc
RENEW À renouveler Signalé pour remplacement (lecture seule)

Les transitions de statut mettent automatiquement à jour les dates associées :

  • Passage en PROD → renseigne dtrun (date de mise en production)
  • Passage en MTAIN → renseigne dtmaintain
  • Passage en END → renseigne dtunset (date de mise hors service)
  • Retour en STOCK → efface dtrun

Informations gérées sur un matériel

Identification

  • Nom du matériel (lbhw)
  • Type (tphard)
  • Numéro de série / tag (idtag)
  • Numéro de série Windows (win_serial)
  • Numéro d'immobilisation (lbimmo)

Affectation

  • Entité rattachée (idc)
  • Adresse / localisation (idaddr, lbwhere)
  • Type d'utilisation (tpusage) — visible uniquement pour les types FIX et POR :
    • PERSO (défaut) : poste attribué à une personne
    • KIOSQUE : poste kiosque — l'utilisateur principal et les utilisateurs secondaires sont retirés
  • Utilisateur principal (iduser_master) — masqué si type d'utilisation = KIOSQUE
  • Utilisateurs secondaires (table dsi_hw_users)

Matériel

  • Fabricant (idhw_sel)
  • Modèle (idhw_model)
  • Processeur (tpproc)
  • RAM en Go (nbram)
  • Stockage en Go (nbdd)
  • Type de disque (tpdd)
  • Système d'exploitation (idos)
  • Suite bureautique (tpof)

Dates

  • Achat (dtbuy)
  • Garantie constructeur (dtwar)
  • Garantie batterie/licence cloud (dtwarbat)
  • Mise en production (dtrun)
  • Maintenance (dtmaintain)
  • Hors service (dtunset)
  • Dernier contrôle (dtcheck)
  • Dernier inventaire OCS (last_inventory_at)

Garantie

  • Texte garantie constructeur (txwar)
  • Texte garantie batterie (txwarbat)
  • URL garantie (via fabricant)

Commentaires & recommandations

  • Commentaire libre (txcomment)
  • Recommandation (tpreco)
  • Détail recommandation (txreco)
  • Champs libres 1 et 2 (lib1, lib2)

Alertes automatiques

Le système analyse chaque matériel et génère des alertes sur :

Alerte Condition
Utilisateur archivé L'utilisateur principal a été supprimé
OS obsolète Windows 7, 8, XP, Vista, etc. détecté
Windows 10 non spécifié Édition WIN10 générique (doit être Pro, Enterprise, etc.)
Windows 10 Family Édition grand public inadaptée en entreprise
RAM insuffisante ≤ 4 Go de RAM
OS serveur obsolète Édition serveur en fin de support
Non déployé Aucune date de mise en production
Matériel ancien Plus de 5 ans
Garantie expirée dtwar dépassée
Kiosque avec utilisateur Type FIX/POR en mode KIOSQUE mais iduser_master encore renseigné

Utilisateurs rattachés

Un matériel peut avoir :

  • Un utilisateur principal (iduser_master) — affiché directement dans la liste
  • Des utilisateurs secondaires — via la table dsi_hw_users

La modale de gestion des utilisateurs rattachés permet :

  • D'ajouter / retirer des utilisateurs secondaires
  • De promouvoir un utilisateur secondaire en utilisateur principal (l'ancien principal est automatiquement rétrogradé en additionnel)
  • De gérer les "utilisateurs fantômes" : utilisateurs supprimés du système ou utilisateurs externes (nommés manuellement, sans compte), modifiables via un formulaire dédié
  • D'envoyer un mail de demande de remise de matériel à un utilisateur

L'interface distingue visuellement l'utilisateur principal (affiché dans une carte dédiée en haut de la modale) des utilisateurs additionnels (listés dans le tableau en dessous).

Seuls certains types de matériels peuvent recevoir des rattachements utilisateurs : LIG, FIX, POR, TAB, SMA, TEL, VID, IMP, SCR.

Comptes proposés au rattachement

Le sélecteur (utilisateur principal comme additionnels) propose les comptes non supprimés de l'entité mère du matériel, pour les types de compte suivants (cf. Personnes) :

tpaccount Libellé Proposé ?
N Nominatif
G Générique (boîte de service / rôle)
B Boîte partagée
A Administrateur local

Les utilisateurs déjà rattachés au matériel (principal ou additionnels) sont retirés de la liste. Un utilisateur sans compte dans l'application se rattache via le bouton Utilisateur externe.

Historique des rattachements

Chaque action de rattachement ou de détachement est tracée dans l'historique du matériel :

Action Trace
Rattachement utilisateur principal Entrée dans log_navs + log_nav_changes (champ iduser_master)
Rattachement utilisateur secondaire Entrée dans log_navs + log_nav_changes (champ dsi_hw_users)
Détachement utilisateur principal Entrée dans log_navs + log_nav_changes (champ iduser_master)
Détachement utilisateur secondaire Entrée dans log_navs + log_nav_changes (champ dsi_hw_users)

Ces entrées remontent dans l'onglet "Historique" de la fiche matériel. Les changements sur iduser_master apparaissent également dans la section "Affectations" de l'historique.


Tickets rattachés

Depuis la fiche matériel, on peut consulter les tickets liés à ce matériel (via CustomerAskAttach, idmodelement=810001). La modale affiche :

  • Titre, sujet, statut, priorité
  • Dates d'ouverture et de résolution

Intégration OCS (inventaire)

Les matériels peuvent être synchronisés automatiquement depuis OCS Inventory. En cas de synchronisation :

  • Le champ idocs est renseigné
  • Certains champs ne sont plus modifiables manuellement (processeur, RAM, disque, OS, etc.)
  • last_inventory_at est mis à jour à chaque inventaire

Affichage des données OCS sur la fiche matériel

La fiche matériel (see/81000101) affiche les données OCS directement depuis la base OCS via le connecteur Store v3 (ocs_inventory). La résolution se fait par idtag (plus fiable que idocs) :

  1. Recherche dans bios.SSN = idtag (matériels physiques avec numéro de série)
  2. Fallback sur hardware.NAME = idtag trié par LASTDATE DESC (VMs ou matériels sans SSN)

La section est affichée uniquement si le tenant possède une instance OCS active (StoreInstance avec connector.code = 'ocs_inventory', is_active = true). Elle présente un tableau Logiciels listant nom, version et date d'installation des logiciels installés.


Intégrations API fabricants

Pour Lenovo et Dell, le système peut récupérer automatiquement les données de garantie via leurs APIs en renseignant le numéro de série :

  • Date d'expédition
  • Modèle
  • Dates de garantie constructeur et batterie/licence cloud

Création depuis la fiche adresse

Depuis la fiche d'une adresse (module 13040101), l'onglet Matériels affiche le parc matériel lié à cette adresse et permet de créer un nouveau matériel directement sans quitter la page. Le formulaire de création s'affiche dans le bouton du tableau, avec l'entité et l'adresse pré-sélectionnées.


Actions en masse (Bulk actions)

Disponibles sur une sélection de matériels (max 50) :

  • Changer le statut — met à jour le statut et les dates associées
  • Transférer — déplace vers une autre entité/adresse, avec gestion des utilisateurs associés
  • Modifier les statuts VM — met à jour le statut des VMs sélectionnées. Le statut mtain (maintenance) supporte une période datée : date de début obligatoire, date de fin optionnelle. Depuis la fiche VM (module 810901), le bouton "Modifier le statut" recharge la page entière après succès (callbackMode=reload). Depuis le tableau en masse (HardwareVmWire), il rafraîchit uniquement le TableWire via un événement Livewire (hardware-vm-refresh).

Vue prestataire (Clients)

Les prestataires (partenaires) peuvent accéder à une vue consolidée du parc de leurs clients via l'onglet "Clients" (/hardware/clients). Cette vue agrège les données de plusieurs tenants avec le nom du client affiché.


Machines virtuelles

Les VMs sont gérées dans un onglet dédié avec leur propre modèle (DsiHwvm) et leurs propres champs spécifiques :

  • Type de virtualisation (tpvm)
  • Hébergeur (tpheb, idheb)
  • OS VM (tposvm)
  • Adresse IP (lbip)
  • Politique de sauvegarde (lbpolsave)
  • Criticité (tpcrit)
  • Nombre de CPU (nbcpu)
  • Début de maintenance (dtmaintain)
  • Fin de maintenance (dtmaintain_end, facultative)

Cycle de vie VM

Les VMs ont leur propre cycle de vie, distinct des statuts des matériels physiques :

Statut Libellé Date associée Description
build En construction État par défaut, aucune date renseignée
run En production dtprod Mise en production de la VM
mtain En maintenance dtmaintain + dtmaintain_end (optionnelle) Période de maintenance avec date de début et fin optionnelle
out Arrêtée dtend VM hors service

Le statut est déterminé automatiquement selon les dates renseignées : dtendout, dtmaintainmtain, dtprodrun, sinon build.


Mini-menu fiche VM (810901ctl)

La fiche formulaire VM (/mod/81090101/update/{id}) affiche un mini-menu contextuel en mode update, modidel 01, via resources/views/hook/custom/ctl/810901ctl.blade.php.

Bouton Description
Dernier inventaire OCS Badge coloré selon l'ancienneté : vert (< 2 mois), ambre (2–12 mois), rouge (> 12 mois)
Dernière modification Affiche la date de la dernière mise à jour de la VM
Modifier le statut Ouvre la modale hardware.bulk-actions.update-vm-state en callbackMode=reload — recharge la page après succès

Droits d'accès

L'accès au module est contrôlé par le module 81000101 (matériels) et 81090101 (VMs).

Les profils à accès limité peuvent être restreints à certaines entités via idlimit_profile.


Fiche matériel (vue See)

La fiche matériel (/mod/81000101/see/{idhw}) affiche :

  • Carte identité : icône du type, nom, statut, utilisateur principal avec date de validation, dates clés (inventaire, modification, achat, mise en service, garantie, rebut, archivage)
  • Informations principales : ID, type, reconditionnement, S/N, fabricant, modèle, OS, processeur, RAM, disque, IP, suite bureautique
  • Localisation : entité, adresse (avec lien Google Maps), emplacement libre — affichée uniquement si renseignée
  • Contact : téléphone et e-mail — affiché uniquement si renseigné
  • Historique des utilisateurs : timeline des rattachements/détachements, affichée uniquement pour les types pouvant être rattachés et si l'historique est non vide
  • Informations OCS : tableau Logiciels (nom, version, date d'installation) — affiché uniquement si le tenant a une instance OCS active (Store v3) et que idtag permet de résoudre le matériel dans OCS
  • Addins : commentaires, images, documents, liens

Hooks formulaire

Comportement du formulaire (hook/810001.form.php)

Lors de la création ou mise à jour d'un matériel (modidel 01) :

  • Contrôle d'accès : vérifie que l'utilisateur peut accéder à l'entité (idc) via AccessHelper::checkCustomerAccess
  • Utilisateur archivé : si un iduser_master est renseigné et que l'utilisateur a une dtdel, une alerte danger est créée automatiquement
  • Affichage conditionnel des champs utilisateur :
    • Si iduser_master renseigné → affiche les champs iduser_master, dtcheck, lbname_master, lbmail_master (en update) ou seulement iduser_master (en création)
    • Si seulement lbname_master renseigné (utilisateur fantôme) → comportement similaire sans les champs mail
    • Si aucun utilisateur → masque tous les champs utilisateur (iduser_master, dtcheck, lbname_master, lbmail_master, text__21)

Comportement avant contrôleur (hook/810001.ctlbefore.php)

  • Redirige les actions home et print vers /hardware (pas de page d'accueil dédiée)
  • En mode création modale : désactive le retour standard (returnFinalExit = true) et injecte du JavaScript pour recharger le tableau DataTable et afficher une confirmation SweetAlert

Hook vue formulaire (resources/views/hook/810001view.blade.php)

Injecté automatiquement dans le formulaire via @include('hook.building.content').

En mode création (si idtag renseigné) — appel AJAX automatique vers l'API fabricant :

  • Lenovo (idhw_sel == 2) : remplit modèle, dates de garantie constructeur/batterie et date d'achat
  • Dell (idhw_sel == 1) : remplit modèle, date d'achat et garantie constructeur (S/N sans tirets)

En mode mise à jour :

  • Affiche les nav-pills si définies
  • Écoute l'événement Livewire reload-page pour forcer un rechargement de page (utilisé après certaines actions en modale)

Confirmation passage en mode KIOSQUE :

  • Lorsqu'un matériel avec un utilisateur principal est soumis en mode KIOSQUE, une alerte SweetAlert s'affiche au moment du clic sur le bouton d'enregistrement
  • En cas de confirmation : le formulaire est soumis, l'utilisateur principal et tous les utilisateurs secondaires (table dsi_hw_users) sont retirés
  • En cas d'annulation : la soumission est bloquée, le formulaire reste en état d'édition

Mini-menu de la fiche formulaire (resources/views/hook/custom/ctl/810001ctl.blade.php)

En mode update, affiche un mini-menu contextuel avec :

  • Dernier inventaire OCS : badge coloré (vert < 2 mois, orange 2–12 mois, rouge > 12 mois) avec lien vers la fiche see
  • Dernière modification : lien vers l'historique du matériel
  • Renommer le matériel : génère automatiquement un nom normalisé {idref_7chars}-{type1char}{idhw}
  • Valider la remise : envoie un e-mail de confirmation si iduser_master est défini mais pas encore validé (dtcheck absent) ; affiche un badge de confirmation si déjà validé
  • Gestion des utilisateurs : ouvre la modale Livewire hardware.modal.rattached-users avec compteur d'utilisateurs rattachés (visible uniquement si le type supporte le rattachement, statut ≠ END, et type d'utilisation ≠ KIOSQUE)
  • Tickets rattachés : ouvre la modale Livewire hardware.modal.rattached-tickets avec compteur (visible uniquement si tickets > 0)
  • Vérifier la garantie : lien externe vers l'URL garantie du fabricant (si renseignée dans DsiHwSel.urlwarranty), copie le S/N dans le presse-papier
  • Transférer le matériel : ouvre la modale Livewire hardware.transfer-hardware (admins locaux uniquement)
  • TeamViewer : lien de prise en main distante si iddist renseigné et distribution = TW