Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Windows CE — Wikipédia
Windows CE — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article contient une ou plusieurs listes (août 2020).

Ces listes gagneraient à être rédigées sous la forme de paragraphes synthétiques, plus agréables à la lecture, les listes pouvant être aussi introduites par une partie rédigée et sourcée, de façon à bien resituer les différents items.
D'autre part, Wikipédia n'a pas pour rôle de constituer une base de données et privilégie un contenu encyclopédique plutôt que la recherche de l'exhaustivité.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources (avril 2012).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?
Windows CE
Logo
Image illustrative de l’article Windows CE

Langues MultilingueVoir et modifier les données sur Wikidata
Type de noyau Noyau hybride
Plates-formes X86, architecture MIPS, architecture ARM, SuperH et PowerPCVoir et modifier les données sur Wikidata
Entreprise /
Développeur
MicrosoftVoir et modifier les données sur Wikidata
Licence EULAVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Première version 1.0 (16 novembre 1996)Voir et modifier les données sur Wikidata
Dernière version stable 8.0 (Embedded Compact 2013) (13 juin 2013)[1]Voir et modifier les données sur Wikidata
Site web msdn.microsoft.com/embeddedVoir et modifier les données sur Wikidata
modifier 

Windows CE (officiellement nommé Windows Embedded Compact depuis la version 6.0 - nom de code « Yamazaki »)[2],[3], parfois abrégé WinCE, est un système d'exploitation aujourd'hui obsolète, variante de Windows pour les systèmes embarqués et autres systèmes minimalistes, utilisée notamment dans les PC de poche ou Handheld. Il utilise un noyau distinct des autres Windows plutôt qu'une version allégée et supporte les architectures processeur Intel x86 et similaires, MIPS (jusqu'à CE 3.0), ARM et aussi Hitachi SH.

Windows CE est une branche d'OS à part, indépendante de la famille NT notamment. Il ne faut pas la confondre avec la famille Windows Embedded et notamment Windows XP Embedded, qui est une déclinaison, pour l'embarqué, de la famille NT/XP disponible uniquement pour architecture x86.

La sortie officielle de la dernière version, Windows Embedded Compact 2013, a eu lieu le 11 août 2013[4].

Windows CE est optimisé pour les appareils possédant une faible capacité de stockage - le noyau peut tourner avec moins d'un mégaoctet de mémoire vive. Les systèmes sont souvent produits sans disque de stockage et peuvent être pensés pour ne pas pouvoir être étendus (par exemple, le système peut être écrit en ROM). Windows CE est conforme à la définition d'un système d'exploitation temps réel. Il supporte 256 niveaux de priorité et procède par héritage de priorité pour éviter les problèmes d'inversion de priorité. À l'inverse des systèmes ressemblant à UNIX, l'unité fondamentale d'exécution est le thread permettant d'obtenir des programmes plus simples et plus rapides en concurrence.

Microsoft a indiqué que « CE » n'est pas un acronyme, mais beaucoup de personnes croient qu'il signifie « Consumer Electronics » ou « Compact Edition ». La première version, surnommée « Pegasus », proposait une interface graphique similaire aux autres Windows ainsi qu'un certain nombre de logiciels de Microsoft, tous allégés en capacité de stockage, mémoire et vitesse.

Depuis, Windows CE a évolué - d'après les documents de Microsoft - en un système d'exploitation basé sur des composants, embarqué et temps réel. Il n'est plus réservé aux seuls ordinateurs tenant dans la main. Beaucoup de plates-formes sont basées sur le cœur du système Windows CE telles que Microsoft's Handheld PC, Pocket PC, Pocket PC 2002 et Smartphone 2002.

Il est souvent indiqué que Windows CE 3.0 et Pocket PC sont la même chose, ou le Pocket PC est dérivé du successeur de Windows CE 3.0.

Le principal concurrent de ce système était Palm OS, lancé sur une plate-forme incompatible avec Windows CE.

