Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Windows Embedded : Microsoft adapte sa gamme d'OS embarqués à un secteur en forte expansion
Et riche en opportunités pour les développeurs

Le , par Gordon Fowler, Expert éminent sénior
Dans la famille Windows, les noms de XP, Vista, 7, Server ou même Azure sont certainement plus connus que « Embedded ».

Il faut dire que les déclinaisons embarquées de Windows sont à elles seules une gamme complète dans laquelle il peut être souvent assez difficile de s'y retrouver. Pourtant, les développeurs auraient tort de se décourager, tant les déclinaisons de Windows Embedded couvrent un nombre impressionnant de besoins allant du terminal mobile durci (lecteur de code barre avec écran par exemple) à la robotique en passant par les boîtiers multimédias.

Lors des TechDays 2011, Myriam Sémery, Responsable Marketing Windows Embedded Europe du Sud, est revenue pour Développez sur les différents OS qui se composent l’appellation générique « Windows Embedded ».

Les OS embarqués de Microsoft sont en fait divisés en trois catégories :

Une première catégorie « modulaire » qui est la plus souple. Elle offre au développeur la liberté de customiser son O/S grâce à des outils qui permettent de sélectionner les composants de l’O/S :
  • Windows Embedded Standard 7 qui s’appuie sur un Windows 7 « grand public »
  • Windows Embedded Compact 7 (nouvelle génération Windows CE ) OS entièrement conçu pour l’embarqué et qui épouse un panel plus large de processeurs ( ARM, MIPS et X86 ) et qui intègre des fonctions de temps réel

Une deuxième catégorie « verticalisée » qui offre des O/S optimisés pour des environnements/terminaux spécifiques :
  • Windows Embedded PosReady : pour les terminaux Point de Service ( caisses enregistreuses ou bornes interactives )
  • Windows Embedded Handheld : pour les terminaux Mobiles d’entreprise
  • Windows Embedded Automotive : pour l’info-divertissement à bord des véhicules

Une troisième catégorie « O/S grand public » regroupé dans la famille Windows Embedded Entreprise. Ce sont des versions complètes de Windows 7, Vista ou XP. Le développeur installe un Windows entier mais un contrat de licence spécifique à l’embarqué restreint l’usage à une fonction ou application dédiée.

Une fois ces trois distinctions faites, la gamme Windows Embedded devient beaucoup plus lisible :


NB : Les solutions verticales Automotive s'appuient sur Windows CE, POS Ready sur Windows 7 ou XP Pro

Cette diversité n'en forme cependant pas moins « une plateforme unique » très familière pour les développeurs .NET puisque les technologies et les outils sont les mêmes (Visual Studio).

« Contrairement à ce que l'on pense, il est moins coûteux de déployer Windows Embedded qu'un Android ou un autre Linux », explique Charlie Grabiaud, ingénieur système chez Microsoft. « Le coût de la licence est très rapidement économisé avec les facilités de développements et de mises à jour que n'auront pas une autre plate-forme. Souvent, il faudra plusieurs semaines pour ajouter par exemple un nouveau Widget à une box multimédia embarquant du Linux ». Contre quelques jours avec Windows et .NET.

Autre avantage évoqué par Charlie Grabiaud, les interfaces riches et ergonomiques qui accompagnent les tendances actuelles sont très facilement réalisables, grâce à des technologies comme Silverlight.

Les nouvelles versions des OS embarqués de Microsoft n'accompagnent pas ces tendances du marché qu'au niveau de l'UI. Pour répondre aux nouveaux besoins exprimés par les constructeurs et par les utilisateurs, le nouveau Windows CE 7 lancé le 1er Mars à Embedded World sous le nom de Compact 7 facilite la connectivité (Wifi, Bluetooth, etc.) et améliore ses performances avec notamment l'arrivée de l'accélération matérielle (OpenGL 2ES) ou le support du multi-core, et de l’architecture ARM V7.

Pour Myriam Sémery, la branche Embedded de Windows est « une entité en forte croissance avec l’explosion du nombre de terminaux embarqués connectés sur le marché ».

