Graphics Environment Manager
Le GEM (Graphics Environment Manager) est un environnement de bureau créé par Digital Research, inventeur du système d'exploitation CP/M (précurseur de MS-DOS). Le logo du GEM est une gemme (pierre précieuse) en référence au mot anglais.
Développé par | Digital Research |
---|---|
Première version | |
Dernière version | GEM/3 3.11 () |
Écrit en | C |
Formats lus | GEM Driver Definition (d), GEM Graph (v1.0) (d) et GEM Application (Intel) (d) |
Formats écrits | GEM Driver Definition (d), GEM Graph (v1.0) (d) et GEM Application (Intel) (d) |
Type |
Environnement de bureau Système de fenêtrage |
Licence | Licence publique générale GNU |
Site web | www.deltasoft.com |
Chronologie des versions
Il était disponible sur les plateformes Atari et PC. Sur la plateforme Atari, GEM était intégré au système d'exploitation TOS. Certains PC, notamment les machines fabriquées par Amstrad étaient vendus avec le GEM pré-installé.
Un procès intenté par Apple à Digital Research concernant un brevet sur les environnements graphiques (principalement l'usage de l'icône « poubelle ») obligea à en supprimer tout ce qui avait un équivalent chez Apple, tuant net le produit pour les PC. Microsoft n’avait pas encore commercialisé une version Windows exploitable, mais travaillait en collaboration avec Apple pour le portage de Multiplan-Dos vers Excel-Mac, et se trouva ainsi débarrassé d'un dangereux concurrent.
Atari continua à intégrer le GEM à ses machines et le fit évoluer au gré des évolutions techniques de ses produits. Microsoft adopta un profil bas pour ne pas encourir les foudres d'Apple, faisant de Windows jusqu'en 1995 une simple interface de présentation graphique sous un DOS monotâche, et non un OS à part entière.
Après le rachat de Digital Research par Caldera, le code source du GEM a été distribué sous les termes de la licence GPL[1]. Cette libération du code source a permis l'émergence de projets de logiciels libres dérivés.
Histoire
modifierLe GEM a commencé sa vie chez DRI comme une bibliothèque graphique à usage générique connue sous le nom GSX.
GSX était composée de deux parties : une sélection de routines de dessin indépendantes du matériel et les pilotes de périphériques destinés à l'affichage. La première était GDOS et la seconde GIOS. GDOS est une couche d'abstraction matérielle de dessin, GIOS reproduisant ces dessins sur du matériel (cartes graphiques, traceurs, imprimantes, pellicules photo).
GSX a évolué pour devenir l'interface graphique GEM.
Sous GEM, GSX est devenu la VDI (Virtual Device Interface), responsable des graphismes de base et des primitives de dessin. La VDI a également ajouté la possibilité de travailler avec plusieurs polices de caractères.
Un nouveau module, l'AES (Application Environment Services), a fourni les éléments de gestion de fenêtre et d'interface utilisateur, et GEM Desktop a utilisé les deux bibliothèques en combinaison pour fournir une interface graphique complète. La version 8086 de l'ensemble du système a été présentée pour la première fois au COMDEX de 1984.
Versions du GEM
modifierGEM/1
modifier![GEM 1.1](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Gem_11_Desktop.png/220px-Gem_11_Desktop.png)
GEM Desktop 1.0 est sorti le . GEM Desktop 1.1 a été libéré en , avec la prise en charge des affichages des cartes graphiques CGA et EGA. Une version pour la série F d' Apricot Computers, gérant une résolution de 640×200 avec jusqu'à 8 couleurs était également disponible en tant que GEM Desktop 1.2.
GEM/2
modifier![GEM2](http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/GEM2.png/220px-GEM2.png)
GEM/2 est publié en avec un support pour les écrans VGA. Il était similaire à GEM/1, sans la corbeille ni les animations graphiques, mais il incluait un certain nombre de corrections de bugs et d'améliorations cosmétiques.
Cette version du GEM prend en charge le mode VGA 640×480 en 16 couleurs.
GEM/3
modifier![Gem311about](http://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Gem311about.png/220px-Gem311about.png)
La dernière version commerciale était GEM/3 Desktop, publiée en , qui était livrée avec un certain nombre d'applications de base. Les ventes commerciales de GEM ont pris fin avec GEM/3 ; le code source a ensuite été mis à la disposition d'un certain nombre de clients de DRI.
Versions personnalisées
modifierGEM/4
modifierSorti en 1990, GEM/4 incluait la possibilité de travailler avec les courbes de Bézier, une fonctionnalité encore rare en dehors du monde PostScript. Cette version a été produite spécifiquement pour Artline, un programme de dessin de la société allemande CCP Development GmbH. Le système a également inclus des modifications du système de gestion des polices, ce qui l'a rendu incompatible avec Timeworks Publisher.
GEM/5
modifierUne autre version du GEM, appelée GEM/5 et publiée en 1988, a été produite par GST pour Timeworks Publisher 2.1. Elle contenait un look mis à jour avec des boutons 3D. La mise à l'échelle des polices à la volée était incluse. GEM/5 est livré complet avec tous les outils standards du GEM 3.1. Cette version a été produite à partir de GEM 3.13 avec seulement la gestion des courbes de Bézier empruntée à GEM/4.
ViewMAX
modifierArticle principal: ViewMAX (en)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Viewmax_screen_shot.png/220px-Viewmax_screen_shot.png)
ViewMax a été créé en 1990 à partir de GEM Desktop et utilisé uniquement comme un shell de gestion de fichiers sous DR-DOS, le programme ne peut pas exécuter d'autres programmes GEM.
En 1991, ViewMAX/2 est sorti.
Versions multitâche
modifierIl y a eu deux tentatives pour développer des versions multitâche du GEM, mais aucune d'entre elles n'a vu le jour. Cependant, le code source de GEM XM, renommé FreeGEM/XM, est maintenant disponible gratuitement sous les termes de la licence publique générale GNU.
X/GEM
modifierAu cours de cette période, DRI travaillait également à rendre le système GEM capable de multitâche. Cela a commencé avec X/GEM basé sur GEM/1, mais cela nécessitait l'utilisation de systèmes d'exploitation multitâche tels que FlexOS (en).
GEM XM
modifierGEM XM était une version mise à jour de GEM/2 qui permettait le multitâche et la possibilité d'exécuter des programmes DOS en basculant entre les tâches.
Versions sur Atari
modifierPar Atari
modifierArticle principal: Atari TOS
![TOS 4.92](http://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Tos492.png/220px-Tos492.png)
La version 68000 de GEM a vu le jour en quand Atari a envoyé une équipe appelée « The Monterey Group » chez Digital Research pour commencer à travailler sur le portage du GEM. À l'origine, l'objectif consistait à faire fonctionner GEM en plus de CP/M-68K, tous deux portés ostensiblement sur Motorola 68000 par DRI avant la création de la conception du ST. En fait, ces portages étaient inutilisables et auraient nécessité un développement considérable. Atari a finalement décidé d'abandonner le code existant et entrepris le portage du GEMDOS, un système d'exploitation de type DOS que DRI avait expérimenté à la place, en le renommant TOS.
Comme Atari avait fourni la majeure partie du développement de la version 68k, ils bénéficiaient de tous les droits sur les développements continus sans avoir besoin de rétrocéder la licence à DRI qui avait apparemment perdu tout intérêt pour la plate-forme 68000. En conséquence, le procès Apple-DRI ne s'appliquait pas aux versions Atari du GEM, et ils ont été autorisés à conserver une interface utilisateur plus semblable à celle du Mac.
Au cours des sept années suivantes, de 1985 à 1992, de nouvelles versions du TOS ont été publiées avec chaque nouvelle génération de la gamme ST. Les mises à jour incluaient la prise en charge de plus de couleurs et de résolutions plus élevées du côté raster du système, mais restaient généralement similaires à l'original en termes de prise en charge de la VDI.
En 1992, Atari a sorti le TOS 4 avec son dernier modèle d'ordinateur, le Falcon030, accompagné de la toute première - et unique - version du système MultiTOS sur disquettes. Celui-ci, installable sur disque dur, combine le noyau MiNT et l'AES 4.0 qui ont permis un support multitâche complet sous GEM.
En 1993, Atari diffusa la toute dernière version de l'AES 4.1 encore en développement au moment où l'entreprise s'apprêtait à abandonner le marché de la micro-informatique.
Le GEM, étant intégré en ROM, ne contenait que le pilote graphique utilisé par la VDI pour l'affichage sur écran. Afin de pouvoir gérer d'autres pilotes, la partie GDOS faisait l'objet d'un programme supplémentaire à charger depuis une disquette ou depuis le disque dur. Plusieurs versions se sont succédé : GDOS, AMC-GDOS, Font-GDOS, FSM-GDOS et enfin SpeedoGDOS 4.
D'autres éditeurs
modifierAfin de proposer des évolutions par rapport aux composants figés en ROM, certains composants de substitution ont été redéveloppés par des éditeurs de logiciel.
- La VDI a avantageusement été remplacée par NVDI, de Behne & Behne, plus rapide et intégrant GDOS pour permettre le chargement de différents pilotes de périphériques ;
- De nouveaux AES, tels que N.AES de woller systeme, ou Geneva, de Gribnif, ont ajouté des fonctionnalités importantes comme le multitâche ;
- La partie GDOS a également été proposée par Codehead avec G-Plus ou par Compo Software avec SpeedoGDOS 5 ;
- Enfin, le bureau par défaut peut aussi être remplacé par des bureaux dits « alternatifs » tels que Thing, Teradesk ou beaucoup d'autres, tant commerciaux que gratuits.
Développement des versions GPL
modifierCaldera Thin Clients (plus tard connu sous le nom Lineo) a publié le code source du GEM sous les termes de la licence publique générale GNU (GPL) en .
FreeGEM
modifierArticle principal: FreeGEM
![OpenGEM 5](http://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Gem1.png/220px-Gem1.png)
Le développement du GEM pour PC se poursuit sous le nom FreeGEM et est intégré dans des distributions comme par exemple OpenGEM.
EmuTOS
modifierArticle principal: EmuTOS
![EmuTOS 1.0](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/EmuTOS_1.0.png/220px-EmuTOS_1.0.png)
Sur la plate-forme Atari ST, les sources originales de DRI ont été portées à nouveau pour être utilisées dans un clone du TOS gratuit et open source nommé EmuTOS.
Autres implémentations
modifierSur Atari uniquement, de nouvelles implémentations de la VDI sont apparues telles que fVDI. La partie AES du GEM a aussi été réécrite à partir de zéro sous la forme de XaAES et de MyAES, toutes deux entièrement réentrantes et prenant en charge le multitâche grâce à FreeMiNT, une extension du TOS apportant une compatibilité Unix.
Description
modifierLe système GEM « complet » se composait de trois parties principales:
- GEM VDI (Virtual Device Interface, interface de périphérique virtuelle)
- GEM AES (Application Environment Services, services d'environnement d'application)
- GEM Desktop (une application permettant la gestion des fichiers par glisser-déposer)
La VDI était le système graphique de base du moteur global du GEM. Elle était responsable du dessin de « bas niveau » sous la forme de « tracer une ligne d'ici à ici ». La VDI définit la résolution graphique et offre un ensemble indépendant d'instructions de dessin vectoriel qui sont appelées par les applications via une interface assez simple. La VDI comprenait également des informations sur l'environnement (état ou contexte), la couleur actuelle, l'épaisseur de la ligne, le périphérique de sortie, etc.
Ces commandes sont ensuite envoyées au GDOS, dont la tâche consistait à envoyer les commandes au bon pilote pour le rendu effectif. Par exemple, si un environnement VDI GEM particulier était connecté à l'écran, les instructions VDI étaient ensuite acheminées vers le pilote d'écran pour le dessin. Le simple fait de changer l'environnement pour pointer vers l'imprimante était tout ce qui était nécessaire (en théorie) pour imprimer, réduisant considérablement la charge de travail du développeur (ils devaient auparavant faire l'impression « à la main » dans toutes les applications). GDOS était également responsable du chargement des pilotes et des polices demandées lors du premier chargement du GEM.
L'un des principaux avantages offerts par la VDI était la façon dont plusieurs périphériques et contextes étaient gérés, le GDOS créant un ensemble d'informations spécifique au périphérique, la « station de travail », et créant des « stations de travail virtuelles » pour chaque application.
GEM AES fournit le système de fenêtrage, la création de formulaires et la gestion des menus, le style d'interface utilisateur et d'autres éléments graphiques (widgets). Pour des raisons de performances, de nombreux widgets d'interface graphique ont été réellement dessinés à l'aide de caractères issus de la table ASCII. Comparé au Macintosh, l'AES a fourni un look plutôt spartiate et le système livré avec une seule police à espacement fixe.
L'AES effectue ses opérations en appelant la VDI, mais dans un sens plus général les deux parties du GEM étaient souvent complètement séparées dans les applications. Ces dernières appellent les fonctions de l'AES pour créer de nouvelles fenêtres et utilisent les appels à la VDI pour dessiner à l'intérieur de ces fenêtres.
Le Bureau GEM était un programme d'application qui utilisait l'AES pour fournir un gestionnaire de fichiers et un lanceur de programmes, l'environnement de bureau traditionnel pour manipuler les fonctions de l'ordinateur graphiquement. Contrairement au Macintosh, le bureau GEM était basé sur DOS (MS-DOS, DOS Plus ou DR-DOS sur PC, GEMDOS sur Atari), mais alors qu'il fallait le démarrer sur PC de la même manière qu'il fallait lancer Windows, la version Atari était intégrée au système et démarrait directement.
Types de fichiers liés à GEM
modifierFichiers de données
modifierLes extensions de noms de fichiers suivantes indiquent des contenus utilisables par le GEM.
- .RSC
- fichier de ressource d'une application, contenant la description des interfaces. On avait ainsi une séparation du traitement et de l'interface, ce qui facilite par exemple la localisation des programmes.
- .IMG
- fichier image bitmap
- .GEM
- métafichier, fichier de dessin vectoriel GDOS
- .FNT
- fichier de police de caractères GDOS
Fichiers exécutables
modifierLes extensions de noms de fichiers suivantes indiquent que les fichiers sont des programmes.
- .TOS
- programme n'utilisant pas GEM (sur plateforme Atari)
- .TTP
- programme n'utilisant pas GEM, prenant des paramètres en entrée (acronyme de "TOS Takes Parameters"), sur plateforme Atari
- .APP
- programme utilisant GEM (plateformes PC et Atari)
- .PRG
- programme utilisant GEM (plateforme Atari)
- .GTP
- programme utilisant GEM, avec des paramètres (acronyme de "GEM Takes Parameters"), sur plateforme Atari
La mention avec des paramètres signifie qu'avant le lancement du programme, une boîte de dialogue apparaît pour permettre la saisie de ces paramètres. Ce fonctionnement pallie l'absence d'un interpréteur de commandes.
Applications GEM
modifierVoir aussi
modifierRéférences
modifier- (en) « Gem, the GUI that beat Windows to market, goes open source », sur The Register,
Articles connexes
modifierLiens externes
modifier- (en) Intel GEM, site contenant de nombreuses informations sur le GEM (version Intel) : documentations, logiciels, etc.
- (en) INFO : GDOS, un descriptif complet de GDOS.
- (en) Frequently Asked Questions About Fonts - Atari File Formats, cette section d'une foire aux questions évoque les différentes versions de GDOS.
- (en) 2B Home, le site de NVDI.
- (en) opengem-sdk