Fonctionnalités

[modifier | modifier le code]

Généralités

[modifier | modifier le code]
  • Windows CE est prévu pour fonctionner sur des périphériques à faible empreinte mémoire. La taille d'une image système sans support graphique peut être de l'ordre du Mo. Il peut fonctionner sans support de stockage, exclusivement en RAM/ROM, etWindows CE est un système 32 bits pouvant fonctionner sur architecture ARM, x86, MIPS, SHx.
  • Windows CE répond aux contraintes d'un système temps réel avec un ordonnanceur préemptif à 256 niveaux de priorités fixes et un temps de latence des interruptions déterministe. Sous certaines conditions, un mécanisme d'inversion de priorité peut être pris en charge par l'OS. L'unité d'exécution est le thread mais Windows CE prend aussi en charge un environnement graphique basé sur une mécanique évènementielle (GWES - Graphic Windowing and Events Subsystem) et intégrant une couche GDI (Graphic Device Interface) allégée par rapport à celle disponible sur XP. Il est également compatible avec les modes de communication les plus connus tel que le bluetooth, l'IrDA, l'Ethernet, le Wi-Fi, le NDIS 5.1 et le TCP/IP

Nouvelles fonctionnalités en version 6.0

[modifier | modifier le code]
  • Les gestionnaires systèmes des systèmes de fichiers (anciennement filesys.exe), de l'environnement graphique (anciennement GWES.exe) et des pilotes périphériques (anciennement device.exe) migrent dans l'espace kernel et sont intégrés au noyau (nk.exe) sous la forme de DLL.
  • Nouveau modèle de mémoire virtuelle : les 4 Gio sont répartis en 2 Gio inférieurs pour l'espace utilisateur et 2 Gio supérieurs pour l'espace kernel (noyau). Chaque processus dispose d'une zone privée de 2 Gio remappée dans l'espace utilisateur.
  • Nouveau modèle de pilote de périphérique avec la distinction des pilotes chargés en mode user et en mode kernel.
  • La limite des 32 processus passe à 32 768 processus.
  • La limite des 32 Mio de mémoire virtuelle par processus passe à 2 Gio.
  • L'IDE Platform Builder est intégré à Microsoft Visual Studio 2005 ce qui permet ainsi le développement système et applicatif depuis un seul et même environnement.
  • Support du mode lecture seule pour le système de fichiers UDF 2.5.
  • Support du système de fichier exFAT.
  • Support des standards sans fil 802.11i (WPA2) et 802.11e (QoS).
  • Support radio.
  • Processeurs supportés : x86, ARM, SH4 et MIPS.
  • Nouveau composant Cellcore pour la gestion facilitée des connexions données et appels vocaux via un réseau cellulaire.

Outils de développement

[modifier | modifier le code]

Les outils de développements se répartissent en trois familles :

  • Développement système : Platform Builder.
  • Développement applicatif : Embedded VC, Visual Studio
  • Diagnostic et analyse : Remote tools.

Il existe également un compilateur croisé libre qui permet de développer des applications Windows CE à partir d'autres plateformes comme Linux, FreeBSD ou Mac OS X : CeGCC (dérivé de la famille des GCC)[5].

Platform Builder

[modifier | modifier le code]

C'est l'outil qui permet de générer l'OS. Il est livré avec un ensemble de codes sources et bibliothèques pré-construites qui constituent l'ensemble des fournitures nécessaires pour générer un système Windows CE. Cet outil permet donc de générer un OS mais c'est aussi l'environnement de développement de toutes les fonctionnalités systèmes, par exemple les pilotes additionnels. Cet outil permet aussi de fournir des BSP (Board Support Package) et des SDK (Software Development Kit) à destination des équipes de développement système et applicative respectivement.

Cet outil est apparu en version graphique avec CE 3.0 en 1999. Depuis la version 6.0 il n'est plus Stand-alone mais se présente comme un composant additionnel à Visual Studio 2005 (VS 8.0).

