Overview of Free Pascal and Lazarus/fr

From Free Pascal wiki
Revision as of 16:42, 4 March 2006 by Ejca (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Template:Vue d'ensemble de Free Pascal et Lazarus

Le compilateur Free Pascal (FPC) est un compilateur Pascal open-source qui à deux avantages notable : son degré élevé de compatibilité avec Delphi et sa disponibilité sur divers plateformes, y compris Windows, Mac OS X et Linux. La compatibilité de Free Pascal avec Delphi inclut non seulement le support du même langage de programmation que Delphi (le Pascal Objet), mais également un grand nombre de librairies, de puissantes routines et de classes qui font la réputation de Delphi. Ceci inclut les unités : System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles et Registry, incluses dans Free Pascal sous toutes les plateformes supportées. Free Pascal inclut également les unités : Windows, ShellAPI, BaseUnix, Unix et DynLibs pour les dispositifs d'accès spécifiques à un système d'exploitation. Cette douzaine d'unités composent le noyau de ce qui est désigné habituellement sous le nom de Free Pascal Run-Time Library (RTL) la bibliothèque d'exécution de Free Pascal. Lazarus est un environnement open-source construit à partir du compilateur Free Pascal y ajoutant un Environnement de Développement Intégré (EDI), incluant un éditeur de code à coloration syntaxique, un éditeur visuel de formulaires, une bibliothèque de composants fortement compatibles avec la bibliothèque de composants visuels de Delphi (VCL : Visual Component Library). La bibliothèque de composants de Lazarus (LCL : Lazarus Component Library) inclut des équivalents pour quelques uns des composants VCL les plus familiers comme les formulaires, boutons, zones de saisie de textes etc. de manière à créer une application avec, une interface graphique pour l'utilisateur (GUI : Graphical User Interface). Free Pascal et Lazarus sont écrits en FreePascal. Le code source complet est disponible non seulement pour le compilateur Free Pascal et l'EDI Lazarus, mais également pour toutes les unités qui composent la RTL de Free Pascal et la LCL de Lazarus. Comme Delphi, le Free Pascal et Lazarus sont deux outils de programmation d'usage universel, ce qui veut dire que vous pouvez développer une grande variété de programmes avec eux, y compris ce qui suit :

Applications console

Les applications console sont "non GUI". C'est à dire qu'elles sont lancées à partir de la console, lisent les informations entrantes de la console, et renvoient les informations sortantes vers la console.

  • Sous Windows la console est généralement désignée sous le nom "Invite de commandes".
  • Sous OS X et Linux, la console est désignée sous le nom de "terminal".

Les applications console incluent des programmes qui vont du petit utilitaire, tel que le programme de Windows COPY pour copier des fichiers ou les commandes Unix cd et cp aux puissantes applications de jeux, calculs, modelages, ou programmes de traitement de données qui n'ont pas forcément besoin d'un GUI superflu, parce qu'ils se suffisent à eux même, qu'ils sont utilisés par d'autres programmes ou à partir de fichiers séquentiels (batch). Le compilateur Free Pascal, et les programmes utilitaires inclus avec lui, sont tous des applications console, ce qui signifie qu'ils peuvent être lancés de la console, d'un fichier séquentiel (batch), ou de l'EDI Lazarus.

Vous pouvez créer une application console en utilisant un simple éditeur de texte et le compilateur de Free Pascal. Il n'est pas nécessaire d'utiliser Lazarus pour développer des applications console. Cependant, si vous préférez travailler dans un environnement intégré, vous pouvez employer Lazarus pour créer un projet destiné à la console et pour éditer et compiler le code dans le l'IDE Lazarus. Pour créer un programme console sous Lazarus il faut aller dans Fichier/Nouveau/Project/Program.

Exemple de programme console :

program project1;
{$mode objfpc}{$H+}
uses
  Classes
  { add your units here };
var
   //Variable chaîne de caractères destinée à ReadLn
   LireLigne: String;
begin
   //Ecrire 'bonjour' sur l'écran et revenir à la ligne
   WriteLn('Bonjour !');
   //Information utilisateur
   Write('Veuillez taper une touche pour terminer le programme merci : ');
   //Attendre une saisie avant de terminer le programme
   ReadLn(LireLigne);
end.

Bibliothèques dynamiques (dynamically loadable library)

Une bibliothèque dynamique est habituellement une collection de fonctions compilées qui peuvent être appelées par d'autres programmes. Comme son nom l'indique, la bibliothèque (library) n'est pas incorporée (linké) dans votre exécutable au moment de la compilation, mais est chargée au moment de l'exécution.

  • Sous Windows, un dossier de bibliothèque a l'extension .dll (dynamic-link library, ou DLL).
  • Sous OS X, un dossier de bibliothèque a une extension .dylib (dynamic shared library).
  • Sous Linux, un dossier de bibliothèque a une extension .so (shared object library ).

Des bibliothèques dynamique sont habituellement employées pour développer des additifs (add-ons) pour d'autres programmes, pour développer des bibliothèques qui peuvent êtres appelées par des programmes écrits en d'autres langages tels que C et C++, ou pour diviser de grands projets en morceaux, de sorte que les développeurs d'un même projet ne se marchent pas sur les pieds. Windows lui-même se compose de centaines de DLLs, de même que beaucoup d'autres grandes applications telles qu'OpenOffice.org.

Comme pour les applications console, vous n'avez besoin que d'un éditeur de texte et du compilateur Free Pascal pour développer une bibliothèque, bien que vous puissiez également créer un projet Lazarus pour la bibliothèque et développer la bibliothèque dans l'EDI Lazarus. Pour créer une bibliothèque sous Lazarus il faut aller dans Fichier/Nouveau/Project/Library.

Sous Windows, les DLLs ont la réputation imméritée d'être extrêmement complexes et instables. Ceci a plus à voir avec la manière dont elles ont parfois été installées qu'avec les DLLs elles-mêmes. En fait, tant que les informations envoyées aux DLLs sont passées avec des types de données standards et simples (plutôt qu'avec des objets ou des structures spécifiques à un langage), elles ne doivent pas pauser de problèmes. Cette nécessité incite les développeurs à faire plus attention à ce qu'ils font. Si cette étape est bien faite, cela peut avoir comme conséquence des programmes de meilleurs qualité et plus stables.

Applications avec interface graphique (GUI)

La plupart des programmes que nous utilisons quotidiennement sont des applications GUI, y compris les traitements de texte, navigateurs Web, tableurs, et même beaucoup d'outils de développement. Lazarus et Delphi sont deux bons exemples d'applications complètes GUI. En développant une application GUI avec Lazarus, non seulement vous développez vos unités en code Pascal, vous concevez également des formulaires contenant des commandes visuelles telles que des boutons et des boîtes de liste. Comme Delphi, la conception de formulaires sous Lazarus est faite visuellement. Les propriétés d'un composant peuvent être initialisées dans l'EDI ou le code.

Puisque les composants de la LCL sont disponibles sous toutes les plateformes soutenues, une application GUI développé sous une plateforme (par exemple, Windows) peut être compilé sur une autre plateforme (par exemple, OS X ou Linux) sans aucun changement au formulaire ou au code source.