Box (ou Set-top Box), télévisions connectées, domotiques (qui peut être gérée depuis... une télévision connectée) et appareils intelligents (machines à laver qui calculent les meilleures heures pour limiter la consommation électrique, etc.), le marché des systèmes embarqués est en effet en pleine expansion.

« Certains de nos marchés sont matures mais bénéficient encore d’un potentiel de croissance intéressant, comme celui des automatismes industriels et de la grande distribution. Le marché des terminaux embarqués médicaux et du green IT sont eux en très forte expansion », explique Myriam Sémery.

Une progression qui s'explique aussi par la montée en puissance des systèmes électroniques embarqués de plus en plus présents dans les objets de notre vie quotidienne (GPS, voitures « intelligentes », etc.) et par la démocratisation de la robotique. Robotique dont les premiers appareils grand public arrivent dans les magasins avec, par exemple, des robots aspirateurs autonomes.


Samsung Vacuum Cleaner sous Windows Embedded CE

« Un autre exemple intéressant basé sur Windows Embedded CE, est le système d'accompagnement au sommeil de la société Zyken. Night Cove a été élaboré en s’appuyant sur le résultat d’ études médicales sur le sommeil. Le système met en pratique les enseignements des chercheurs en faisant varier la luminosité et l’environnement sonore suivant les phases d’endormissement pour favoriser une meilleure récupération », explique Myriam Sémery pour illustrer l'évolution des champs d'application de l'embarqué.

Zyken Night Cove

Un secteur en plein essor donc. Mais un type de développement encore trop peu connu par la communauté.
Pourtant les opportunités sont nombreuses.

Très nombreuses, même.


Exemples d'appareils tournant sous Windows Embedded


Ressources sur Développez :

Pour se familiariser avec ce type de développement, Microsoft propose un ensemble d'outils gratuits :

Windows Embedded Standard 7 en version d'évaluation disponible gratuitement

Livre Blanc sur Windows Embedded Standard 7 pour tout savoir sur l'OS embarqué fondé sur Windows 7

Livre blanc gratuit : « L'Environnement Personnalisable dans Windows Embedded 7 »

Livre Blanc : « Sécuriser votre image personnalisée du système d'exploitation sous Windows Embedded Standard 7 »

Et vous ?

Avez-vous déjà développé des applications embarquées ? Dans quel contexte ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Nathanael Marchand Nathanael Marchand - Rédacteur http://www.developpez.com
le 12/03/2011 à 14:40
Citation Envoyé par ProgVal  Voir le message
Elles sortent d'où ces statistiques ? C'est vraiment le genre de chiffres à
qui ont peut faire dire tout ce que l'on veut.

En plus, je ne vois absolument pas l'intérêt d'utiliser un système
d'exploitation, même épuré, sur les appareils embarqués. Je suis un fervent
partisan de GNU/Linux, mais j'ai récemment eu besoin de programmer une carte
électronique en C# .NET (langage que je n'avais jamais expérimenté auparavant),
sans Windows ni aucun système d'exploitation quel qu'il soit ; ça a été une
expérience très enrichissante, et très accessible pour mon niveau de lycéen.

EDIT : pourquoi est-ce qu'il n'y a pas de source à cette news ?

Euh? Mais tout a un système d'exploitation, même minimaliste! Du reveil, à la voiture en passant par le distributeur de billet et la télé!
Ensuite l'interet que ca soit du Windows (Embedded ou non) c'est que sur toute ma flotte (du panneau de pub, ma caisse enregistreuse, mes serveurs, etc) j'utilise les mêmes outils, les mêmes technos, j'ai les mêmes developpeurs, j'ai une cohérence d'architecture. Je dis pas que les technos Microsoft sont les meilleurs la dessus(chacun est libre de le penser ou pas) mais au moins elle réponde à cette problématique.
L'idée n'est pas d'avoir réussi à mettre un OS qui n'était pas prévu pour sur un device... C'est bien pour un exploit mais c'est pas une solution pérenne pour une entreprise (quid du support, des maj, etc)
Avatar de ProgVal ProgVal - Membre éclairé http://www.developpez.com
le 12/03/2011 à 14:45
Citation Envoyé par PitMaverick78  Voir le message
Euh? Mais tout a un système d'exploitation, même minimaliste! Du reveil, à la voiture en passant par le distributeur de billet et la télé!