Embedded Visual C

[modifier | modifier le code]

C'est l'outil qui permet de faire du développement croisé en code natif pour les systèmes Windows CE depuis la version 3.0 jusqu'à la version 5.0. Depuis la version 6.0 de Windows CE, cet outil est remplacé par Visual Studio qui intègre dorénavant les compilateurs croisés.

Les correspondances de version de l'outil eVC avec Windows CE sont les suivantes :

  • eVC 3.0 pour Windows CE 3.0
  • eVC 4.0 pour Windows CE 4.0
  • eVC 4.0 sp1 pour Windows CE 4.1
  • eVC 4.0 sp2 pour Windows CE 4.2
  • eVC 4.0 sp4 pour Windows CE 5.0

Pour information, une version d'outil Embedded Visual Basic était disponible en version 3.0. Elle permettait de faire du développement en VB 6.0 pour Windows CE. Cet outil n'a pas été supporté au-delà de la version 3.0. Le développement en Visual Basic sur Windows CE est de nouveau possible via le support des technos .NET et Visual Basic 7.0 et plus.

Visual Studio

[modifier | modifier le code]

Depuis la version VS 2002 SDE il est possible de faire du développement managé (i.e. .NET) pour cible Windows CE et du développement natif depuis la version VS 2005.

La prise en charge de .NET sous Windows CE est assurée par une version allégée du Framework .Net: le Compact Framework .NET.

Visual Studio 2005 est donc, depuis Windows Embedded CE 6.0, l'environnement complet de développement aussi bien pour le système via le composant additionnel Platform Builder, que pour le développement applicatif natif (C/C++) ou managé (.NET)

Remote tools

[modifier | modifier le code]

Il s'agit d'un ensemble d'outils d'analyse permettant, via une connexion à une cible Windows CE, d'obtenir des informations sur le système :

  • ZoomIn : copie d'écran.
  • File Viewer : visualisation du système de fichier cible.
  • Registry Editor : visualisation de la base de registre cible.
  • System Infos : bilan des informations système.
  • Spy++ : espionnage de la messagerie Windows.
  • Heap Walker : suivi des allocations mémoire par analyse des tas des processus.
  • Process Viewer : listes des processus et threads actifs.
  • Call Profiler : analyse de l'arbre d'appel.
  • Performance Monitor : visualisation de l'évolution des métriques système.
  • Kernel Tracker : chronogramme de l'évolution de l'ensemble des objets noyaux.

Licence

[modifier | modifier le code]

Une licence de développement, sous forme d'un outil de génération d'images (Platform Builder), est nécessaire. Les images générées ne sont alors plus limitées à 120 jours. Par ailleurs, chaque appareil livré doit être doté d'une licence (Run time license), matérialisée par un autocollant. Aucune activation n'est prévue. Les licences peuvent être acquises auprès de distributeurs spécifiques et agréés par Microsoft, après signature d'un contrat d'acceptation des conditions.

Ouverture

[modifier | modifier le code]

Pour accélérer le développement d'applications compatible Windows CE, inciter au développement de matériel compatible, et ainsi gagner la confiance des constructeurs d'appareils électroniques, Microsoft a rendu public une partie du code de Windows CE. La consultation du code est possible après acceptation d'une licence spécifique (Share source license). Le programme de génération des Images CE est payant (Windows CE Platform Builder), avec une version d'évaluation pleinement fonctionnelle mais limitée à 120 jours (outil et image). Le développement d'applications nécessite des outils spécifiques comme embedded Visual C++, distribué gratuitement, ou des plug-ins intégrés à MS Visual Studio. Il n'est pas question de logiciel libre : les éditeurs ayant payé une licence peuvent modifier des copies de ce code source, et ne sont pas obligés de révéler à Microsoft leur propre code source. La redistribution n'est pas limitée : les éditeurs peuvent redistribuer des versions modifiées à des fins commerciales. Certains craignent la confusion avec le code open source propre au logiciel libre.

