IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Nouveau livre : J'apprends à programmer en Pascal Objet
Avec l'environnement de développement Lazarus

Le , par gvasseur58

47PARTAGES

47  0 
Livre : J'apprends à programmer en Pascal Objet
avec l'environnement de développement Lazarus et le compilateur Free Pascal

Jean-Luc Gofflot (alias Alcatîz) et Gilles Vasseur (alias gvasseur58) ont le plaisir de vous annoncer la naissance, après plusieurs années de gestation, de leur ouvrage intitulé J'apprends à programmer en Pascal Objet . C'est à notre connaissance le premier livre en français entièrement consacré à l'apprentissage du langage Pascal au moyen de l'EDI Lazarus. Il est destiné aux grands débutants en programmation et à tous ceux qui souhaitent renforcer leurs connaissances dans ce domaine.



Entièrement gratuit, l'ensemble comprend plus de 900 pages et 250 illustrations. Il est accompagné de quizz et de nombreuses applications complètes fournies avec leur code source. En s'appuyant en permanence sur l'algorithmique et l'apprentissage par la pratique, les auteurs présentent aussi bien la programmation dite procédurale que la programmation orientée objet sur laquelle est fondé le langage moderne Free Pascal.

Un premier module introduit en huit chapitres les éléments de base à connaître impérativement. Il impose une lecture linéaire pour une découverte très progressive du monde de la programmation. Le second module, en dehors de quelques restrictions signalées, peut se lire librement, selon un parcours personnalisé. Il comprend vingt-deux chapitres qui exposent et mettent en œuvre les notions clés nécessaires au développement d’applications performantes.

Vous trouverez ci-après les liens permettant l'accès aux différents éléments du projet :



Le travail présenté est destiné à évoluer et à se développer, éventuellement sous la forme d'un troisième module un peu plus pointu. Il a déjà bénéficié d'une relecture attentive et éclairée d'Yves Lemaire (alias tourlourou). Nous comptons lui adjoindre d'ici quelque temps une série d'illustrations humoristiques ainsi que de nouveaux chapitres.

N'hésitez pas à nous faire part de vos remarques, suggestions, demandes particulières et éventuels encouragements !

Et vous ?
Qu'en pensez-vous ?
Connaissez-vous déjà l'environnement de développement Lazarus ?
Avez-vous des suggestions pour étoffer ce livre d'un troisième module ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de gvasseur58
Rédacteur https://www.developpez.com
Le 02/04/2023 à 18:11
Bonjour à toutes et à tous !

Merci pour l'accueil de ce livre qui nous aura bien occupés et qui, nous l'espérons vivement, remplira son rôle d'introduction à la programmation pour les grands débutants. Nos objectifs sont au bout du compte de plaire et d'instruire !

Pour que les choses soient claires, je tiens cependant à (ré)affirmer ce qui suit :

* Jean-Luc, Yves et moi-même n'avons aucun lien direct ou indirect avec Embarcadero. J'ai quitté ma fonction de responsable Delphi sur développez.com il y a de cela plus de deux ans à la suite de divergences profondes avec la politique de cette entreprise. Notre choix de Free Pascal (avec l'appui de l'EDI Lazarus) est fondé sur les qualités de ce produit gratuit, open source, multiplateforme, stable, moderne et jouissant d'une communauté internationale aussi active qu'étendue.

