HyperCard
Un article de Wikipédia, l'encyclopédie libre.
HyperCard est un programme et un environnement de programmation simple développé par Apple qui ne fonctionne que sous Mac OS versions 9 et précédentes. Il ressemble un peu à un logiciel de bases de données, car il conserve des informations, mais à l'inverse des bases de données traditionnelles il est graphique, très flexible et trivialement facile à modifier quand on a compris la hiérarchie des piles. En plus, HyperCard inclut un langage de script, HyperTalk, puissant et facile à utiliser pour manipuler ces données.
Il fut commercialisé avec le Système 6 en 1987, et ne fut retiré de la vente qu'en mars 2004, bien que son développement ait été stoppé plusieurs années auparavant.
[modifier] Historique
Hypercard fut créé par Bill Atkinson avec l'accord qu'il serait fourni avec tous les Macs. À l'origine, il s'appelait WildCard pendant son développement.
Ce fut un succès immédiat. Personne n'avait jamais vu de logiciel similaire sur une autre machine. De nombreuses piles apparurent sur beaucoup de sujets, notamment en géographie, et plus généralement lorsque l'on voulait un didacticiel.
Apple elle-même ne semble pas avoir compris ce qu'était HyperCard. La direction vit qu'il était utilisé par un grand nombre de personnes, y compris en interne avec un flot de commentaires et de rapports de bogues. Cependant, le fait qu'il soit gratuit a grandement restreint le budget de son développement
Sous l'impulsion de Kevin Calhoun, la version 2.0, très améliorée, fut disponible fin 1989.
Mais à ce moment, Apple décida que tous les logiciels, y compris HyperCard devraient être gérés par leur division Claris. Beaucoup de développeurs refusèrent de changer de division, certains uniquement par principe. Claris rendit HyperCard payant et, pour garder la promesse de Bill Atkinson, développa une version qui ne permettait que de lire les fichiers HyperCard : HyperCard Player. Les gens durent donc à partir de ce moment se résoudre à payer ce qu'ils considéraient comme indissociable du Macintosh.
Claris continua le développement en ajoutant des améliorations mineures, comme pour colorier les piles, mais ne sortit jamais la version 3.0. Des jeux comme The Manhole et la première version de Myst étaient basés sur Hypercard. Puis deux ans après, le développement d'HyperCard revint à Apple.
Pendant cette période, la part de marché d'HyperCard commença à diminuer notamment en faveur de systèmes comme Authorware de Macromedia.
Il y eut plusieurs tentatives chez Apple pour relancer HyperCard. Le produit fut même rattaché au groupe QuickTime car il y avait une relation avec le multimédia. Une version 3.0 béta fut même présentée en 1996, qui présentait tout ce qu'il fallait comme la couleur, la connexion Internet et la possibilité d'être lisible dans un navigateur web sans effort. Pour plusieurs raisons, le produit ne fut jamais disponible et Kevin Calhoun, la véritable force derrière l'effort, quitta Apple en 2001.
Cela fut suffisant pour tuer le produit, après des années d'hésitations et de mauvaise gestion, dans une période où Apple avait de grosses difficultés financières.
HyperCard fut l'un des premiers produits qui faisait l'usage et popularisait le concept d'hypertexte. La concurrence du Web qui n'était pas limité par la capacité du disque dur aura finalement eu raison de ce qui inspira notamment HTTP et JavaScript.
D'autres sociétés furent rapides à voir le pouvoir d'HyperCard et offrirent leurs propres versions comme SuperCard et WinPlus sur Windows. Oracle acheta un clone multi-plateforme et rendit disponible OracleCard, renommé Oracle Media Objects, utilisé comme une base d'accès 4GL. Plus récemment, RunTime sortit le logiciel Révolution qui incorporait tout le langage HyperTalk, et améliorait en plus grandement ses possibilités.
[modifier] Description
HyperCard est basé sur le concept de piles de cartes virtuelles.
Les cartes sont composées globalement de deux objets :
- le fond
- les calques qui utilisent les outils graphique (boutons, champs, images, sons, etc.) du fond et ajoutent les leurs. Plusieurs niveaux autorisent ou non des modifications qui deviennent définitive ou l'état historique est sauvé comme une nouvelle carte.
Les utilisateurs peuvent construire des bases de données en ouvrant l'éditeur de fond et des éléments de dessin pour contenir les diverses pièces de données. Par exemple, un carnet d'adresse peut être construit simplement en ajoutant quelques champs de textes pour contenir le nom et l'adresse. Une fois complété l'utilisateur ajoute simplement une nouvelle carte (en tapant commande-n) et tape dans les champs. Le fond peut être changé à n'importe quel moment, ce que les systèmes traditionnels gèrent mal. Les opérations de base comme la recherche, l'ajout ou la suppression sont incluses dans l'environnement.
Le script dans le langage HyperTalk permet au système d’être facilement modifié et étendu dans un cadre limité. L'augmentation de la taille de la pile la rend de plus en plus lourde à manipuler pour l'ordinateur. Il y a plusieurs manières d'écrire une commande tout en langage anglais simple, écrire les chiffres soit en ordinal soit numériquement et tous les objets peuvent avoir un nom.
Ajouter des scripts était aussi facile. L'utilisateur simplement « option-cliquait » sur n'importe quel élément dans la pile et un éditeur apparaissait. Le script pouvait être édité, sauvé et utilisé immédiatement. HyperCard 2.0 ajouta un débogueur plutôt puissant et facile à utiliser.
La puissance d'HyperCard pouvait être augmentée significativement à travers l'utilisation de modules de commandes externes, ou XCMDs (petits fragments de codes en paquets dans une fourchette de ressources). Pendant la pointe de popularité de la fin des années 1980, de nombreux vendeurs proposaient des milliers de XCMDs comme des compilateurs, des systèmes graphiques, des accès de bases de données, connexion Internet et bien d'autres ...
HyperCard peut être utilisé pour toutes sortes d'utilisations hypertextes et artistiques. Avant la disponibilité de PowerPoint, il était aussi utilisé comme un logiciel de présentation.