Pour permettre une édition partagée dans de bonnes conditions et pour éviter tous les problèmes que pourrait provoquer une déconnexion du réseau, il faut que chaque client ait sa propre structure de données et qu'il informe les autres des modifications qu'il opère dessus.
Par ailleurs, pour que justement les clients puissent visualiser la même page à des
échelles différentes et avec des polices différentes, il faut qu'il y ait deux systèmes de
coordonnées : des coordonnées absolues, communes à tous les clients, et des coordonnées
propres au contexte d'affichage de chaque client. Les clients dialoguent donc, en utilisant les
coordonnées absolues, que chacun reconvertit en fonction de son contexte d'affichage.
Nous supposons en premier lieu que tous les points de vues sont proportionnels les uns par rapport
aux autres, donc que le rapport entre longueur et largeur est constant.
Soit par exemple la figure 4.5, la zone grisée du document original en coordonnées absolues
est agrandie et représente la fenêtre d'affichage d'un client donné.
Soit (X75#75,Y75#75) les coordonées du coin supérieur gauche de la zone grisée et
(X76#76,Y76#76) les coordonnées de son coin inférieur droit.
Soit X77#77 et Y77#77 les largeur et longueur de la page en coordonnées absolues.
l'échelle d'affichage pour le client est donc :
E= X77#77 / (X76#76 - X75#75)
qui est d'ailleurs égale à
E= Y78#78 / (Y76#76 - Y75#75)
car tous les points de vues gardent les mêmes proportions.
Soit le Point M de coordonnées (x,y) sur le document original,
et le point M' de coordonnées (x',y') son image sur le document client,
on a alors :
x'=(x - X75#75)*E et
y'=(y - Y75#75)*E
et inversement
x=x'/E + X75#75 et y=y'/E + Y75#75
C'est ainsi que nous passons du système de coordonnées relatif d'un client au système
de coordonnées absolues.
Avoir supposé au départ que toutes les fenêtres d'affichage étaient proportionnelles entre elles
n'est pas contraignant, car il est toujours possible de n'afficher qu'une partie du document dans la
fenêtre. Ainsi, les points de vues sont effectivement tous proportionnels entre eux, mais la
fenêtre peut avoir n'importe quelle taille.