Il y a une différence entre le "système d'exploitation" de mon réveil et un
Windows que l'on a amputé des parties inutiles.

Citation Envoyé par PitMaverick78  Voir le message
Ensuite l'interet que ca soit du Windows (Embedded ou non) c'est que sur toute ma flotte (du panneau de pub, ma caisse enregistreuse, mes serveurs, etc) j'utilise les mêmes outils, les mêmes technos, j'ai les mêmes developpeurs, j'ai une cohérence d'architecture.

Pas la peine d'avoir un système d'exploitation pour ça. Les deux framework .NET
allégés sont largements suffisants.

Citation Envoyé par PitMaverick78  Voir le message
L'idée n'est pas d'avoir réussi à mettre un OS qui n'était pas prévu pour sur un device... C'est bien pour un exploit mais c'est pas une solution pérenne pour une entreprise (quid du support, des maj, etc)

Tu vas me dire que Windows était prévu pour aller sur de l'embarqué ?
Au regard du support extrêmement récent des processeurs ARM par Windows
(qui est disponible pour Debian depuis au moins dix ans, ansi que nombre
d'autres architectures), je ne pense pas qu'on puisse considérer ça comme un
support natif.
Avatar de Nathanael Marchand Nathanael Marchand - Rédacteur http://www.developpez.com
le 12/03/2011 à 15:05
Citation Envoyé par ProgVal  Voir le message
Il y a une différence entre le "système d'exploitation" de mon réveil et un
Windows que l'on a amputé des parties inutiles.

Ca reste deux système d'exploitations. Quelle différence entre un Windows sans interface graphique et un Linux sans interface graphique finalement? As tu fait une comparaison d'une install des deux? (Pas une install desktop hein)

Citation Envoyé par ProgVal  Voir le message
Pas la peine d'avoir un système d'exploitation pour ça. Les deux framework .NET
allégés sont largements suffisants.

Euh? Sais tu ce qu'est .Net ? C'est une surcouche managée des API Win32. Alors ok, Mono reprend la même syntaxe pour faire une surcouche des API Linux. Mais pas de Windows, pas de .Net!

Citation Envoyé par ProgVal  Voir le message
Tu vas me dire que Windows était prévu pour aller sur de l'embarqué ?
Au regard du support extrêmement récent des processeurs ARM par Windows
(qui est disponible pour Debian depuis au moins dix ans, ansi que nombre
d'autres architectures), je ne pense pas qu'on puisse considérer ça comme un
support natif.

Oui! Pas le Windows Desktop, mais des versions particulières... Bien souvent les caisses de grands magasins, les distributeurs de billets, les panneaux SNCF sont sur du windows... N'as tu jamais vu un BSOD sur ces dispositifs?
http://media.paperblog.fr/i/76/76125...-sncf-L-1.jpeg
http://trauma-team.com/wp/wp-content...1/bsod-atm.jpg
La dernière fois que je suis allé au ciné j'ai du double cliquer sur l'icone du programme de vente de billet sur le bureau car l'automate avait planté
D'aure part, il y'avait par exemple un support officiel de la Sega Dreamcast (début 2000 donc) qui n'est pas un un x86 avec Windows CE (qui gère aussi l'ARM).

Edit: Des 1997 il y'avait un support des architectures suivantes: ARM, MIPS, PowerPC, StrongARM, SuperH and x86.
Avatar de ProgVal ProgVal - Membre éclairé http://www.developpez.com
le 12/03/2011 à 15:47
Citation Envoyé par PitMaverick78  Voir le message
Ca reste deux système d'exploitations. Quelle différence entre un Windows sans interface graphique et un Linux sans interface graphique finalement? As tu fait une comparaison d'une install des deux? (Pas une install desktop hein)

Qu'un Windows sans interface graphique, c'est plus ou moins une amputation
du Windows "de base", alors que GNU/Linux n'a pas d'interface graphique,
à l'origine.
J'ai déjà fait de nombreuses installations (surtout de Debian) sur de multiples
cibles : beaucoup de desktops, mais aussi des serveurs (en machine virtuelle),
voire sur mon androphone. J'avoue que ça ne fait pas une bien grande
expérience, mais il me reste encore du temps pour régler ça ^^

Par contre, Windows, je n'ai rien installé d'autre que des versions desktop,
ainsi qu'un Windows 2008 Server dans une machine virtuelle (j'avais besoin
d'un Windows en VM, et le 2008 Server est gratos). Je n'en ai pas fait plus,
faute d'envie et de moyens.

Citation Envoyé par PitMaverick78  Voir le message
Euh? Sais tu ce qu'est .Net ? C'est une surcouche managée des API Win32. Alors ok, Mono reprend la même syntaxe pour faire une surcouche des API Linux. Mais pas de Windows, pas de .Net!

Pour le framework .NET classique, oui. Mais la version Compact et la version
Micro sont faites pour de l'embarqué, et n'utilisent pas Windows.

Ce n'est pas parce qu'un framework a été écrit pour servir d'interface avec
une API qu'il est *obligé* de s'appuyer sur cette API. Je vais par exemple
citer la glibc, conçue pour s'appuyer sur l'API de Linux, et qui a été portée
sur l'API du noyau de FreeBSD (googler Debian GNU/kFreeBSD pour plus
d'informations)

Citation Envoyé par PitMaverick78  Voir le message
Oui! Pas le Windows Desktop, mais des versions particulières... Bien souvent les caisses de grands magasins, les distributeurs de billets, les panneaux SNCF sont sur du windows... N'as tu jamais vu un BSOD sur ces dispositifs?

Pas faux... même si je doute que ce soit le cas des caisses classiques.

Citation Envoyé par PitMaverick78  Voir le message
D'aure part, il y'avait par exemple un support officiel de la Sega Dreamcast (début 2000 donc) qui n'est pas un un x86 avec Windows CE (qui gère aussi l'ARM).