Windows Embedded CE 6.0, comme les versions précédentes, est livré avec une partie des codes source[6].

Historique et versions

[modifier | modifier le code]
Chronologie des versions de Windows CE
  • 1.0 : Windows CE1 est sorti pour la première fois en 1996 (nom de code « Pegasus »). Cette version n'offrait pas les fonctionnalités systèmes actuelles, en particulier au niveau de l'ordonnancement et de la gestion mémoire.
  • 2.0, 2.11, 2.12 : versions fondées sur l'architecture 1.0. Jusqu'à la version 2.12 l'ordonnancement était fondé sur un système à 8 niveaux de priorités variables. Windows CE n'était donc pas encore un système éligible pour le temps réel.
  • 3.0 : la première rupture technologique a lieu avec CE 3.0 en 1999 avec l'intégration d'un ordonnanceur préemptif à 256 niveaux de priorités fixes rendant Windows CE éligible en tant que système temps réel. Windows CE 3.0 marque aussi l'apparition des outils graphiques pour le développement système et applicatif.
  • 4.0, 4.1, 4.2 : sorties entre 2001 et 2003, support de fonctionnalités renforcées (communication, média, ...) et amélioration des outils de développement.
  • 5.0 : sortie fin 2004, le principe de gestion de la mémoire commence à devenir limite pour les systèmes fortement orientés multimédia et en particulier pour les appareils grand public fonctionnant sous Windows CE, à savoir les pocket PC et Smartphone. La réflexion est en cours pour une nouvelle architecture mémoire cependant aucune modification majeure n'est effectuée sur cette version. Windows CE 5.0 représente un système industriel dont l'architecture est stabilisée depuis sept ans.
  • 6.0 et 6.0R2 : Windows Embedded CE 6.0 marque la seconde rupture technologique dans cette famille d'OS. Cette fois l'architecture mémoire est révisée pour offrir le support de plus de 32 000 processus avec chacun 2 Go d'espace adressable, contre 32 processus avec 32 Mo d'espace adressable jusqu'à CE 5.0. Cette version marque le début d'un nouveau cycle pour l'architecture du système.

Dreamcast

[modifier | modifier le code]

Bien que le système d'exploitation principal de la console de jeux vidéo Dreamcast de Sega fut SegaOS, la Dreamcast était également compatible avec Windows CE. Bien que peu utilisé, celui-ci facilitait notamment le portage de jeux PC DirectX vers la console en un temps record. Il fut notamment utilisé pour le jeu Sega Rally 2. Cependant l'utilisation de Windows CE n'était pas obligatoire. En effet, la console utilisait SegaOS par défaut, et le système était éventuellement chargé si le jeu en question était un jeu Windows CE (identifié par la présence du logo « Powered by Windows CE », notamment au lancement du jeu), directement depuis le GD-ROM du jeu, la Dreamcast ne possédant pas Windows CE sur mémoire morte.

Lien avec Windows Mobile

[modifier | modifier le code]

L'offre Windows Mobile repose sur une version de Windows CE agrémentée d'un ensemble de fonctionnalités. De plus, l'architecture matérielle pouvant faire fonctionner une version Windows Mobile est déterminée par Microsoft. Ceci signifie que l'offre Windows Mobile peut être vue comme la fourniture d'un OS avec un ensemble de fonctionnalités mais aussi comme la spécification d'une architecture matérielle. Ainsi l'offre Mobile a toujours fonctionné sur processeur ARM jusqu'à présent.

