40 votes

Le logiciel peut-il faire la différence entre un ordinateur portable et un ordinateur de bureau?

Une licence pour un logiciel intensif en ressources CPU comme Pix4D dit qu'elle peut être installée sur deux appareils - mais avec une condition. En lisant les petits caractères, il semble qu'un appareil peut être une station de travail/de bureau pour un traitement complet tandis que l'autre doit être un appareil mobile/ordinateur portable.

Comment le logiciel pourrait-il le savoir ? Y a-t-il des indices dans les spécifications matérielles pour déterminer quelque chose comme cela par exemple la présence d'une batterie ?
Étant donné que le logiciel est totalement fonctionnel sur les deux machines, cette condition ne deviendrait-elle pas obsolète si j'achetais simplement un ordinateur portable haut de gamme aussi rapide que la station de travail ?

53voto

Piney Points 163

Sous Linux, vous pouvez exécuter la commande suivante :

sudo dmidecode --string chassis-type

Sur un ordinateur portable, cela renverra "Portable", "Notebook", "Portable" ou "Sub Notebook" (selon le fabricant).

Pour Windows, veuillez consulter la documentation suivante pour déterminer le type de châssis de votre ordinateur :

Identifier le type de châssis d'un ordinateur

13voto

Pour ajouter à l'autre réponse ici concernant Linux, les logiciels Windows peuvent également accéder à ces informations via diverses méthodes/objets WinAPI fournis. Un tel exemple est Win32_ComputerSystem, qui possède notamment les membres suivants :

PCSystemTypeEx

Type de données : uint16
Type d'accès : Lecture seule

Type d'ordinateur en cours d'utilisation, tel que portable, ordinateur de bureau ou tablette.

Les valeurs possibles incluent :

Non spécifié (0)
Ordinateur de bureau (1)
Portable (2)
Poste de travail (3)
Serveur d'entreprise (4)
Serveur SOHO (5)
PC d'appareil (6)
Serveur de performances (7)
Tablette (8)
Maximum (9)

Quant à la façon dont Windows sait cela, bien que je ne puisse pas l'affirmer avec certitude car je ne dispose ni du code source de Windows ni de liens de documentation officielle actuellement, je dirais que c'est une simple question des identifiants matériels à l'intérieur de l'ordinateur fournissant ces informations au système d'exploitation. Étant donné que Windows dispose d'un vaste réseau de partenaires qui soumettent directement leurs pilotes à Microsoft (pour les mises à jour des pilotes via Windows Update, les pilotes "standard" à inclure avec les supports d'installation), il est assez facile pour Windows de déterminer exactement quel type d'ordinateur vous avez installé. Rien qu'avec l'ID du CPU, vous pourriez faire un pari assez sûr sur le fait que la machine est un portable ou un ordinateur de bureau.

3voto

plugwash Points 5642

Il y a divers indices. L'un est le "type de système" dans les données DMI. Un autre est si le système a ou non une batterie. Encore un autre est le type de processeur, chipset, contrôleur d'affichage, affichage, etc. Aucun d'entre eux n'est infaillible, mais en les prenant ensemble, il serait assez facile d'écrire un classificateur qui regrouperait les systèmes en "presque certainement un ordinateur portable", "presque certainement un ordinateur de bureau/poste de travail" et "indéterminé".

Mais honnêtement, l'application des licences par des méthodes techniques/d'activation tend à être axée sur la prévention des abus à grande échelle. Les abus à petite échelle sont plus susceptibles d'être traités par des audits, des employés mécontents dénonçant leurs supérieurs, etc.

Étant donné que le logiciel est entièrement fonctionnel sur les deux machines, cette condition ne deviendrait-elle pas irrélevante si j'achetais simplement un ordinateur portable haut de gamme aussi rapide que le poste de travail?

Si vous pouvez acheter un ordinateur portable aussi rapide que votre poste de travail, vous devez avoir un poste de travail de bas de gamme (ou ancien) assez bas.

2voto

Matt Wall Points 221

Le code utilisé pour écrire le logiciel peut déterminer le type de "Châssis" sur lequel il est actuellement exécuté.

Voir cette réponse pour un exemple en C#. Cela peut déterminer si l'ordinateur est l'un des types suivants (certains semblent être des répétitions et/ou obsolètes) :

  • Other
  • Unknown
  • Desktop
  • LowProfileDesktop
  • PizzaBox
  • MiniTower
  • Tower
  • Portable
  • Laptop
  • Notebook
  • Handheld
  • DockingStation
  • AllInOne
  • SubNotebook
  • SpaceSaving
  • LunchBox
  • MainSystemChassis
  • ExpansionChassis
  • SubChassis
  • BusExpansionChassis
  • PeripheralChassis
  • StorageChassis
  • RackMountChassis
  • SealedCasePC

Aussi, concernant mon commentaire disant qu'ils semblent être répétitifs - il s'agit d'une question d'opinion - en regardant simplement la liste, il semble qu'elle ait été créée ad hoc au fil des ans et ne semble pas être MECE. En effet, j'ai trouvé plusieurs personnes affirmant que la nécessité de différenciation entre certains des facteurs de forme ci-dessus n'est plus pertinente ou comprise (par exemple, voir ce bref résumé du sub notebook).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X