From 495e77cedaddddc6ff572bc139ea302b15d62d71 Mon Sep 17 00:00:00 2001
From: Guillaume Huard <Guillaume.Huard@imag.fr>
Date: Wed, 29 May 2024 11:20:56 +0200
Subject: [PATCH] Doc for transform

---
 Complete_documentation.org |  1 +
 vplorg.org                 | 28 +++++++++++++++++++---------
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/Complete_documentation.org b/Complete_documentation.org
index 2c5b5ba..2e582dc 100644
--- a/Complete_documentation.org
+++ b/Complete_documentation.org
@@ -6,6 +6,7 @@
 #+OPTIONS: title:nil
 #+LANGUAGE: fr
 #+EXPORT_EXCLUDE_TAGS: noexport
+#+TITLE: iVPL
 
 #+BEGIN_EXPORT HTML
 <center><font size="200%"><b>L'écosystème iVPL</b></font><br>Guillaume Huard<pre>
diff --git a/vplorg.org b/vplorg.org
index 2ec0067..78b0b2e 100644
--- a/vplorg.org
+++ b/vplorg.org
@@ -291,22 +291,32 @@ destinations de la catégorie.
 Le processus de copie des fichiers décrits par la =files_table= est influencé
 par plusieurs variables dont il est possible de fixer la valeur dans le fichier
 =local_settings.sh=. Ces variables sont toutes des tables d'association qui
-acceptent des valeurs par défaut définies en donnant une valeur à la table
-elle-même (ce qui correspond à l'entrée =0=). Les valeurs par défaut, si elles
-sont données, s'appliquent à toutes les clés non définies. Les variables prises
-en compte sont :
-- =src_prefix= : table d'association contenant, pour chaque catégorie, un nom de
+acceptent des valeurs par défaut définies soit en donnant une valeur à la table
+elle-même (ce qui correspond à l'entrée =0=), dans les cas de =src_prefix= et
+=remove_prefix=, soit en donnant une valuer aux clés =src= et =dst=, dans le cas
+de =transform=. Les valeurs par défaut, si elles sont données, s'appliquent à
+toutes les clés non définies. Les variables prises en compte sont :
+- =src_prefix= : contient, pour chaque catégorie, un nom de
   répertoire dans lequel les fichiers de la catégorie doivent être recherchés.
   La valeur pas défaut de cette table est =src= si le répertoire =src= existe
   dans le répertoire courant et =.= sinon ;
-- =remove_prefix= : table d'association contenant, pour chaque destination, un
+- =remove_prefix= : contient, pour chaque destination, un
   préfixe à supprimer du nom des fichiers copiés vers cette destination.
+- =transform= : contient, pour chaque source (catégories définies) ou destination
+  (les répertoire vers lesquels copier les fichiers), une expression =bash= (à
+  protéger) dépendant de la variable =$filename= (nom de fichier dans la
+  =files_table=) qui, lorsqu'elle sera évaluée, devra correspondre respectivement
+  au nom du fichier source ou destination à utiliser pour =$filename=. Cette
+  variable est la plus générale des trois, =src_prefix= et =remove_prefix= sont
+  exprimées en interne dans =vplorg= par les valeurs de =tranform= suivantes :
+  - ~src_prefix[source]=Repertoire~ équivaut à ~transform[source]='Repertoire/$filename'~
+  - ~remove_prefix[destination]=Prefixe~ équivaut à ~transform[destination]='${filename##Prefixe}'~
 Ces variables, ainsi que l'ensemble des fichiers de chaque catégorie (variable
 =files_table= avec, pour chaque catégorie, une valeur correspondant à l'ensemble
 des fichiers séparés par des espaces) sont utilisables dans tout bloc de code
-exécutable d'une activité =X.org=. En outre, pour chaque catégorie, il existera
-une variable de même nom dans le fichier =vpl_evaluate.cases= dont la valeur est
-la liste des noms de fichier de la catégorie.
+(shell) exécutable d'une activité =X.org=. En outre, pour chaque catégorie, il
+existera une variable de même nom dans le fichier =vpl_evaluate.cases= dont la
+valeur est la liste des noms de fichier de la catégorie.
   
 A titre d'exemple, la =files_table= et les =local_settings.sh= de l'exemple
 d'introduction =C_fonction.org= sont les suivants :
-- 
GitLab