En 1999 sort sur le marché le premier Pocket PC. Cet appareil est basé sur un OS Windows CE 3.0. Cette sortie marque le début de l'expansion de l'OS Windows CE via l'offre Mobile avec pour chaque génération de l'offre Windows Mobile une version de Windows CE sous-jacente :

  • SmartPhone 2002 (Windows Mobile 2002) : Windows CE 3.0
  • Windows Mobile 2003 : Windows CE 4.20
  • Windows Mobile 2003 SE : Windows CE 4.21
  • Windows Mobile 5.0 : Windows CE 5.1
  • Windows Mobile 6.0 : Windows CE 5.2
  • Windows Mobile 6.1 : Windows CE 5.2

Les versions Windows Mobile 5.0 et 6.x reposent donc sur une version dérivée de Windows CE 5.0. Les versions 5.1 et 5.2 sont réservées à l'offre Windows Mobile. De plus, bien que sortie après Windows Embedded CE 6.0 (novembre 2006), Windows Mobile 6.0 (février 2007) ne s'appuie pas sur cette nouvelle version.

Windows Embedded CE 6.0 est la base de Windows Phone 7 (nom de code « Photon »)[7]. Windows Phone 8 est une vraie cassure technologique car tournant pour la première fois sous le noyau NT dans une version ARM (projet « Experiment 19 ») et inaugurant WinPRT (Windows Phone RunTime) partageant un nombre croissant d'API avec WinRT disponible sur Windows 8.x et plus ainsi que Windows RT.

Notes et références

[modifier | modifier le code]
  1. ↑ « https://web.archive.org/web/20130616045552/http://www.microsoft.com/en-us/news/Features/2013/Jun13/06-13EmbeddedCompactGA.aspx »
  2. ↑ Microsoft renames Windows CE, sets CE 6.0 launch date
  3. ↑ Windows Embedded Homepage
  4. ↑ olprod, « Windows Embedded Compact 2013 », sur docs.microsoft.com (consulté le 25 novembre 2021)
  5. ↑ (en) « CeGCC, a cross compiler for Windows CE », SourceForge.net (consulté le 6 juillet 2009)
  6. ↑ MSDN Code Source Windows CE
  7. ↑ Blog Mike Hall

