LSE (langage)

Un article de Wikipédia, l'encyclopédie libre.

LSE, acronyme du nom officiel Langage Symbolique d'Enseignement, est un langage de programmation, pour ordinateurs, conçu au début des années 1970 par une équipe de l'École Supérieure d'Électricité (Supélec)[1]. Cette équipe était composée des enseignants ingénieurs Yves Noyelle et Stéphane Berche, sous la direction de Jacques Hebenstreit. À l'instar du BASIC, le langage LSE fut initialement destiné, entre autres, aux débutants en programmation[2] ; il possède une syntaxe francophone. Il a fait l'objet d'une normalisation par l'AFNOR (AFNOR Z 65-020)[3] dans sa version d'origine. La mise au point et les ajustements initiaux du langage LSE furent effectués dès 1972 en mode collaboratif, entre les ingénieurs de Supélec et des enseignants du Lycée Pierre Corneille, à La Celle Saint-Cloud, sur un mini-ordinateur CII Mitra 15 (premier ordinateur livré et premier lycée doté, dans le cadre de l'opération ministérielle dite « Expérience des 58 lycées »[4] menée entre 1972 et 1980).

Histoire[modifier | modifier le code]

LSE est le résultat d'une évolution d'un langage plus ancien, le LSD, conçu lui aussi à Supélec[5].

Son sigle avait initialement deux significations :

  • Langage symbolique d'enseignement (signification historique, officielle, conservée et toujours usuelle pour l'acronyme LSE) ;
  • Langage de Sup-Élec ;

auxquelles sont venues se joindre, parmi bien d'autres :

  • Langage Simple à Enseigner ;
  • Langage Sans Espoir...

LSE doit sa diffusion à son implémentation décidée en 1972 par le Ministère de l'Éducation nationale français, dans un premier temps sur les mini-ordinateurs français CII Mitra 15 et Télémécanique T1600[6] retenus pour 58 établissements de l'enseignement secondaire (opération dite « Expérience des 58 lycées »[7]). A partir de 1980, les micro-ordinateurs « compatibles IBM » du plan « 10 000 micro-ordinateurs »[8] (succédant à l'opération des 58 lycées) furent équipés partiellement de ce langage français de programmation.

Le LSE dans sa version native de 1972 supportait déjà les procédures sous-programmes et procédures fonctions (contrairement au BASIC)[9], aussi bien procédures internes qu'externes. Pour les applications de conception assistée par ordinateur, Le LSE connut dès 1972 deux déclinaisons adaptées au mini-ordinateur CII Mitra 15 : le LSG (Langage Symbolique Graphique) et le LST (Langage Symbolique de Tests)[5]. Plus tard, en 1983, le langage initial de programmation LSE a été révisé et modernisé (LSE-83 ou LSE-1983) par Jacques Arsac[10] : ceci pour enfin intégrer la notion de boucle explicite indispensable à toute bonne programmation structurée, et se débarrasser définitivement de son « ALLER EN » (goto). À noter, l'introduction des exceptions.

Dans les l'enseignement supérieur, des initiatives, travaux, projets et réalisations également menés avec le Langage Symbolique d'Enseignement sont mentionnés, parmi lesquels :

  • L'enseignement du LSE en université : furent concernés les étudiants en lettres et sciences humaines, au centre de calcul universitaire de Nancy Lorraine, en 1974[11] ;
  • Le logiciel CARTO, un préambule aux travaux du projet cartographique de données statistiques PHILCARTO : le logiciel CARTO fut écrit en LSE sur mini-ordinateur CII Mitra 15, au centre de calcul de l'université de Paris X - Nanterre, en 1979[12] ;
  • Les deux logiciels MODUL et COMBI, un préambule aux travaux du projet IMAGIX : ils étaient écrits en LSE sur mini-ordinateur Télémécanique T1600, sur lequel étaient reliés des terminaux graphiques Tektronix[13]. Ce projet fut mené en 1982[14] au centre d'études et de recherches architecturales, organisme subordonné à la direction de l'architecture du ministère de l'Équipement lors des années 1980.

Cela n'a pas empêché le langage LSE de sombrer dans l'oubli à la suite de l'abandon de ce langage de programmation, sur décision du Ministère de l'Éducation Nationale, dans les années 1990. Cependant, il existe toujours une petite communauté d'utilisateurs du LSE, d'autant que ce langage a fait l'objet d'une révision proposée par Luc Goulet (LSE-2000), révision qui reprend en bonne partie les propositions de 1983 et inclut des améliorations. Cette modification ajoute au langage une programmation encore plus structurée, de nouveaux types, de nouveaux opérateurs comme NI, ET QUE, OU QUE et SELON-DANS-SINON et de nouvelles structures de contrôle comme ÉVALUER et SELON. Elle ajoute également la prise en charge de la programmation orientée objet. Un wikilivre décrit la proposition LSE-2000 et un site officiel pour la proposition existe Portail LSE. Par ailleurs, dès 1972, divers ouvrages ont été publiés sur le langage français de programmation LSE au fil de ses différentes évolutions[15],[16],[17],[18],[19],[20],[21],[22],[23],[24].

Justification politique[modifier | modifier le code]

Les ambitions pédagogiques annoncées pour ce langage français de programmation visaient également à défendre le rôle culturel de la France dans le monde, comme le montre le texte suivant[25], remis au ministère en 1982 par l'EPI (association Enseignement Public et Informatique, réunissant des enseignants utilisateurs de l'informatique dans les différentes disciplines et des enseignants de la discipline informatique) :

