Fix
[texmacs.git] / internal / reports / Proclus-Xlink-Alain.tm
blob83bf4cbb6fae406fcca1a963dfc1f00b7e8cae9e
1 <TeXmacs|1.0.3.6>
3 <style|<tuple|generic|proclus>>
5 <\body>
6   \;
8   Je commence par essayer des dégager quelques différences de conception
9   entre Xlink et Proclus. Mon impression en regardant à nouveau Xlink et ton
10   adaptation c'est que Xlink est "orienté loci" alors que Proclus est
11   "orienté liens". Ils semblent à cet égard duaux.
13   Je précise...
15   Ton système me semble offrir ses possibilités à partir des loci et en
16   particulier d'être bien pour gérer les loci de même type ou l'héritage : il
17   privilégie le copiage et la reproduction des loci. L'accent mis sur les id
18   non uniques et la surchage en témoigne. L'exemple (traduction du manuel)
19   que tu m'as donné me semble en fait bien relever de cela (j'y reviendrai).
21   Proclus s'applique au contraire aux liens (à partir de leurs types) : le
22   traitement (l'équivalent des roles) doit se faire dans une "feuille de
23   liens" qui déterminera le traitement à appliquer suivant les types des
24   liens. Mais sans modifier le contenu des liens. Les types deviennent des
25   paramètres (auxquels d'autres peuvent être ajoutés comme tu le notais
26   (notamment l'environnement)) pour des opérations qui peuvent être traitées
27   globalement sur le document (faire ceci pour tous les liens de type \x13
28   application \x14 sauf si la source etc.) ou locale sur un locus considéré.
29   Dans Proclus, la surchage porte sur les types.
31   Cela peut se voir aussi au niveau des conflits que chacun des systèmes a à
32   gérer. Dans le tien, ce que tu dois considérer ce sont les conflits qui
33   viennent des loci, dans Proclus, les conflits viennent (viendront...) de la
34   gestion d'un lien qui a plusieurs types.
36   <locus|Mais peut-être ton système peut-il néanmoins permettre de reproduire
37   des loci et des liens à la Proclus. Ce serait bien de tirer cela au clair.
38   Cela renvoie aux questions des noms mnémotechniques et de la base de
39   données de liens.|<tuple|Proclus-Xlink-Alain|27|Proclus-Xlink-Joris|14|<tuple|thème>||Proclus-Xlink-Joris|13|<tuple|thème>|>>
41   J'ai aussi toujours, peut-être à tort, l'impression que Xlink reste
42   tributaire de son contexte de création lié au web, c'est-à-dire qu'il est
43   fait d'une part pour permettre de faire des choses même quand les buts sont
44   dans des docs dont on n'a pas les droits d'écriture et surtout qu'il est
45   conçu pour créer des documents dynamiques mais en fait "figés", sur 
46   lesquels on n'est plus en train de travailler. Autrement dit, Xlink est
47   toujours fondé sur un modèle séparant auteur-lecteur ou encore le temps de
48   création du document et le temps de lecture du document : l'auteur peut
49   créer des choses sophistiquées et très dynamiques, mais quand il le fait il
50   n'est pas dans de bonnes conditions de lecture de son document, quant au
51   lecteur il ne peut pas écrire. Il y a une distinction nette, une
52   succession, entre le moment de la composition du document et le moment de
53   sa lecture. Il me semble là aussi que ton exemple avec le Manuel illustre
54   malgré tout un peu ceci (dans la mesure où tu veux éviter au traducteur de
55   créer un locus parce que cela est assez compliqué, tu ne veux donc qu'il
56   n'agisse qu'à un certain niveau même si ici le traducteur est bcp plus
57   qu'un lecteur, mais il n'est qu'un lecteur du point de vue des liens).
59   Proclus au contraire est fondé sur l'idée de brouiller cette opposition et
60   permet de créer des liens au moment de la lecture, ce moment étant
61   indiscernable de celui de l'écriture. Les liens dans Proclus sont à la fois
62   des outils de travail et de lecture (d'où le nom "Proclus"...). L'usage des
63   liens dans ton système (mais je m'en fais peut-être une mauvaise idée) me
64   semble assez similaire à celui des environnements : l'environnement est
65   très puissant mais prédéfini dans une feuille de style (dans un langage peu
66   convivial, i.e. l'utilisateur n'est pas vraiment sensé trop y toucher) mais
67   ensuite on peut en créer des instances très aisément (c'est pour cela que
68   Proclus peut éventuellement être reproduit à l'intérieur de celui-ci).
70   \;
72   Enfin, tu mets l'accent sur des liens <em|logiques>, dans Proclus les liens
73   servent à stocker une information relationnelle. Mais peut-être est-ce
74   seulement parce que tu mets l'accent sur la partie qui n'est pas disponible
75   dans Proclus.
77   \;
79   J'essaye maintenant de voir <locus|<strong|les possibilités offertes par
80   les noms mnémotechniques>|<tuple|Proclus-Xlink-Alain|12|Proclus-Xlink|6|<tuple|thème>|>>,
81   sans considérer pour l'instant la possibilité qu'ils soient communs à
82   plusieurs loci (ce serait bien que tu complètes la liste)
84   1) créer un lien sans se déplacer vers le but.
86   2) créer un lien sans avoir le droit d'écriture dans le doc. contenant le
87   but.
89   3) créer un lien avec un doc. absent lors de la création du lien.
91   4) <locus|créer un lien avec un doc. sur lequel plusieurs personnes
92   travaillent (c'est un pb que je rencontre dans l'usage de proclus au sein
93   du groupe de travail sur l'histoire de la géométrie algébrique réelle) : pb
94   de conflit des identifiants absolus si les personnes travaillent sur des
95   copies du doc. Peut-être ton système complexe d'identifiant absolu pourrait
96   résoudre cela. C'est à voir (il y a toujours le pb de la fusion des loci
97   créés dans deux copies différentes du même doc. sur une même partie de
98   texte).|<tuple|Proclus-Xlink-Alain|13|Proclus-Xlink-Joris|13|<tuple|thème>||Proclus-Xlink-Joris|10|<tuple|thème>|>>\ 
100   5) permet l'identification de locus différents, là encore, avec les
101   avantages des points 1)-4).
103   \;
105   Mais tout n'est peut-être pas aussi idyllique... car :
107   1) il faut tout de même connaître les noms mnémotechniques (sans perdre les
108   avantages de 1)-4)). Y a-t-il alors une différence fondamentale (dans
109   l'implémentation) entre connaître les noms mnémotechniques et connaître les
110   identifiants uniques?
112   2) <locus|Risque de ne pas pouvoir créer de lien réciproque ou alors de le
113   faire au prix de perdre les avantages de 1)-4). Cela nous renvoie à la base
114   de liens.|<tuple|Proclus-Xlink-Alain|16|Proclus-Xlink-Joris|13|<tuple|référence>|>>
116   \;
118   Je distinguerai a) le confort lors de la création de liens apporté par les
119   noms mnémotechniques de b) les fonctionalités nouvelles qu'ils permettent
120   d'avoir.
122   a) me semble tout à fait compatible avec Proclus tel qu'il est implémenté.
124   b) Ce serait bien que tu donnes des exemples concrets de liens qui ne te
125   semblent pas être couverts par Proclus, non pas dans sa version actuelle,
126   mais dans ses évolutions possibles ;-). Ton exemple du triangle ne me
127   convainc pas bcp...
129   \;
131   J'essaye maintenant de voir <locus|les possibilités offertes par
132   <strong|les identifiants non uniques>|<tuple|Proclus-Xlink-Alain|15|Proclus-Xlink-Joris|18|<tuple|thème>|>>
133   (ce serait bien que tu complètes la liste) <hspace|1spc>:
135   <\itemize-minus>
136     <item>identifier des loci sans créer de lien <space|0.25fn>(gain de
137     robustesse) <space|0.25fn>;
138   </itemize-minus>
140   Mais alors toujours la même question <hspace|1spc>: en quoi cela concerne
141   les liens<space|0.25fn>? Ne pourrait-il pas s'agir d'une sorte d'extension
142   du sytème de liens mais autonome par rapport à celui-ci. Un système
143   d'identification entre loci étant défini, il y aurait des options
144   d'extension des liens tenant compte des identifications de loci.
146   <section|Réponses diverses>
148   A lire à partir du fichier <locus|Proclus-Xlink-Joris|<tuple|Proclus-Xlink-Alain|7|Proclus-Xlink-Joris|11|<tuple|référence>|>>.
150   <locus|Sur l'intérêt pour le calcul formel je n'ai rien à dire. C'est toi
151   qui peut mieux apprécier si cela relève d'un traitement par les liens. Pour
152   le reste, cela me semble inutilement compliqué si c'est seulement pour ne
153   pas utiliser de \ nom absolu pour un document. Même dans ton système un nom
154   absolu revient tout simplement à tjrs considérer le document comme un locus
155   et à lui attribuer un label et ensuite à utiliser ce label comme nom
156   absolu. Tu risques d'avoir besoin de ce locus par défaut, ne serait-ce que
157   pour préciser la langue du document par exemple. Tu disposes donc sans pb
158   d'un nom absolu. Qu'y a-t-il ensuite de si compliqué à générer des
159   identifiants automatiques ? Il suffit d'avoir quelque part dans le doc. une
160   variable qui contient le numéro du dernier id créé comme dans toute base de
161   données.<next-line>Dans Proclus ce locus pourrait toujours être ("nom abs",
162   0). On pourrait y accéder par le menu (car il ne contiendrait aucun texte)
163   et il faudrait le protéger contre l'effacement.|<tuple|Proclus-Xlink-Alain|8|Proclus-Xlink-Joris|10|<tuple|question|thème>|>>
165   \;
167   \;
169   \<gtr\> 2) Equivalence entre identifiants uniques ou differents loci avec
170   le meme identifiant unique
172   <locus|Cela ne passe pas nécessairement (ce qui ne l'exclut pas) par un
173   traitement à partir du nom du locus. Cela peut se faire à partir de types
174   de lien avec les types "père", "fils", "frère" (on peut trouver mieux comme
175   noms...) avec les héritages automatiques que tu devines.<next-line>Je me
176   demande si les cas qui ne relèvent pas de ce traitement relèvent vraiment
177   d'un traitement par liens. Peut-être ne faut-il pas assimiler les
178   glossaires, indexes, etc. à des liens. Je ne sais pas... Cela oblige à
179   \ stocker de l'information qui est en fait redondante. Par exemple, les
180   références à un théorème doivent-elles traitées comme des liens quand les
181   théorèmes sont numérotés et que leur application est signalée de manière
182   stéréotypée dans les démonstrations?<next-line>C'est un pb que je rencontre
183   à l'usage avec Proclus. Comment gérer ce qui est relié en tant que même
184   idée<space|0.25fn>? Ce que je fais actuellement c'est donner un nom à cette
185   idée, en faire un locus placé plus ou moins n'importe où et de créer
186   ensuite des liens avec ce locus. Même si l'on pouvait retrouver cette idée
187   facilement en lui attribuant un id. mnémotechnique (ce qui améliore déjà
188   bcp les choses), cela serait-il le traitement le plus
189   satisfaisant<space|0.25fn>? La plupart des liens de ce document sont en
190   définitive de cette espèce<space|0.25fn>! Il s'agit alors simplement de
191   définir des champs typés. C'est bien sûr très simple. On pourrait mettre
192   autant de types que l'on voudrait et ensuite on définirait le traitement
193   que l'on veut des champs de même type en définissant la portée de ce
194   traitement (quels fichiers<space|0.25fn>?). Des types logiques plus
195   sophistiqués comme tu les envisages peuvent être utiles. Mais s'agit-il
196   toujours de liens<space|0.25fn>?<next-line>Je me demande si l'on n'en
197   arrive pas à une distinction entre <hspace|1spc>:<next-line>identification
198   (liaison) par le locus <hspace|1spc>: c'est essentiellement ton
199   système.<next-line>identification (liaison) par un lien <hspace|1spc>:
200   c'est essentiellement Proclus.|<tuple|Proclus-Xlink-Alain|9|Proclus-Xlink-Joris|12|<tuple|thème|question>|>>\ 
202   \;
204   <locus|Ce qui suit peut être aussi à considérer (ce n'est pas une
205   nécessairement une alternative) : pouvoir utiliser n'importe quelle partie
206   d'un locus comme identifiant sans avoir préalablement à la déclarer comme
207   tel. Par exemple, un théorème qui est dans un locus contient "somme de
208   carrés", il pourrait être intéressant de pouvoir créer un lien en appelant
209   "somme de carrés" (ou un ensemble de mots : "somme, carrés, Pythagore"), le
210   système se débrouillant pour ensuite déterminer l'identifiant (absolu...)
211   qui correspond (et bien sûr d'indiquer quand il ne trouve pas ou s'il y a
212   plusieurs réponses). Cela me semble intéressant à l'usage et évite d'avoir
213   à se souvenir exactement si le nom mnémotechnique était "th pyth",
214   "Pythagore", "Théorème de Pythagore", "Pyth", etc... Qu'il s'agisse d'un
215   théorème pourrait être aussi indiqué (comme tu l'envisageais dans les
216   attribus). Cette solution me semble assez intéressante car relativement
217   facile à implémenter, elle offre certains des avantages des noms
218   mnémotechniques tout en évitant d'avoir à gérer un système de
219   correspondance et de conflits entre les noms
220   mnémotechniques.|<tuple|Proclus-Xlink-Alain|10|Proclus-Xlink|6|<tuple|thème|question>|>>
222   <locus|Ces considérations sur le nom mnémotechnique me font voir que
223   Proclus force actuellement les liens à être réciproques et oblige notamment
224   que le document contenant le but soit actuellement accessible
225   (présent+droits d'écriture). C'est incontestablement un défaut. Il n'y a
226   pas de raison de forcer la réciprocité et il est surtout utile de pouvoir
227   créer des liens avec un doc. soit absent soit pour lequel je n'ai pas les
228   droits d'écriture. Le seul moyen de faire cela me semble effectivement
229   d'avoir des noms mnémotechniques distincts de l'identifiant.<next-line>Il
230   faudrait (et il est possible) ajouter à Proclus la possibilité de créer des
231   liens unidirectionnels avec un identifiant mnémotechnique pour le but. Mais
232   il est bien clair que l'on perd dans ces conditions le lien réciproque (ce
233   qui est embêtant), ce qui ne sera peut-être pas le cas dans ton
234   système.<next-line>Si en plus on veut des liens réciproques, il faut une
235   base de liens annexes.<next-line>Et là il faut que tu m'expliques comment
236   un document avec lequel des liens ont été créés en son absence saura, une
237   fois présent bien sûr..., les liens crées avec
238   lui.|<tuple|Proclus-Xlink-Alain|11|Proclus-Xlink|6|<tuple|thème>||Proclus-Xlink-Joris|13|<tuple|thème>|>>\ 
240   \;
242   <locus|Je me demande s'il ne faudrait pas définir un \x13 copier-lier \x14. Cela
243   consisterait à choisir entre liens de type \x13 père\x14\x13 fils \x14\x13 frère \x14, le
244   texte affiché étant par défaut le même. <next-line>Un copier normal
245   oublierait le locus.<next-line>Et basta<space|0.25fn>!<next-line>Il serait
246   intéressant (au moins dans Proclus) d'avoir une opération \x13 consolidation \x14
247   <hspace|1spc>: tous les liens enregistrés sur un frère ou un père seraient
248   alors effectivement enregistrés dans le locus considéré afin de pouvoir
249   préserver les liens même si l'un des documents contenant un frère ou un
250   père disparaît. C'est aussi certainement un aspect sur lequel ton système
251   est plus solide, d'un autre côté, quand les liens sont stockés dans les
252   loci on risque moins de perdre <em|toute> l'information relative aux liens
253   (qui est souvent à moitié conservée dans le lien réciproque stocké
254   ailleurs) mais on risque plus souvent d'en perdre un peu en détruisant un
255   locus...|<tuple|Proclus-Xlink-Alain|14|Proclus-Xlink-Joris|14|<tuple|thème>||Proclus-Xlink-Joris|17|<tuple|thème>|>>
257   \;
259   <locus|<strong|Implémentation des noms mnémotechniques sur
260   Proclus>.<next-line>De la même manière que pour les abs.
261   names.<next-line>Création d'un dictionnaire dans un fichier global annexe.
262   Les noms mnémotechniques n'interviennent qu'en surface <hspace|1spc>: ils
263   ne sont pas stockés dans le locus, les liens sont toujours enregistrés à
264   partir des identifiants absolus.|<tuple|Proclus-Xlink-Alain|17|Proclus-Xlink|6|<tuple|thème>|>>
266   \;
268   <locus|Concernant l'exemple que tu m'as donné du manuel dans les
269   différentes langues.<next-line>En fait, je ne vois plus bien son intérêt...
270   Je ne vois pas ce qu'il y a de compliqué pour le traducteur à créer un lien
271   qui pourrait n'être d'ailleurs ici qu'un lien html (le lien inverse n'étant
272   pas très intéressant). <next-line>Dans Proclus, le traducteur créerait tout
273   simplement un lien de type "référence" vers la traduction en \ y renvoyant
274   éventuellement par un nom mnémotechnique si le document n'est pas
275   accessible (car c'est effectivement qch d'utile). Au pire, il peut créer un
276   lien de type "traduction" et ensuite au niveau de la "feuille de liens" il
277   sera fait ce qu'il faut pour trouver la bonne langue. Mais il n'est pas
278   difficile pour un traducteur de connaître sa langue (!) et cela peut être
279   mis parmi les types par défaut.<next-line>Je comprends que tu veux stocker
280   à part la structure des liaisons commune aux différentes langues de
281   traduction, est-ce vraiment très important? Pourrais-tu me donner un
282   exemple où cela serait vraiment intéressant?<next-line>Encore une fois, le
283   gain possible que je vois dans ton système c'est de pouvoir créer sans
284   avoir accès au doc. contenant le but des liens réciproques, alors qu'il est
285   clair que dans l'implémentation actuelle de Proclus cela n'est pas possible
286   (mais peut être fait en renonçant au lien
287   réciproque).|<tuple|Proclus-Xlink-Alain|19|Proclus-Xlink|6|<tuple|thème>|>>
289   <\locus>
290     Cela nécessite des identifiants mnémotechniques qui requièrent
291     eux-mêmes<next-line>
293     de pouvoir connaître ces identifiants sans avoir accès au doc.<next-line>
295     de retrouver le locus à partir de cet identifiant<next-line>
297     J'aimerais mieux comprendre comment tu fais cela.<next-line>
299     \ Ton système supporte-t-il bien par exemple l'exportation de seulement
300     quelques-uns de tes\ 
302     documents liés<space|0.25fn>?<next-line>
304     Tu va devoir exporter ta base de liens. Il n'y en qu'une
305     seule<space|0.25fn>? <abbr|etc.>
307     \;
308   </locus|<tuple|Proclus-Xlink-Alain|20|Proclus-Xlink|6|<tuple|thème>||Proclus-Xlink-Joris|14|<tuple|thème>|>>
310   <locus|Bilan sur le copier-coller<next-line>Actuellement, tu peux copier un
311   locus dans le doc. d'où il provient<space|0.25fn>; toutes les copies seront
312   des locus frères (il ne faut pas changer le
313   texte).|<tuple|Proclus-Xlink-Alain|22>>
314 </body>
316 <\initial>
317   <\collection>
318     <associate|absolute-name|Proclus-Xlink-Alain>
319     <associate|language|french>
320     <associate|locus-num|27>
321     <associate|page-bot|30mm>
322     <associate|page-even|30mm>
323     <associate|page-odd|30mm>
324     <associate|page-reduce-bot|15mm>
325     <associate|page-reduce-left|25mm>
326     <associate|page-reduce-right|25mm>
327     <associate|page-reduce-top|15mm>
328     <associate|page-right|30mm>
329     <associate|page-top|30mm>
330     <associate|page-type|a4>
331     <associate|par-width|150mm>
332     <associate|proclus-active-types|<tuple|référence|citation|application|lié|réciproque|utilise|généralisation|référent|exemple|développement|idée|définition|théorème|commentaire
333     sur|commentaire|contre-exemple|cas particulier|question|thème|analyse|Français|Latin|Anglais|Allemand|bla|blou|réponse|réponose|question>>
334     <associate|proclus-type-list|<tuple|référence|citation|application|lié|réciproque|utilise|généralisation|référent|exemple|développement|idée|définition|théorème|commentaire
335     sur|commentaire|contre-exemple|cas particulier|question|thème|analyse|Français|Latin|Anglais|Allemand|bla|blou|réponse|réponose|question>>
336   </collection>
337 </initial>
339 <\references>
340   <\collection>
341     <associate|auto-1|<tuple|1|?>>
342   </collection>
343 </references>
345 <\auxiliary>
346   <\collection>
347     <\associate|toc>
348       <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|Réponses
349       diverses> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
350       <pageref|auto-1><vspace|0.5fn>
351     </associate>
352   </collection>
353 </auxiliary>