Annexes

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • Pocket PC (système d'exploitation)
  • Windows Mobile
  • Windows XP Embedded

Liens externes

[modifier | modifier le code]
  • Blog Olivier Bloch
  • Blog équipe système Windows CE
  • Blog équipe Windows Mobile
v · m
Microsoft Windows
MS-DOS
  • Windows 1.0
  • Windows 2.x
  • Windows 3.x
Logo de Windows 11.
Windows 9x
  • Windows 95
  • Windows 98
  • Windows Millennium
Windows NT
Premières versions
  • Windows NT 3.x
  • Windows NT 4.0
  • Windows 2000
Versions client
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows Phone 8
  • Windows 10
    • version mobile
  • Windows 11
Spécialisée
  • Windows Embedded
    • XP
    • 7
  • Windows PE
  • Windows RT
Windows Server Ce lien renvoie vers une page d'homonymie
  • Server 2003
  • Server 2008
    • R2
  • Home Server
  • Small Business
  • Essential Business
  • Server 2012
    • R2
  • Server 2016
  • Server 2019
  • Server 2022
  • Server 2025
Windows CE
  • Pocket PC
  • Windows Mobile
  • Windows Phone
Histoire de Microsoft Windows
v · m
Principaux systèmes d’exploitation
Apple
Mac OS Classic
  • Système 5
  • Système 6
  • Système 7
  • Mac OS 8
  • Mac OS 9
Dérivés de NeXTSTEP
  • NeXTSTEP
  • Rhapsody
  • Darwin
  • macOS
  • iOS
Dérivés de BeOS
  • BlueEyedOS
  • Haiku
  • ZETA
DOS
  • DR-DOS
  • FreeDOS
  • MS-DOS
  • PC-DOS
  • Open DOS
IBM
  • AIX
  • MVS
  • OS/2
  • OS/360
  • OS/390
  • z/OS
  • OS/400
Microsoft Windows
Fondés sur MS-DOS
  • 1.0
  • 2.x
  • 3.x
  • 95
  • 98
  • ME
Branche NT
  • NT 3.x
  • NT 4.0
  • 2000
  • XP
  • 2003
  • Vista
  • 2008
    • R2
  • 7
  • 2012
    • R2
  • 8 / 8.1
  • 2016
  • 10
  • 2019
  • 2022
  • 11
  • 2025
ReactOS Foundation
Branche NT (GPL/LGPL/AGPL) non-Microsoft
  • ReactOS
POSIX / Unix
AT&T / Laboratoires Bell
  • Unix version 6
  • Unix version 7
  • System III (en)
  • System V
BSD
  • FreeBSD
  • TrueOS
  • GhostBSD
  • DragonFly BSD
  • TrueNas
  • OpenBSD
  • NetBSD
GNU Hurd
  • Debian GNU/Hurd
  • Arch Hurd
Linux (liste)
  • Arch Linux
  • Calculate Linux
  • Debian
  • Gentoo
  • Manjaro
  • Linux Mint
  • openSUSE
  • PCLinuxOS
  • Puppy
  • RHEL
  • Slackware
  • SLE
  • Ubuntu
  • Raspberry Pi OS
  • Chromium OS/ChromeOS
Autres dérivés
  • AIX
  • Apache NuttX
  • ChorusOS
  • Fuzix OS
  • HP-UX
  • IRIX
  • Kylin
  • LynxOS
  • macOS
  • Minix
  • Oracle Solaris
  • QNX
  • Redox
  • Tru64
  • UNICOS
  • UnixWare
Dérivés d'AmigaOS
  • MorphOS
  • AROS
Dérivés du TOS
  • EmuTOS
  • FreeMiNT
  • Geneva
  • MagiC
  • MultiTOS
  • N.AES
D’importance historique
  • CP/M
  • CTSS
  • GCOS
  • Genera
  • ITS
  • Multics
  • Plan 9
  • QDOS
  • RSTS
  • TENEX
  • TOPS-20
  • VMS
  • SCO
Mobile
Noyau Linux
  • Android
  • Bada
  • Firefox OS
  • HarmonyOS
  • KaiOS
  • LG webOS
  • Sailfish OS
  • Tizen
  • Ubuntu Touch
Autres noyaux
  • BlackBerry OS
  • HarmonyOS
  • iOS
  • Palm OS
  • Symbian OS
  • Windows Phone
Embarqués
Pour capteur en réseau
  • Contiki
  • TinyOS
Pour carte à puce
  • Java Card
  • MULTOS
Temps réel
  • eCos
  • FreeRTOS
  • Linux embarqué
  • LiteOS
  • LynxOS
  • MenuetOS
  • NuttX
  • OS-9
  • PikeOS
  • pSOS
  • QNX
  • RTEMS
  • RTLinux
  • RT-Thread
  • RTX
  • µC/OS-II
  • VxWorks
  • Zephyr
Autres systèmes
  • eyeOS
  • Cisco IOS
  • Inferno
  • MenuetOS
  • KolibriOS
  • Orbis OS
  • CertiKOS
Pour une liste complète, voir la liste des systèmes d’exploitation et la catégorie « Système d’exploitation ».
  • icône décorative Portail de Microsoft
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Windows_CE&oldid=230133212 ».
Catégories :
  • Windows CE
  • Produit lancé en 1996
Catégories cachées :
  • Article à délister
  • Article manquant de références depuis avril 2012
  • Article manquant de références/Liste complète
  • Page utilisant P407
  • Page utilisant P400
  • Page utilisant P178
  • Page utilisant P275
  • Page utilisant P277
  • Page utilisant P348
  • Page utilisant P856
  • Article utilisant une Infobox
  • Article contenant un appel à traduction en anglais
  • Portail:Microsoft/Articles liés
  • Portail:Informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id