Certes, mais ça reste minime.

Citation Envoyé par PitMaverick78  Voir le message
Edit: Des 1997 il y'avait un support des architectures suivantes: ARM, MIPS, PowerPC, StrongARM, SuperH and x86.

Encore valable aujourd'hui ?
Avatar de Nathanael Marchand Nathanael Marchand - Rédacteur http://www.developpez.com
le 12/03/2011 à 16:37
Citation Envoyé par ProgVal  Voir le message
Qu'un Windows sans interface graphique, c'est plus ou moins une amputation
du Windows "de base", alors que GNU/Linux n'a pas d'interface graphique,
à l'origine.
J'ai déjà fait de nombreuses installations (surtout de Debian) sur de multiples
cibles : beaucoup de desktops, mais aussi des serveurs (en machine virtuelle),
voire sur mon androphone. J'avoue que ça ne fait pas une bien grande
expérience, mais il me reste encore du temps pour régler ça ^^

Par contre, Windows, je n'ai rien installé d'autre que des versions desktop,
ainsi qu'un Windows 2008 Server dans une machine virtuelle (j'avais besoin
d'un Windows en VM, et le 2008 Server est gratos). Je n'en ai pas fait plus,
faute d'envie et de moyens.

Non, la couche graphique n'est qu'optionelle sur un Windows! (Pour preuve les installations Core de Windows Server qui n'ont pas d'interface graphiques)

Citation Envoyé par ProgVal  Voir le message
Pour le framework .NET classique, oui. Mais la version Compact et la version
Micro sont faites pour de l'embarqué, et n'utilisent pas Windows.

Ce n'est pas parce qu'un framework a été écrit pour servir d'interface avec
une API qu'il est *obligé* de s'appuyer sur cette API. Je vais par exemple
citer la glibc, conçue pour s'appuyer sur l'API de Linux, et qui a été portée
sur l'API du noyau de FreeBSD (googler Debian GNU/kFreeBSD pour plus
d'informations)

