Petit catalogue des principales ressources Ada disponibles sur/via Internet
(hors compilateurs)


Ce catalogue n'a pas la prétention de recenser toutes les ressources disponibles; il présente plutôt une sélection de ce qui nous a paru le plus intéressant, original, ou qui répond aux questions les plus fréquentes (avec un léger favoritisme pour les sites francophones). Pour des catalogues plus exhaustifs, voyez les sites d'information générale ci-dessous. N'oubliez pas non plus qu'il existe des ressources commerciales !

Rappelons que la plupart de ces ressources figurent sur les CD-Rom Ada.

Informations générales

Centres d'information 
AdaPower  Le meilleur et le plus dynamique des sites "généralistes". Il héberge un grand nombre de ressources Ada, dont l'"Ada Source Code Treasury" qui rassemble des FAQ, des exemples, des modèles de code... Intéressant du point de vue pédagogique comme du point de vue de la réutilisation. (en anglais)
AdaDeveloper Un site qui contient sous une forme relativement synthétique un grand nombre de liens utiles, ainsi que (c'est son originalité) une base de jobs offerts aux programmeurs Ada. (en anglais).
ARA Site de l'Ada Resource Association, consortium des vendeurs de produits liés à Ada. Liste des compilateurs validés, standards, bindings... (en anglais) 
ACAA Site de l'Ada Conformity Assesment Authority, ou plus simplement, des responsables de la validation. On y trouve toutes les informations sur le processus de validation, la suite de tests, et la base de donnée des problèmes (Ada Issues) de définition du langage. Cette dernière n'est intéressante que pour les gourous ou ceux qui veulent le devenir... (en anglais) 
Ada resources for Education Page spécialement dédiée aux besoins des étudiants et éducateurs (en anglais).
GNU-Ada Page consacrée à tous ceux qui s'intéressent à l'utilisation et/ou au développement d'outils Ada dans le contexte GNU pour Linux, DOS et SCO. Contient entre autres des versions de GNAT et des principaux composants logiciels sous forme de rpm. (en anglais)
ASSET Un gigantesque catalogue de composants, gratuits ou non. Suivre "Freeware", et ensuite les diverses rubriques Ada. Chaque composant est muni d'une fiche descriptive très précise, et peut être téléchargé directement. (en anglais)
Home of Brave Ada Programmer Anciennement site de référence, il est aujourd'hui à l'abandon... Il contient toujours beaucoup de références intéressantes, mais attention, de nombreuses choses sont périmées. (en anglais) 
Ada Inside Une liste, qui ne saurait être exhaustive, mais impressionnante, de projets utilisant Ada. (en anglais) 
ISO WG9 La page de référence du groupe de normalisation international pour Ada. Documents, références, etc. concernant le langage et les standard annexes.
Stages Ada Cette page, offerte par Ada-France, permet d'enregistrer et de visualiser les offres de stage faisant référence à Ada.

 

Groupes d'utilisateurs
Ada-France Groupe des utilisateurs français d'Ada. Pour connaître les activités d'Ada-France, vous inscrire à la liste de diffusion, et avoir d'autres informations sur Ada en français. 
Ada-Belgique Groupe des utilisateurs belges d'Ada (en anglais!).
Ada-Europe Fédération européenne des groupes d'utilisateur d'Ada, à laquelle est affilié Ada-France(en anglais). Elle organise notamment une conférence annuelle.
Ada-Malaisie Groupe des utilisateurs malaisiens d'Ada (en anglais). Il y a en particulier quelques très belles "success stories" !
Ada-Russia Groupe des utilisateurs russes d'Ada (en russe!)
Ada-UK Groupe des utilisateurs anglais d'Ada (en anglais, of course)
SIGAda Groupe des utilisateurs américains d'Ada (en américain :-)

 

Newsgroups
comp.lang.ada Groupe de discussion le plus général sur Ada, en anglais. Les plus célèbres gourous Ada se feront un plaisir d'y répondre à vos questions. Mais le nombre de messages est important, et les discussions dégénèrent parfois...
fr.comp.lang.ada Equivalent francophone du groupe ci-dessus. Le trafic y est plus modéré, mais vous y trouverez toujours des bonnes volontés pour vous aider à résoudre vos problèmes.

 

Cours, tutoriels et références
LAW Learn Ada on the Web (en anglais). Version interactive de l'ouvrage "Ada: A Developmental Approach" par Fintan Culwin 
Cours du CNAM Les cours du département d'informatique du CNAM (Claude Kaiser) sont librement disponibles (librement au sens des logiciels libres). Vous y trouverez entre autres un cours de systèmes et un cours sur la programmation concurrente et sa validation
Cours Ada (en français). Cours de l'Ecole Polytechnique de Montréal, avec les transparents du cours.
Introduction à Ada 83 (en français). Cours de l'Ecole d'Ingénieurs du Canton de Vaud. Limité à Ada 83, mais c'est tout de même un bon point de départ.
Apprentissage Ada (en français). Page perso de Jean-Luc Husson. Nombreux exemples (bien pour débutants), notes de cours...
Références de bibliothèques Ce site présente une table des matières et un index de toutes les fonctionnalités fournies par un certain nombre de paquetages, tels que la bibliothèque GNAT, les interfaces Win32, Posix, X11, Tash, etc.
The Big Book of Ada Linux Programming (en anglais) Un livre complet sur la programmation Ada sous Linux, disponible librement (équivalent de la GPL pour les livres).
Ada Distilled (en anglais) Un autre livre disponible librement, écrit par Richard Riehle. Il vise les programmeurs expérimentés qui veulent apprendre Ada au niveau programmation. Il résume les principaux points du langage, essentiels pour bien démarrer rapidement.
Ada95: The Craft of Object Oriented Programming (en anglais) Encore un livre disponible librement, écrit par John English, qui s'intéresse plus particulièrement aux aspects "orientés objet".
BNF Ada Toute la BNF du langage, en version texte et graphique.
GNAT Run Time Un livre (libre) électronique décrivant la bibliothèque d'exécution de GNAT, avec liens hyper-textes vers les modules décrits.
Pour connaître les livres Ada en français, voir notre page bibliographie.
Il existe également une intéressante bibliographie (en anglais) des livres (anglais !) à but pédagogique sur le site AdaIC.

 

Outils et environnements

En ce qui concerne les compilateurs, voyez notre page spéciale compilateurs.

Editeurs intégrés
AdaGIDE Editeur permettant de piloter directement le compilateur GNAT. Simple et commode, avec colorisation des mots clés, reformatage intégré, générateur de corps à partir de spécifications et accès direct au manuel de référence. Disponible sous Windows95 uniquement.
GNIDE Un autre environnement de développement pour GNAT sous Windows 95, écrit par John English
Grasp Editeur permettant de piloter directement le compilateur GNAT. Colorisation des mots clés, squelettes d'instructions, décoration du code avec des diagrammes structurés, graphiques de complexité (sauf version Windows). Disponible sous Windows95 et Unix (y compris Linux).
Emacs-Ada Un "mode" Ada pour l'éditeur Emacs/XEmacs, permettant de piloter directement le compilateur GNAT, ou même d'autres compilateurs. Colorisation des mots clés, indentation automatique, reformatage intégré, générateur de corps à partir de spécifications, couplage aux références croisées permettant de retrouver la déclaration de n'importe quel élément... Disponible sur tout système possédant Emacs, c'est à dire quasiment tous les systèmes.
JED-Ada Même principe : un mode Ada pour l'éditeur JED.
Vim-Ada Même principe : un mode Ada pour l'éditeur vim (ou gvim).
Edit Un petit éditeur sous DOS tout nu, mais qui pilote GNAT comme les grands. En plus on peut reprogrammer toutes les commandes de compilation, même pour l'utiliser avec d'autres langages.
Tia Tiny IDE for Ada: comme son nom l'indique, un petit environnement de développement pour Linux, en mode texte (console).

 

Reformateurs, documentation
aimap Reformateur utilisé par Emacs-Ada pour ses remises en forme, mais fonctionnant aussi en autonome.
ICC Source Code Formatter Un reformateur assez puissant et hautement paramétrable offert par Irvine Compiler Corporation, sous forme d'exécutable uniquement. Disponible pour plusieurs versions d'Unix, dont Linux..
Ada2HTML Un reformateur qui transforme un source Ada en HTML. Noter qu'un outil similaire (Gnathtml) est fourni avec le compilateur Gnat).
Adabrowse Un autre outil qui produit du HTML ou du XML à partir de spécifications Ada, avec toutes les références croisées.
a2ps Reformateur très général produisant du PostScript. Reconnait et traite les fichiers Ada, bien sûr.
Adadoc L'équivalent pour Ada de Javadoc pour Java. Produit un fichier intermédiaire en XML, qui est ensuite repris par des traducteurs pour HTML, Latex...

 

Traducteurs et outils langage.
gch Le "GNAT Checker". Cet outil vérifie un source Ada par rapport à un ensemble de règles de codage. La version actuelle implémente un sous-ensemble des règles du fameux document "Ada 95 Quality and Style". Disponible également sous forme de RPM pour glibc 2.1 et de RPM pour glibc 2.0.
C2Ada Traduit les .h des bibliothèques C en spécifications Ada. Il effectue de 80% à 90% du travail automatiquement, il ne vous reste plus qu'à peaufiner... Grâce à C2Ada, toute bibliothèque en C est disponible en Ada ! Il en existe aussi une version sous forme de RPM pour Linux, fournie par Dmitriy Anisimkov.
for2ada Un traducteur de Fortran 77 en Ada 95
ASIS Bibliothèque standardisée permettant d'écrire de façon portable des outils liés au compilateur (analyseurs de dépendance, références croisées, etc.). ASIS est un standard ISO.
Aflex, Ayacc Version Ada des célèbre outils Lex et Yacc de Unix (écrite en Ada, et générant de l'Ada).
OpenToken Un ensemble de paquetages pour faire l'analyse syntaxique d'un texte, sans nécessiter de pré-compilation ni de syntaxe compliquée comme (A)flex et (A)yacc. Une version améliorée a été mise à disposition par F. Fabien.
AUnit Un environnement de test pour Ada. Génération de tests, passage des tests, etc.
Adasubst et Adadep Adasubst est un outil de substitution "intelligente", c'est à dire qui prend en compte toutes les règles du langage. En conjonction avec Adadep qui permet d'analyser les dépendances entre modules, il permet de réarchitecturer les projets Ada. Ces outils sont fournis (librement) par Adalog.
Voir aussi les composants de Mats Weber.

 

Bibliothèques et bindings

Composants généraux et structures de données
Ada & Software Engineering Des GIGA-octets de sources Ada et de documents ! Accès Internet au contenu du fameux CD-Rom Ada. Vu le volume, cela revient souvent moins cher d'acheter le CD que de tout télécharger...
Les composants Adalog Un ensemble de composants et d'utilitaires bien commodes qu'Adalog a le plaisir de vous offrir.
Les composants Booch Version Ada 95 des composants Booch pour C++, eux-même dérivés des composants Booch pour Ada83. Toutes les structures de données classiques. Egalement disponibles sous forme de rpm pour systèmes glibc-2.1 (RH 6.x, SuSE 6.{2,3}) et pour systèmes glibc-2.0 (RH 5.x, SuSE 6.{0,1})
University of Scranton Data Structure Components Une autres suite très complète de structures de données. Des renseignements complémentaires, ainsi que d'autres choses intéressantes, peuvent être obtenus depuis la page de J. Beidler.
Standard Generic Library Bibliothèque de composants logiciels, directement inspirée (et dérivée) de la Standard Template Library de C++.
PragmARC Bibliothèque de composants logiciels, libre mais avec support commercial disponible.
Les composants de Mats Weber Mats Weber   propose tout un ensemble de composants logiciels couvrant:
  • Les structures de données classiques (ensembles, tables, queues, listes, piles, etc.)
  • Des opérations mathématiques (ZpZ, polynomes, permutations, programmation linéaire, entiers multi-précision, etc.)
  • Des outils de programmation Ada (Makeup_Ada_File, Ada_Lexical_Analyzer, etc.)
  • Des interfaces système (CPU, VMS_File_Names, etc.)
ASL L'Ada Structured Library, fournie par Corey Minyard, propose des conteneurs, différentes formes de sémaphores, un gestionnaire mémoire qui détecte les fuites, un gestionnaire de liaison Telnet, un analyseur de chaînes de caractères, des calculs de date... La liste s'allonge chaque jour.
SAL Stephe's Ada Library offre des services similaires et est offerte par Stephen Leak
EPFL Types de données abstraits et autres utilitaires, fournis par l'Ecole Polytechnique Fédérale de Lausanne
Libra Encore une bibliothèque d'arbres, piles, etc. Plutôt orientée Linux.
Les utilitaires de Dale Stanbrough Une collection d'utilitaires développés par/pour les étudiants de Dale Stanbrough : manipulations de chaînes, aide à la génération d'HTML, compression de données, mini-interpréteur Prolog....

 

Bases de données et gestion de fichiers
Oracle Binding Win32 pour l'interface de programmation Oracle, fourni par Dmitriy Anisimkov.
APQ Interface de haut niveau (thick binding) avec POSTGRES, serveur SQL libre.
MySQL Interface avec le système MySQL (et d'autres choses par la même occasion)
GNADE GNU Ada Database Environment : Interface SQL suivant le principe de l'Embedded SQL. Il comporte un binding avec ODBC, et supporte en plus nativement Postgres et MySQL. Disponible sur Linux, Solaris et Windows/NT
Indexed_IO Des entrées-sorties en séquentiel indexé. Par Marc Gobin, et mis à disposition par Ada Belgique. Une documentation, et même une présentation PowerPoint sont disponibles.
Adbm Une autre implémentation des entrées-sorties en séquentiel indexé, mais plus adaptée aux gros fichiers: premier niveau d'indexation en mémoire par Hash-Code, et arbres B sur disque... Fourni par Pascal Obry, dont la page Ada comporte d'autres choses intéressantes.

 

Terminaux, graphiques, fenêtrages
Ncurses Binding vers les célèbres Ncurses, interface mode texte sous Unix.
TextTools Kit de développement pour applications en mode "texte", sur console Linux, par dessus les "ncurses" (cf. ci-dessus). Plus de 600 sous-programmes pour créer toutes sortes de fenêtres (parcours de fichiers, boutons, ascenseurs, thermomètres..), pour gérer des événements (y compris souris), jouer de la musique, etc.
X11 Binding X11, initialement développé par Averstar (autrefois Intermetrics) et librement utilisable dans le but de promouvoir Ada... Toutes les informations sur l'utilisation de X11 depuis Ada peuvent être trouvées sur le site Ada-X11.
AdaBindX Un autre binding X11, sous GPL.
Motif Binding Ada-Motif (sous X11, bien sûr).
TASH Le Tcl-Ada SHell. Permet d'utiliser Tcl/TK comme interface utilisateur depuis Ada, aussi bien que d'enrichir Tcl/TK avec des procédures Ada. Certainement le moyen le plus simple d'écrire des interfaces utilisateur portables entre Unix, Windows et MacIntosh.
RAPID et VAD (Visual Ada Developper) sont des générateurs d'interface interactifs qui génèrent automatiquement du code Ada/TASH.
Open-GL Bindings, demos, et liens vers d'autres sites pour utiliser Open-GL depuis Ada.
Gtk-ada Binding Ada de la bibliothèque Gtk+, bibliothèque graphique libre disponible sur de nombreuses plate-formes, y compris Unix et Windows.
Graphique DOS Des composants fournis par Gautier de Montmollin, pour faire des graphiques sous DOS sans windows, en mode VGA, SVGA, et même PostScript, EPSF, DXF...
AdaGraph
AdaGraphX
Un paquetage permettant de faire très facilement des graphiques simples sous Windows, proposé par Jerry Van Dijk. Sa page propose également de nombreuses autres ressources utiles. AdaGraphX est un paquetage compatible AdaGraph sous X11.
JEWL Un paquetage permettant de faire très facilement des interfaces utilisateurs (GUI) sous Windows, proposé par John English.
JPEG Un paquetage d'interface avec la libraire JPEGLib. Site en français!

 

Autres langages
Java Intermetrics a développé un compilateur qui génère du J-Code, permettant d'écrire des applets en Ada aussi bien qu'en Java. Ce compilateur est disponible via les sociétés utilisant la technologie Intermetrics (Aonix, Green-Hills). De nombreux sites décrivent comment faire; celui-ci est plus particulièrement une aide aux débutants en Ada/Java.

ACT a plus récemment mis à disposition JGnat, une version spéciale du compilateur GNAT générant également du J-Code.

.A#
(.NET)
Ce n'est pas un gag, mais bien une adaptation de JGNAT pour cibler .NET au lieu de la JVM.
Cafe1815
(Java)
Un binding Ada vers le JNI (Java Native Interface) qui permet d'utiliser des applets Java depuis du code natif Ada.
pyAda
(Python)
Un binding Ada vers l'interpréteur Python interpreter. Il permet d'écrire des extensions à Python en Ada, ainsi que d'incorporer un interpréteur Python dans vos applications.
TAP
(Prolog)
Thick Ada-Prolog. Binding avec le serveur Amzi Logic. N'a apparemment été testé que sous Windows, mais devrait aussi fonctionner sous Unix.

 

Internet, Java, Python, HTML, Multi-media...
CGI Interface Ada/CGI, pour écrire vos programmes et formulaires Web en Ada. On trouve des exemples d'utilisation dans les composants de Dale Stanbrough, notamment les HTML IO routines.
Templates Parser Un utilitaire qui facilite la génération de pages CGI à partir d'un modèle et des données de l'utilisateur.
AdaGames Bien que s'annonçant a priori comme ludique, ce site fournit des interfaces avec les principales bibliothèques multi-media.
AWS Ada Web Server: un composant logiciel gérant HTTP, ce qui permet d'incorporer un serveur Web dans toute application Ada... ou d'écrire votre propre concurrent d'Apache!
XML/Ada Analyseur de fichiers XML.
PDF Une bibliothèque permettant de générer des documents au format PDF directement depuis Ada.

 

Mathématiques, physique
BLAS Binding vers la non moins célèbre bibliothèque d'algèbre linéaire BLAS (Basic Linear Algebra Subprograms), que l'on peut obtenir sur le site NETLIB.
Big_Number Un site qui recense plusieurs paquetages de calculs sur grands nombres (précision arbitraire), et qui plus est, en français.
Vecteurs/Matrices Fonctionnalités classiques de calculs sur vecteurs et matrices.
Astrophysique Une bibliothèque de calculs d'astrophysique et d'outils mathématiques, ainsi que quelques autres liens plus généraux.
NB: M. Stift, l'auteur, bien que basé en Autriche, est francophone!
Statistiques Les composants logiciels et autres ressources de Marin Condic contiennent notamment une bibliothèque complète de fonctions statistiques.
Unités SI Un paquetage de calcul aux dimensions qui garantit la cohérence physique des équations à l'exécution.
Macks Une autre approche de la vérification des dimensions: il s'agit d'un préprocesseur qui génère automatiquement les types et les opérations dont vous avez besoin, permettant une vérification des unités à la compilation. Disponible en tar.gz ou en zip.
Voir aussi les composants de Mats Weber.

 

Interfaces réseau et distribution
ANC Les Ada Network Components, ensemble d'exemples et de composants (interfaces sockets) pour l'utilisation d'Ada en réseau, généreusement offerts par l'ENST.
AdaBroker Un ensemble d'outils et de bibliothèques pour développer des applications CORBA en Ada. Il comprend un analsyseur d'IDL, un générateur de code Ada et les paquetages Ada définis dans le standard CORBA. Entièrement écrit en Ada, il est conforme à CORBA 2.0.
GNACK (Gnu Ada CORBA Kit). Une interface Ada vers ORBit, l'ORB libre du projet GNOME.
SOAP Interface Ada vers SOAP (Simple Object Access Protocol)
yaRTI Implémentation tout en Ada (et libre) des services HLA pour les simulations distribuées. C'est aussi un bel exemple de l'utilisation de l'annexe E "distribution".

 

Interfaces système
Win32Ada Binding complet entre Ada et l'API Windows (bas niveau). Attention, l'utilisation de l'interface Win32 requiert que vous ayez une licence du SDK Microsoft, soit en achetant un de leurs autres langages, soit en téléchargeant le SDK depuis ce site.

Nous n'avons pas mis de lien pour y accéder, car les versions que l'on trouve sur le net sont outrageusement périmées. Ce binding est livré en standard avec les compilateurs Gnat et Aonix. Si vous le voulez dans un autre contexte, installez Gnat...

Windex Binding pas encore complet, mais de haut niveau, entre Ada et l'API Windows.
GWindows Un environnement de développement et binding épais pour Windows. Intègre interfaces utilisateur, bases de données et Active X. Un tutoriel est disponible.
Ada_Registry Un outil pour gérer les informations de configuration des programmes, portable entre Windows et Unix. Sous Windows il utilise la base de registres, mais sous Unix il utilise des fichiers de configurations. De toute façon, c'est totalement transparent au niveau de l'utilisation !
OS/2 Binding entre Ada et l'API OS/2-Presentation Manager.
DLL Windows Un fichier qui explique comment écrire des DLL Win32 en Ada pouvant être utilisées par n'importe que langage, ainsi que comment utiliser des DLL existantes depuis Ada. Encore du Pascal Obry...
Florist Binding POSIX conforme à la norme IEEE 1003.5, pour systèmes Unix. Note: Florist succède à Forest, que l'on trouve encore, mais qui est moins à jour.
W32Posix Binding POSIX pour systèmes Windows. Le binding n'est pas tout à fait complet, mais cela permet d'écrire des applications compatibles au niveau source entre Windows et Unix.
ACF L'Ada Cryptographic Framework comporte des fonctionnalités pour les algorithmes de cryptographie MD2, MD4, MD5, SHA-1, RIPEMD-128, RIPEMD-160, HAVAL et TIGER. Programmes de test et manuel utilisateur sont également disponibles.
MaRTE OS Pas un composant, mais un système d'exploitation complet pour cible iX86 embarquée nue. Il est conforme à la norme Minimal Real-Time POSIX.13. Encore en développement, mais assez avancé pour supporter tout Ada, y compris les tâches. Ecrit en Ada, et disponible sous GPL !
Voir aussi les composants de Mats Weber.

 

Vous n'avez pas trouvé ce que vous cherchiez ? 

Vous êtes tombé sur un lien périmé ? 

Vous connaissez des ressources intéressantes que nous avons omis de répertorier ? 

Mettez vite un mot à info@adalog.fr ! Vous nous aiderez à garder cette page aussi utile et précise que possible.


Retour page d'accueil Cette page vous a été utile ?  Votez pour nous sur le site Weborama