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.
| 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 :
dsi_hwvm)| 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 :
PROD → renseigne dtrun (date de mise en production)MTAIN → renseigne dtmaintainEND → renseigne dtunset (date de mise hors service)STOCK → efface dtrunlbhw)tphard)idtag)win_serial)lbimmo)idc)idaddr, lbwhere)tpusage) — visible uniquement pour les types FIX et POR :PERSO (défaut) : poste attribué à une personneKIOSQUE : poste kiosque — l'utilisateur principal et les utilisateurs secondaires sont retirésiduser_master) — masqué si type d'utilisation = KIOSQUEdsi_hw_users)idhw_sel)idhw_model)tpproc)nbram)nbdd)tpdd)idos)tpof)dtbuy)dtwar)dtwarbat)dtrun)dtmaintain)dtunset)dtcheck)last_inventory_at)txwar)txwarbat)txcomment)tpreco)txreco)lib1, lib2)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é |
Un matériel peut avoir :
iduser_master) — affiché directement dans la listedsi_hw_usersLa modale de gestion des utilisateurs rattachés permet :
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.
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.
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.
Depuis la fiche matériel, on peut consulter les tickets liés à ce matériel (via CustomerAskAttach, idmodelement=810001). La modale affiche :
Les matériels peuvent être synchronisés automatiquement depuis OCS Inventory. En cas de synchronisation :
idocs est renseignélast_inventory_at est mis à jour à chaque inventaireLa 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) :
bios.SSN = idtag (matériels physiques avec numéro de série)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.
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 :
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.
Disponibles sur une sélection de matériels (max 50) :
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).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é.
Les VMs sont gérées dans un onglet dédié avec leur propre modèle (DsiHwvm) et leurs propres champs spécifiques :
tpvm)tpheb, idheb)tposvm)lbip)lbpolsave)tpcrit)nbcpu)dtmaintain)dtmaintain_end, facultative)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 : dtend → out, dtmaintain → mtain, dtprod → run, sinon build.
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 |
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.
La fiche matériel (/mod/81000101/see/{idhw}) affiche :
idtag permet de résoudre le matériel dans OCShook/810001.form.php)Lors de la création ou mise à jour d'un matériel (modidel 01) :
idc) via AccessHelper::checkCustomerAccessiduser_master est renseigné et que l'utilisateur a une dtdel, une alerte danger est créée automatiquementiduser_master renseigné → affiche les champs iduser_master, dtcheck, lbname_master, lbmail_master (en update) ou seulement iduser_master (en création)lbname_master renseigné (utilisateur fantôme) → comportement similaire sans les champs mailiduser_master, dtcheck, lbname_master, lbmail_master, text__21)hook/810001.ctlbefore.php)home et print vers /hardware (pas de page d'accueil dédiée)returnFinalExit = true) et injecte du JavaScript pour recharger le tableau DataTable et afficher une confirmation SweetAlertresources/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 :
idhw_sel == 2) : remplit modèle, dates de garantie constructeur/batterie et date d'achatidhw_sel == 1) : remplit modèle, date d'achat et garantie constructeur (S/N sans tirets)En mode mise à jour :
reload-page pour forcer un rechargement de page (utilisé après certaines actions en modale)Confirmation passage en mode KIOSQUE :
KIOSQUE, une alerte SweetAlert s'affiche au moment du clic sur le bouton d'enregistrementdsi_hw_users) sont retirésresources/views/hook/custom/ctl/810001ctl.blade.php)En mode update, affiche un mini-menu contextuel avec :
{idref_7chars}-{type1char}{idhw}iduser_master est défini mais pas encore validé (dtcheck absent) ; affiche un badge de confirmation si déjà validé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)hardware.modal.rattached-tickets avec compteur (visible uniquement si tickets > 0)DsiHwSel.urlwarranty), copie le S/N dans le presse-papierhardware.transfer-hardware (admins locaux uniquement)iddist renseigné et distribution = TW