« Le LSE doit être, pour l'instant, conservé.
Il est totalement maîtrisé dans son évolution par les enseignants eux-mêmes. Il est apte, par sa normalisation actuelle comme par ses développements en cours (graphique) à répondre aux besoins dans tous les ordres d'enseignement. Il peut être amélioré (Bulletin no 26, p. 14). Son vocabulaire et sa syntaxe française constituent un argument décisif dès lors que l'introduction de l'informatique est réalisée dans les collèges, les écoles et la formation permanente. Il est urgent de se préoccuper d'installer le LSE sur les micro-ordinateurs français destinés au grand public. (L'EPI a pris des contacts avec la CAMIF et THOMSON à ce sujet).
Ainsi la France est en mesure de fournir un modèle complet d'introduction de l'informatique dans l'éducation. Ce modèle peut être un des éléments permettant de retrouver le rôle culturel qu'elle a perdu dans de nombreux pays (des versions du LSE en espagnol et en anglais existent déjà). »

Un article développant ces problématiques est paru en novembre 2015 dans le bulletin 1024 n°7 de la Société Informatique de France[2].

Exemples de programme[modifier | modifier le code]

Les bouteilles de bière[modifier | modifier le code]

  1*CHANSON DES 99 BOUTEILLES DE BIERE
  2*PASCAL BOURGUIGNON, <PJB@INFORMATIMAGO.COM>, 2003
 10 FAIRE 20 POUR N←99 PAS -1 JUSQUA 1
 20 &STROF(N)
 30 AFFICHER['IL EST TEMPS D’’ALLER AU MAGASIN.',/]
 40 TERMINER
100 PROCEDURE &STROF(N) LOCAL S1,S0;CHAINE S1,S0;S1←"S";S0←"S"
110 SI N=2 ALORS S0←"" SINON SI N=1 ALORS DEBUT S1←"";S0←"" FIN
120 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',/]N,S1
130 AFFICHER[U,' BOUTEILLE',U,' DE BIERE.',/]N,S1
140 AFFICHER['EN PRENDRE UNE, LA FAIRE PASSER.',/]
150 AFFICHER[U,' BOUTEILLE',U,' DE BIERE SUR LE MUR.',2/]N-1,S0
160 RETOUR

Anagramme récursive[modifier | modifier le code]

Exemple extrait du papier de Jacques Arsac sur LSE83[10] :

1 CHAINE A,B,BP
5 FAIRE
10 AFFICHER 'A = ' ;LIRE A ; SI A=’’ ALORS FINI IS
11 AFFICHER 'B = ' ;LIRE B ; BP ← B
12
15 R SI LGR(A) # LGR(B) ALORS .FAUX. SINON &ANAG(A,B) IS
20 SI R ALORS AFFICHER A, 'EST ANAGRAMME DE ',BP
21 SINON AFFICHER A, 'N’’EST PAS ANAGRAMME DE 1, BP
22 IS
25 BOUCLER
29
30 TERMINER
31
50 FONCTION &ANAG(U,V) LOCAL J {lgr(u)=lgr(v)}
51 SI U=' ' ALORS RESULTAT .VRAI. IS
52 SI J = 0 ALORS RESULTAT .FAUX. IS
54 RESULTAT &ANAG(SCH(U,2, ' '),MCH(V,J,l, ' '))
55 $&ANAG
99 $

Exemple LSE2000[modifier | modifier le code]

(*
** MÉTHODE D'EUCLIDE POUR TROUVER LE PLUS GRAND DIVISEUR COMMUN D'UN
** NUMÉRATEUR ET D'UN DÉNOMINATEUR.
** L. Goulet 2010
*)
PROCÉDURE &PGDC(ENTIER U, ENTIER V) : ENTIER LOCAL U, V
   ENTIER T
   TANT QUE U > 0 FAIRE
       SI U< V ALORS
           T←U
           U←V
           V←T
       FIN SI
       U ← U - V
   BOUCLER
   RÉSULTAT V
FIN PROCÉDURE

PROCÉDURE &DEMO(ENTIER U, ENTIER V) LOCAL U, V
   AFFICHER ['Le PGDC de ',U,'/',U,' est ',U,/] U, V, &PGDC(U,V)
FIN PROCÉDURE

&DEMO(9,12)

Références[modifier | modifier le code]

  1. [Paru dans le Bulletin de l'EPI n° 6 de décembre 1973, p. 10-18] Jacques Hebenstreit et Yves Noyelle, « Un langage symbolique destiné à l'enseignement : LSE », sur epi.asso.fr, (consulté le 27 janvier 2021)
  2. a et b [PDF], Le système LSE par Jacques Baudé, Bulletin de la Société Informatique de France, 1024 n°7 de novembre 2015.
  3. AFNOR Z 65-020, « [1] Bulletin de l'EPI», Bulletin de l'EPI, no 50, , p. 235;
  4. Jacques Baudé, « L’expérience des "58 lycées" », sur societe-informatique-de-france.fr, (consulté le 19 janvier 2021)
  5. a et b Yves Noyelle, « La saga du LSE et de sa famille, LSD/LSG/LST », Bulletin de l'EPI, no 54, , p. 216–233 ; extrait des actes du colloque sur l'histoire de l'informatique en France (Grenoble, 3-), Philippe Chatelin (dir.), ENSIMAG, 1988, vol. 2, 428 p. (ISBN 2-950288-70-7) (éd. complète) (ISBN 2-950288-72-3) (vol. 2).
  6. Association pour un conservatoire de l'informatique et de la télématique, « Collection ACONIT, les mini-ordinateurs français Télémécanique T1600 et CII Mitra 15 », sur db.aconit.org (consulté le 30 janvier 2021)
  7. Jacques Baudé, « Liste des 58 lycées », sur epi.asso.fr, (consulté le 19 janvier 2021)
  8. Emilien Pélisset, « Pour une histoire de l'informatique dans l'enseignement français », sur edutice.archives-ouvertes.fr, (consulté le 26 janvier 2021)
  9. Stéphane Berche, « Comparaison LSE/BASIC », Revue française de pédagogie, no 56, juillet-septembre 1981, p. 33–46.
  10. a et b Jacques Arsac, « LSE83 », Bulletin de l'EPI, no 38, juin 1985, p. 116–137.
  11. [Paragraphe « Enseignement de l'informatique », sous-paragraphe « Le temps des pionniers »] Monique Grandbastien, « Enseignement de l'informatique et informatique dans l'enseignement, 50 ans déjà ! », sur epi.asso.fr, (consulté le 15 février 2021)
  12. [La décennie 1975-1985, paragraphe 8] Philippe Waniez, « Philcarto : histoire de vie d’un logiciel de cartographie », sur openedition.org, Cybergeo, (consulté le 12 février 2021)
  13. [Thèse de doctorat en Arts et sciences de l’art - Université Sorbonne Nouvelle – Paris III] Cécile Welker, « La fabrique de nouvelles images : L’émergence des images de synthèse en France dans la création audiovisuelle (1968-1989) », sur tel.archives-ouvertes.fr, (consulté le 18 février 2021), p. 57, 125
  14. [Centre d'Informatique et de Méthodologie en Architecture - Histoire, alinéa 1982] « CIMA - Histoire de la 3D », sur siggraph.org (consulté le 12 février 2021)
  15. Compagnie Internationale pour l'Informatique, CII Mitra 15 - Langage symbolique d'enseignement : LSE, CIDOC (no 4242 E/FR),
  16. Yves Noyelle et Stéphane Berche (préf. Jacques Hebenstreit), Programmer en LSE, Éditions du P.S.I., , 127 p. (ISBN 2-86470-001-8)
  17. Michel Canal (préf. Jacques Hebenstreit), Parler LSE et apprendre à l'utiliser, Éditions Eyrolles, , 143 p.
  18. Odette Arsac-Mondou, Christiane Bourgeois-Camescasse et Mireille Gourtay, Pour aller plus loin en programmation, Éditions Cedic / Fernand Nathan, , 135 p. (ISBN 2-7124-0317-7)
  19. Enseignement Public et Informatique, L.S.E. pour tous, Éditions EPI / CNDP, 174 p.
  20. Claude Cohort, L'ABC du LSE, Éditions Eyrolles, , 99 p.
  21. Christian Lafond et Pierre Muller (préf. Jacques Hebenstreit), Lire LSE, le langage français de programmation, manuel de l'utilisateur, Éditions Cedic / Nathan, , 130 p. (ISBN 2-7124-0300-2)
  22. Henri-Claude Herbert, Lire L.S.E. graphique, Éditions Cedic / Nathan, , 143 p. (ISBN 2-7124-0579-X)
  23. Collectif Amédée Ducrin, Programmation 1/2 : du problème à l'algorithme, Éditions Dunod, coll. « Dunod informatique », , 264 p. (ISBN 2-04-015669-0)
  24. Collectif Amédée Ducrin, Programmation 2/2 : de l'algorithme au programme BASIC - PASCAL - LSE, Éditions Dunod, coll. « Dunod informatique », , 257 p. (ISBN 2-04-015672-0)
  25. « Participation EPI au « schéma directeur » », Bulletin de l'EPI, no 28, décembre 1982.

Sur les autres projets Wikimedia :

Liens externes[modifier | modifier le code]

Voir aussi[modifier | modifier le code]