Concernant le CF:
http://msdn.microsoft.com/fr-fr/library/ms172550.aspx
Uniquement du Windows

Pour le Micro c'est effectivement autre chose.

Citation Envoyé par ProgVal  Voir le message
Pas faux... même si je doute que ce soit le cas des caisses classiques.

Et pourtant! Tu serais surpris... J'avais été contacté par un des leaders mondiaux sur tout ce qui est borne interactive, panneaux d'affichages, de pubs, etc. La plupart de leurs solutions étaient du .Net

Citation Envoyé par ProgVal  Voir le message
Encore valable aujourd'hui ?

Ben cf la news...
Citation Envoyé par La News
Windows Embedded Compact 7 (nouvelle génération Windows CE ) OS entièrement conçu pour l’embarqué et qui épouse un panel plus large de processeurs ( ARM, MIPS et X86 ) et qui intègre des fonctions de temps réel

Avatar de ProgVal ProgVal - Membre éclairé http://www.developpez.com
le 12/03/2011 à 16:50
Citation Envoyé par PitMaverick78  Voir le message
Concernant le CF:
http://msdn.microsoft.com/fr-fr/library/ms172550.aspx
Uniquement du Windows

On peut vraiment appeler ça du Windows, quand il en reste si peu ?
Avatar de Nathanael Marchand Nathanael Marchand - Rédacteur http://www.developpez.com
le 12/03/2011 à 17:12
Citation Envoyé par ProgVal  Voir le message
On peut vraiment appeler ça du Windows, quand il en reste si peu ?

Contrairement à la croyance populaire, Windows est et a toujours été une famille de systèmes d'exploitations qui couvre une gamme de devices assez large. C'est pas que du desktop comme Windows 7...
Ca serait comme limiter Linux à un Ubuntu... Même si c'est ce qu'un End-User voit.
Avatar de ProgVal ProgVal - Membre éclairé http://www.developpez.com
le 12/03/2011 à 17:15
Content d'avoir appris quelque chose

Encore une petite question au passage : tous les Windows Server ont-ils
forcément une interface graphique ? Si oui, sont-ils quand même utilisable
avec seulement de la console ?
Avatar de Nathanael Marchand Nathanael Marchand - Rédacteur http://www.developpez.com
le 12/03/2011 à 17:26
Citation Envoyé par ProgVal  Voir le message
Content d'avoir appris quelque chose

Encore une petite question au passage : tous les Windows Server ont-ils
forcément une interface graphique ? Si oui, sont-ils quand même utilisable
avec seulement de la console ?

Il me semble que toutes les versions sauf la Web sont installables en Core (c'est à dire en ligne de commande). En core, il n'y a qu'une ligne de commande et Powershell est beaucoup utilisé pour la configuration.
Avatar de Arnard Arnard - Membre chevronné http://www.developpez.com
le 14/03/2011 à 9:46
windows pour ce qui est outil de vente se nomme Windows POS (Point Of Sale), et peut couvrir les caisses enregistreuses, les systèmes de ventes automatiques (distribution de journaux...)...
Avatar de Gordon Fowler Gordon Fowler - Expert éminent sénior http://www.developpez.com
le 14/03/2011 à 11:59
Citation Envoyé par ProgVal  Voir le message
EDIT : pourquoi est-ce qu'il n'y a pas de source à cette news ?

Bonjour,

"Lors des TechDays 2011, Myriam Sémery, Responsable Marketing Windows Embedded Europe du Sud, est revenue pour Développez..."

Autrement dit la source, c'est l'interview que j'ai faite de cette responsable qui a accepté de répondre aux questions de Développez. C'est ce qu'on appelle un "contenu exclusif"

Cordialement,

Gordon
Offres d'emploi IT
Développeur javaSE continuous delivery h/f
Margoconseil - Ile de France - Paris (75000)
Ingénieur système linux/unix h/f
Sogeti - Midi Pyrénées - Toulouse (31000)
Ingénieur études et développement .net h/f
ELANZ - Auvergne - Cournon (56200)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil