Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ada [Le 09/10/2023, 20:58] 83.113.57.126 [Utiliser des APIs, IHM et autres] |
ada [Le 26/05/2025, 15:35] (Version actuelle) Ilari1 [Installation du compilateur GNAT] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>programmation}} | {{tag>programmation}} | ||
- | ====== Programmer en ADA avec Ubuntu ====== | + | ====== Programmer en Ada avec Ubuntu ====== |
- | Le [[https://fr.wikipedia.org/wiki/Ada_(langage)|langage ADA]] est utilisé dans le monde du logiciel embarqué, de l'automatisme, du temps réel et dans le logiciel critique en général parce que c'est le seul langage certifié qui garantit son résultat. C'est donc un langage qui fournit des solutions robustes, extrêmement sures. On le trouve donc essentiellement dans l'aéronautique, le militaire, le transport, càd tous les systèmes ou une erreur peut entraîner une catastrophe humaine ou technologique. Il est apprécié pour enseigner l'algorithmique à cause de sa puissance sémantique, on écrit facilement en quelques lignes des choses qui peuvent être extrêmement complexes. Il permet de présenter les concepts fondamentaux de la programmation. Nous allons voir ici comment travailler en ADA sous Ubuntu. | + | Le [[https://fr.wikipedia.org/wiki/Ada_(langage)|langage Ada]] est utilisé dans le monde du logiciel embarqué, de l'automatisme, du temps réel et dans le logiciel critique en général parce que c'est le seul langage certifié qui garantit son résultat. C'est donc un langage qui fournit des solutions robustes, extrêmement sures. On le trouve donc essentiellement dans l'aéronautique, le militaire, le transport, càd tous les systèmes ou une erreur peut entraîner une catastrophe humaine ou technologique. Il est apprécié pour enseigner l'algorithmique à cause de sa puissance sémantique, on écrit facilement en quelques lignes des choses qui peuvent être extrêmement complexes. Il permet de présenter les concepts fondamentaux de la programmation. Nous allons voir ici comment travailler en Ada sous Ubuntu. |
Ligne 9: | Ligne 9: | ||
La première chose à faire est d'[[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|installer les paquets]] **[[apt>gnat|gnat]]**. | La première chose à faire est d'[[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|installer les paquets]] **[[apt>gnat|gnat]]**. | ||
- | Une fois ceci terminé, vous pouvez d'ores et déjà commencer à compiler vos programmes ADA de la façon suivante : | + | Une fois ceci terminé, vous pouvez d'ores et déjà commencer à compiler vos programmes Ada de la façon suivante : |
Dans votre terminal : | Dans votre terminal : | ||
Ligne 16: | Ligne 16: | ||
./votre_programme</code> | ./votre_programme</code> | ||
- | La première ligne, avec la commande [[:tutoriel/console_commandes_de_base#cd]], vous permet de vous placer dans le répertoire où vous avez enregistré votre programme ADA. | + | La première ligne, avec la commande [[:tutoriel/console_commandes_de_base#cd]], vous permet de vous placer dans le répertoire où vous avez enregistré votre programme Ada. |
- | Exemple : j'ai mis mon programme ADA dans //Documents/IUT/ada//, donc je vais taper //cd Documents/IUT/ada//. | + | Exemple : j'ai mis mon programme Ada dans //Documents/IUT/ada//, donc je vais taper //cd Documents/IUT/ada//. |
La deuxième ligne compile votre programme ADA. | La deuxième ligne compile votre programme ADA. | ||
Ligne 86: | Ligne 86: | ||
[[https://github.com/stcarrez/swagger-ada.git]] [[https://sourceforge.net/projects/gnoga]]. | [[https://github.com/stcarrez/swagger-ada.git]] [[https://sourceforge.net/projects/gnoga]]. | ||
- | -AdaCore fournit maintenant l'outil Alire [[https://alire.ada.dev/docs/#first-steps]] qui est un espèce de Snap, au sens Ubuntu, qui garantit l'utilisation des bonnes bibliothèques dans les bonnes version, via une logique de graphe de dépendances des composants, entièrement gérée par Alire et complètement transparente pour l'utilisateur. | + | ===== Installer des bibliothèques ===== |
+ | |||
+ | -Bien que les modes d'installation classiques via GitHub et autres restent bien sur disponibles, AdaCore fournit maintenant l'outil Alire [[https://alire.ada.dev/docs/#first-steps]] qui est une espèce de Snap, au sens Ubuntu, qui garantit l'utilisation des bonnes bibliothèques dans les bonnes version, via une logique de graphe de dépendances des composants, entièrement gérée par Alire et complètement transparente pour l'utilisateur. | ||
-Alire comprend de nombreux exemples. | -Alire comprend de nombreux exemples. | ||
Il y a 2 cas; | Il y a 2 cas; | ||
- | -soit l'exemple est une bibliothèque auquel cas l'installation est une bibliothèque, donc non exécutable, et elle est rendus disponible par sa simple installation qui se termine par un test de validité d'installation , | + | -soit l'exemple est une bibliothèque auquel cas l'installation est une bibliothèque, donc non exécutable, et elle est rendue disponible par sa simple installation qui se termine par un test de validité d'installation, |
-soit l'exemple est un exécutable, utilisant des bibliothèques, et il est installé, compilé et testé par Alire. Ce cas impose de travailler selon la structuration d'Alire. On peut éventuellement travailler et organiser ses fichiers selon sa propre organisation, mais ce n'est pas toujours facile. Alire est complètement transparent, rien n'y est caché, mais il fait "beaucoup de choses" et il n'est pas toujours facile de les reproduire selon son propre modèle, c'est donc un choix. | -soit l'exemple est un exécutable, utilisant des bibliothèques, et il est installé, compilé et testé par Alire. Ce cas impose de travailler selon la structuration d'Alire. On peut éventuellement travailler et organiser ses fichiers selon sa propre organisation, mais ce n'est pas toujours facile. Alire est complètement transparent, rien n'y est caché, mais il fait "beaucoup de choses" et il n'est pas toujours facile de les reproduire selon son propre modèle, c'est donc un choix. | ||