* Le marronnier sur Pascal = un "langage pour ehpad" ne nous intéresserait qu'au zinc d'un café, bien éméchés, entre deux considérations sur la situation politique en Ouzbékistan, et encore ! Autrement dit, autant aller voir ailleurs si le sujet ne convient pas. A titre personnel, je répugne à aller parasiter certains forums quand le sujet me déplaît. Au minimim, j'aurais la décence de lire ce que les auteurs ont écrit pour voir s'ils savent garder une distance raisonnable avec leur sujet. L'enthousiasme n'est pas forcément bon conseiller, je le concède volontiers ! Il se trouve justement que nous avons abordé le thème de l'actualité du Pascal Objet (et non celui de Wirth !) pour qui voudrait aller plus loin : comme ce langage est très proche du pseudo langage algorithmique, nous le préconisons avant de se confronter à d'autres langages recommandés pour un avenir professionnel mieux garanti, mais qui nous paraissent plus difficiles d'accès. Je laisse chercher la page en question (elle se situe dans le module 1), avec une fraise Tagada virtuelle en récompense pour la première référence exacte. N'ayant aucune qualification en matière de voyance, nous ne sommes pas en mesure de prévoir l'avenir d'un quelconque langage, en particulier du Pascal Objet. Comme les langages tout aussi anciens, le langage Pascal a fortement évolué, sinon il aurait disparu et ne serait entre autres pas à la base de logiciels de référence comme FLStudio (musique), ProNote (gestion vie scolaire la plus diffusée en France), de la sécurité de plateformes pétrolières ou d'une (bonne) partie du système bancaire luxembourgeois... Quand l'actualité d'un langage informatique est abordée, il ne s'agit pas de se borner à notre petit hexagone, car le discours anti-Pascal ferait sourire, par exemple, en Allemagne, aux Pays-Bas, en Turquie, au Brésil, en Russie ou dans les pays du Maghreb... Cela dit, la pédagogie, et non la mode ou le qu'en dira-t-on, doit primer tant que les structures et les algorithmes de base conserveront leur pertinence. Nous savons tous par expérience que s'adapter aux évolutions est une constante du métier de programmeur et que notre travail finira toujours au mieux sur une étagère poussiéreuse, n'est-ce pas ?

A présent, comme l'ont commencé certains par messages privés, nous attendons de réels propos sur l'ouvrage lui-même ! Rendues publiques, les critiques construtives ne nous effraient ou choquent aucunement, car elles sont normales pour un travail en co-construction. Je le répète : comme les classiques, mais bien ancrés dans le présent, nous voulons "plaire et instruire" !

Bonne lecture et au plaisir de vous lire !

Gilles
13  0 
Avatar de bb84000
Membre confirmé https://www.developpez.com
Le 05/04/2023 à 8:27
Bonjour,

Merci aux auteurs pour ce livre. Je suis assez bien placé pour savoir ce que représente un tel travail d'écriture, un ouvrage de ce type ne se réalise pas comme un roman pour ados. Et en plus, il est gratuit alors :

A cheval donné, on ne regarde pas les dents.

Il se peut que j'aie des suggestions à faire, je les ferai en MP aux auteurs, pour enrichir (!) la prochaine édition, comme on dit.

En ce qui concerne la tranche d'âge des utilisateurs du langage Pascal, il se trouve que la popularisation et la promotion de Turbo Pascal et plus tard de Delphi par Philippe Kahn ne sont pas étrangères à son adoption par les "jeunes" de cette époque. Il présentait (Pascal, pas Kahn !) l'avantage d'être compilé, de ne pas nécessiter de bibliothèque extérieure, d'être finalement proche du "C" avec la sécurité de la déclaration de type des variables qui manque toujours au C. Avec l'orientation moderne et des EDI conviviaux, il reste un langage moderne, et permet la réalisation d'applications multi-plateformes complexes et sophistiquées, comme on le voit tout au long de ce forum.
A ceux qui considèrent que ces atouts sont dépassés, je suggère de s'adresser aux sites d'IA pour générer du code, le résultat ne sera peut-être pas tout à fait conforme à leurs espérances, mais je ne doute pas que ce soit rigolo.

bb84000
11  0 
Avatar de Guesset
Expert confirmé https://www.developpez.com
Le 05/04/2023 à 19:47
Bonjour,

Notes de lecture au fil de la lecture, pertinentes ou pas :
  • Page xx : Le titre de haut de page devrait être plus séparé du texte et vraisemblablement centré.
  • Page xx - Illustrations : En français, il y a un espace avant un ":" (à modifier dans le champ Illustration).
  • Page xx : Dans les titres, le retrait, la fonte de caractères (Texte et numérotation) ne sont pas stables. Un simple nettoyage de suppression des modifications de format locales pourrait sans doute y remédier.
  • Page xx : Tantôt les propriétés sont en gras italique tantôt en italique : des format caractère (carPropriete, carComposant, carCode...) seraient certainement utile pour qu'au long de l'ouvrage on retrouve la même convention.
  • Page xx : Plutôt que des images de touches, eut être qu'une fonte clavier serait plus intégrable à un texte.
  • Page 16 - note 14 : Assembleur dans les premiers langages ? Il y a .. au lieu de ...
  • Page 25 : Anamorphose de l'image. Elle devrait être plus large (le logo est carré)
  • Page 35 - note 29 : La taille de la fonte a augmenté localement
  • Page 37 - Illustration 26 : Anamorphose inutile (lisibilité faible). Proposition : couper à droite et rétablir un ratio de point carré.
  • Page 59 : L'icône de fermeture a une croix très peu visible sur son fond rouge.
  • Page 63 : Les listes commencent tantôt par des majuscules tantôt par des minuscules (ce n'est pas propre à cette seule page).
  • Page 68 : (et note 124 ) En mathématiques, l'égalité n'est ni une affectation ni une comparaison, mais une relation. A = B signifie simplement que c'est le cas non qu'on se pose la question.
  • Page 74 : (§ bas de page sur le ";") Une note pourrait peut être préciser que dans les langages C et C like le ";" n'est pas un séparateur d'instruction mais le caractère obligatoire de fin d'instruction.
  • Page 91 : (§ bas de page sur le "if ... then ... else") Peut-être qu'il serait utile de montrer l'écriture sans bloc begin...end pour une seule instruction comme dans le if LY then ... pour évoquer la disparition du ";"
  • Page 94 : (§ haut de page sur les autres éléments que le code) Et accessoirement sa documentation technique (tout ne peut être dans les commentaires ;-)
  • Page 95 : "Un opérateur est*une routine appliquant une opération arithmétique..." Pas seulement arithmétique, par exemple k := 127 xor 13;
  • Page 98 : L'encart de conversion est erroné. Avec cette notation, x = y car, en réaménageant seulement l'ordre : y calories = x * (4.1855 joules) <=> = x calories. Tout vient de la multiplication implicite des unités de mesure. Je propose : x_joules = 4.1855 * y_calories et y_calories = 0.23892 * x_joules.
  • Page 98 - note 72 : "...défiance généralisée..."Je crois qu'ils travaillent plutôt en Calories (aka kcalories). Ca en fait moins, donc moins grossir...
  • Page 103 : (milieu de page ...implémentation ...) il me semble que cela a déjà été évoqué.
  • Page 106 : "JOULESENCALORIES" ne me paraît pas très explicite, je propose JOULESPARCALORIE. Le nom respecte alors l'équation aux dimensions car JOULESPARCALORIE * calories évoque (Joules/calorie))*calories donc des Joules.
  • Page 109 : (§ haut de page) "...qui devra ressembler à ceci...". Je propose "qui ressemble à ceci :" car ce n'est pas une nécessité mais un exemple.
  • Page 113 : Code de la fiche. Il pourrait être utile d'utiliser une police à espace fixe car c'est un type de fichier sensible à l'indentation laquelle se voit très mal en chasse variable.
  • Page 122 : L'ordinogramme utilise un 'C' pour les calories ce qui est un peu malencontreux car C majuscule évoque (hors le Coulomb ) la grande calorie (1 Calorie = 1000 calories).
  • Page 123 : "l’élément de base est le bloc d’instructions" Ne serait-ce pas plutôt l'instruction qui peut ou pas appartenir à un bloc ?
  • Page 136 : "RAZEpices" Pourquoi ? Pour gagner de la place ? Avec le nombre d'épices FNombreEpices les positions inutilisées sont sans importance. Un RaZ_up pourrait éventuellement vider les positions non utilisées après l'enregistrement de n valeurs.
  • Page 145 : (code Pascal) La fonction Exit(LI) est introduite plus tard ? C'est pourtant un bon exemple de la simplification qu'il apporte.
  • Page 149 : (code Pascal) La forme abrégée (Result ;= (FNombreEpices <> MAXIEPICES) and (AValeur <> '') and (NumeroEpice(AValeur) = 0); if Result then...) est introduite plus tard ?
  • Page 164 : (4e §) "caractère « 4 » " Peut être que '4' serait plus adapté.
  • Page 168 : (code Pascal) " FErreur := True;" On suppose que FErreur est prépositionné à False ? Une fonction booléenne semblerait plus sûre. "FCar := '.';" Surprenant, FErreur reste à False alors que '.' n'est pas un caractère de l'ensemble.
  • Page 173 : (code Pascal) LisCar peut être remonté au bloc supérieur puisque commun aux deux alternatives. De plus la nécessité de blocs pour if FCar = '*' ... disparaît.
  • Page 175 : "<liste de cas>...cas uniques" Uniques ? Comme 3..12: ;-) ? Par ailleurs, le recouvrement partiel de ranges est accepté même si non recommandé.
  • Page 177 : (définition de la récursivité) "un algorithme s'appelle lui-même" Je propose "une partie d'un algorithme s'appelle elle-même" car généralement un algorithme récursif ne se réduit pas à une fonction récursive (initialisation, activation sont des phases classique et non récursives).
  • Page 183 : (avant dernier §) ... espaces superflus au lieu de superflues.
  • Page 189 : Présentation des composants standards différentes des présentations suivantes.Il n'y a pas d'ombrage pour les nom de composants ce qui me semble plus lisible que les suivants. L'onglet "Standard" n'est pas entouré d'un cadre jaune comme les suivants.
  • Page 190 : Définition des composants conteneurs. Est-ce utile de signaler que certains ne sont pas des conteneurs déclarés mais peuvent le devenir car fenêtrés ?
  • Page 190 : Liste de bas de page. Je propose "TImage : une image rémanente..." et "TPaintBox : une surface à dessiner et peindre non rémanente;"
  • Page 192 : "Propriétés communes" Dans la définition de "Name" je retirerais "précisément" qui est redondant avec unique.
  • Page 195 : (3e §) "Contrairement au module 1 que nous vous avons invité(e)" S'accorde avec module donc pas de (e). "...de limiter au maximum." Comme on pourrait aussi écrire "au minimum" je propose de retirer."au maximum"
  • Page 197 : (fin de page) Il peut être intéressant d'introduire le risque des valeurs magiques dans un code.
  • Page 198 : (fin de page) "...voire en ignorant toute norme." Ce qui est aussi une norme ;-)
  • Page 199 : Les liens de téléchargement changent de format.
  • Page 200 : (haut de page) "...BorderSpacing à 5" Il peut être intéressant de prendre une valeur qui soit en relation avec la grille de conception. Par exemple 4 pour une grille de 8. Cela facilite une répartition homogène sur toute l'interface.
  • Page 200 : (§ 2) "Taux minimum" devrait devenir "Taux minimal" car minimum est normalement un substantif.
  • Page 202 : (code Pascal) Peut-être introduire StringOfChar pour la répétition d'un caractère. Par ailleurs ce code pose un problème d'arrondis absents. Mais il est vrai que choisir où faire les arrondis n'est pas nécessairement simple et sort peut être du sujet.
  • Page 205 - note 119 : " constante typée ... avantageusement remplacée par les variables initialisées" Y compris leur usage où en C on écrirait static pour déclarer une variable qui conserve sa valeur d'un appel à l'autre mais peut être modifié au sein de la routine (en fait une variable globale à visibilité locale )?
  • Page 211 - Illustration 90 : Augmenter le contraste (voire la taille) serait bien.
  • Page 216 : (milieu de page) "La notion de variable initialisée ... chapitre128." Pourquoi ne pas créer un lien au lieu d'une note (qui utilise peut être un lien pour indiquer le n° de page) ? "La notion de variable initialisée ... chapitre page 222."
  • Page 221 : Echange par adition soustraction. Prévenir d'un risque d'overflow d'où la solution : A := A xor B; B := A xor B; A := A xor B; C'est joli mais pas nécessairement très compréhensible. Xor est associatif et commutatif. Ao et Bo les valeurs originelles de A et B. Alors A := Ao xor Bo; B := (Ao xor Bo) xor Bo = Ao xor Bo xor Bo = Ao xor 0 = Ao; A := (Ao xor Bo) xor Ao = Ao xor Ao xor Bo = 0 xor Bo = Bo;
  • Page 223 : (haut de page) Avertissement sur l'initialisation des variables. Peut-être inciter à regarder les messages du compilateur sur les variables non initialisées ?
  • Page 223 : (Tableau) Déclaration dans la section interface. Restriction : sauf les variables cachées par exemple au sein d'une section private d'un objet.
  • Page 249 : "Qu’est-ce qu’un type ordinal ?" La définition est exacte en mathématiques mais elle ne s'applique pas si facilement à l'informatique. Par exemples, les réels sont dénombrables en informatiques car ils sont codés sur un nombre limité de bits. Ainsi un double codé sur 64 bits ne pourra avoir plus de 2^64 valeurs différentes (moins en réalité ne serait-ce que pour le NaN et le fait que certaines valeurs peuvent se présenter sous plusieurs forme - mais une seule normalisée). Même les formats de nombres à taille variable ont une limitation même si celle-ci est tellement haute que les considérer comme non dénombrables n'est qu'une erreur de principe.
  • Page 270 : (§4.3) Je propose de remplacer "...que ce dernier commence..." par "...qu'il commence...".
  • Page 271 : (haut de page) les directives hésitent entre gras et pas gras.
  • Page 274 : Dans la liste des assertion correctes, il y en a une de tronquée : "Ord(False) = 0 (Ord renvoie le rang de so ;" Je présume que c'est "son argument".
  • Page 292 : Très jolie application. Cependant il y a une variante qui utilise le fait que les opérateurs booléens sont aussi des opérateurs binaires (ce qui serait très adapté à ce type d'exercice). Plus loin ?
  • Page 295 : (milieu de page) "évaluation complète" On peut aussi citer l'accès conditionné à un élément de tableau : if (i >= imin) and (i <= imax) and (Tab[i] = 100) ... Forme qui marchera en évaluation courte mais se plantera allègrement en évaluation complète.
  • Page 297 : (fin de page) "coprocesseur arithmétique" Sur la plupart des processeurs, le coprocesseur n'est plus identifié comme une entité à part d'autant que d'autres solutions existent souvent comme le jeu d'instructions SSE sur Intel/AMD que ne se prive pas de mettre à contribution FP.
  • Page 298 : (haut de page) Le type extended a également le défaut d'utiliser 80 bits ce qui ne facilite pas les alignements mémoire. Vivement les 128 bit ! Et les 64 Go de mémoire pour faire un "Hello world !"
  • Page 299 : "...utilisez le type Int64..." Peut-être faudrait il inciter à utiliser des alias de type qui précisent le format utilisé. Un real, un integer, qui varient de taille selon le système ne sont pas des garants de portabilité.
  • Page 301 : (haut de page) "Un nombre entier peut toujours être affecté à une variable de type nombre flottant." Mais il peut y avoir des pertes de précision.

Je me suis arrêté à la page 320. Un certain nombre de remarques tomberont sans doute avec les chapitres suivants. Les premières annotations portent plus sur la forme que sur le fond ce qui semble normal.

Il faut voir cette démarche comme une marque de respect malgré son caractère potentiellement irritant (mais non, mais non ). C'est parce que c'est un bon produit qu'on peut s'intéresser à le peaufiner.

Salutations
9  0 
Avatar de tourlourou
Modérateur https://www.developpez.com
Le 31/03/2023 à 16:16
La pédagogie progressive et la clarté du livre le rendent en tout cas accessible à des débutants et grands débutants de tous âges !
8  1 
Avatar de FRANOUCH
Membre éprouvé https://www.developpez.com
Le 06/06/2023 à 14:23
Je ne suis plus de première jeunesse comme on dit mais ayant toujours eu un très grand intérêt pour l'informatique et en particulier pour les langages de programmation, j'avais commencé par l'assembleur, puis par le langage BASIC développé par Microsoft je crois.
La suite a été Basic GW, Visual Basic et puis Turbo Pascal qui m'avait beaucoup plu à l'époque pour sa rapidité, sa philosophie très " carrée " et la possibilité d'y insérer des instructions en assembleur.
Ce langage était toujours resté dans un coin de ma mémoire malgré les langages plus modernes, en particulier Python.
Et puis voilà, qu'en tant que lecteur assidu des rubriques du site Développez.com, je tombe sur un article concernant la sortie du livre " J'apprends à programmer en Pascal Objet ".
Alors là, des les premières pages, gros coup de cœur pour votre ouvrage et je n'aurai pas assez de mots pour en dire toutes les qualités : les premières qui me viennent à l'esprit sont : clarté, concision, et en français SVP !
J'ai commencé la lecture par le début pour ne rien rater, même si je passe plus rapidement sur des notions que je connais déjà !
Un grand, très grand bravo pour votre travail, c'est un plaisir de vous lire
7  0 
Avatar de M.Dlb
Rédacteur/Modérateur https://www.developpez.com
Le 30/03/2023 à 10:51
Quel travail fabuleux ! Je n'ai parcouru que les premières pages, mais on admire de suite la qualité et la complétude de l'ouvrage, à la vue du sommaire.
Immense bravo aux auteurs !

@Guesset, il faut cliquer sur l'image du premier lien, et on accède au document PDF en question.
6  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 04/04/2023 à 22:01
Bonjour,

ça fait quelques années que j'ai envie de me remettre à apprécier un langage compilé, et sur ce forum je n'ai lu que du bien du pascal objet (alors même que je n'écris pas d'un EPAD )
Je remercie beaucoup les auteurs d'avoir écrit ce livre.

Deux questions :
  • serait-il possible de publier une version epub pour en faciliter la lecture sur liseuse ?
  • il semble, bien que ce ne soit pas l'objet, qu'on puisse déployer sur android dans des conditions correctes via LAMW: Lazarus Android Module Wizard : est-ce viable ? (je me doute que ce ne sera pas aussi beau que flutter, mais je demande juste quelque chose de fonctionnel et économe en ressources)


Merci.
6  0 
Avatar de Guesset
Expert confirmé https://www.developpez.com
Le 06/04/2023 à 18:44
Bonjour,

Ce bouquin n'est pas neutre dans la pérennité du Pascal.

J'ai toujours été surpris du manque de supports pour les produits open-source. Manque de livres et manque de formations notamment.

Pour les plus réputés, il existe des forums et des FAQ voire même un peu de support (éventuellement payant) mais c'est nettement insuffisant car, si internet excelle dans la vue pointilliste (recettes en tout genre), il propose peu d'éléments de synthèse indispensables pour appréhender la complexité de beaucoup de produits. Est-ce qu'une collection de grains de sables forme un bac à sable, une plage ou le Sahara ?

Et cela ne se limite pas au domaine informatique. Je pense à GIMP (il y a quand même quelques ouvrages), FreeCad, KiCad, LibreOffice, etc.

Donc même si ce bouquin, à lui seul, ne changera pas l'avenir de Pascal, il peut y contribuer.

En outre de vrais RAD qui permettent de générer un code natif efficace tout en travaillant à un haut niveau d'abstraction sans interdire un code raz de machine (assembleur embarqué), il y en a très peu. Je ne vois que Delphi (des sous, des sous...), Visual Studio (pas vraiment gratuit) et QT (avec un flou de licence redoutable). Il y a donc une place pour Lazarus (et Code Typhon dont l'environnement est plus complet même s'il sent un peu le souffre).

L'autre grand manque de Lazarus est la documentation qui, trop souvent, renvoie vers l'implémentation. Mais il faut bien commencer par un bout.

Salutations
6  0 
Avatar de christianw
Membre à l'essai https://www.developpez.com
Le 13/04/2023 à 15:57
Pas encore pensionnaire d'EHPAD, même si j'ai tapoté mes premières lignes de code pascal à la fac en ... 1989-90.

Auteur d'un ouvrage technique (commercial celui-ci mais sur un sujet qui n'a rien à voir) je sais la masse de travail que représente celui-là, surtout sans l'appui technique d'un éditeur qui fait passer ses mercenaires de la relecture sur les moindres lignes.

Bref, juste un très grand BRAVO !
6  0 
Avatar de Alcatîz
Responsable Pascal, Lazarus et Assembleur https://www.developpez.com
Le 15/04/2023 à 12:13
Bonjour à toutes et à tous,

Nous proposons à titre expérimental une version epub du livre : https://lazarus.developpez.com/livre...-pascal-objet/.
Nous vous remercions pour vos retours et nous tiendrons compte de vos remarques pour une mise à jour future.
6  0