OpenLLM-France/wikimedia huggingface dataset:
# Python

| Chap. 1 : | L'interpréteur |
| Chap. 2 : | Les types de base |
| Chap. 3 : | Les structures de données |
| Chap. 4 : | Les instructions de contrôle |
| Chap. 5 : | Gestion des fichiers |
| Annexe : | Référence |
| Exercice : | Dates |
Sur les autres projets Wikimedia :
* « Python (langage) » sur Wikipédia
* « Python » sur Wikibooks

## Présentation [Modifier]

Python est un langage de programmation libre (open source) d’utilisation générale et multiplateforme. Il fonctionne sous un grand nombre de plateformes incluant Linux, Windows, Mac OS X, OS/2 ainsi que les nombreuses variantes dérivées d'Unix.
Il est parfois considéré comme un langage réservé au script, à tort, car il offre un grand confort dans le développement d’applications de divers types.
Sa syntaxe est concise et épurée et permet ainsi un gain de temps pour l'écriture du code. Python offre une multitude de modules en standard qui apportent des fonctionnalités allant du système à la gestion du courrier électronique, et proposent des implantations robustes de diverses structures de données.
Python allie ainsi les avantages des langages interprétés tels que le Bash et grâce à ses nombreuses fonctionnalités des langages compilés tels que Java et C.
La machine virtuelle Python permet d'exécuter le code directement sans le compiler. Il est possible d’utiliser Python de deux manières différentes : soit en écrivant du code source dans des fichiers dont l'extension sera .py, soit en tapant ce code directement dans l'interpréteur.
Créé originellement par le programmeur Guido van Rossum autour de 1990, contrairement à de nombreux langages qui sont supportés par des sociétés, la nature open source du langage Python lui permet d'évoluer grâce à la communauté des développeurs Python. Une mise à jour importante a été le passage de la version 2 à la version 3. Ce cours est orienté sur la version 3 de Python.

## Objectifs [Modifier]

Saisir les commandes de base du Python (affichage, condition, boucle...) Comprendre de petits programmes simples tout en apprenant progressivement le langage.

## Niveau et prérequis conseillés [Modifier]

Leçon de niveau 14.
* Introduction générale à la programmation

## Référents [Modifier]

Ces personnes sont prêtes à vous aider concernant cette leçon :
* JackPotte : s’inspire des bots wikimedia existants.
* VIGNERON (d · c · b · s) : bonne connaissance de base en Python. Même si je ne suis pas spécialiste du domaine, je reste à votre disposition (éventuellement me contacter par mail pour être certain d’avoir une réponse rapide).
* Eric.LEWIN (d · c · b · s) : aide pour l'utilisation pratique de Python à fin de calcul scientifique de base (numpy, scipy, natplotlib, pandas, simpy).
# Sels minéraux/Présentation de la leçon

Des sels minéraux (non organiques) sont nécessaires à la composition des tissus ; ils participent également à certains processus comme celui du fonctionnement des enzymes, la contraction musculaire, les réactions nerveuses et la coagulation du sang. Ces substances, qui doivent toutes faire partie du régime alimentaire, sont divisées en deux catégories ; les éléments principaux : calcium, phosphore, magnésium, sodium, fer, iode, et potassium ; et les oligoéléments : cuivre, cobalt, manganèse, fluor et zinc présents à l’état de traces dans l’organisme.
# Sels minéraux/Magnésium

Le magnésium, présent dans la plupart des aliments, est indispensable au métabolisme et joue un rôle important dans le maintien du potentiel électrique des cellules nerveuses et musculaires. Une carence en magnésium chez les personnes dont le régime alimentaire est déséquilibré, en particulier les alcooliques, est responsable des tremblements et convulsions.
| Phosphore | Sodium |
# Sels minéraux/Oligoéléments

Les oligoéléments sont des sels minéraux indispensables à l’organisme, dont seules d’infimes quantités (traces) sont nécessaires. Leur fonctionnement est très peu connu. On dispose seulement d’informations concernant les effets des carences en oligoéléments sur la santé, en particulier chez l’animal. La majorité des aliments comportent des oligoéléments en quantités suffisantes.
Parmi les principaux oligoéléments, on peut citer le cuivre, qui entre dans la composition de plusieurs enzymes et de certaines protéines sanguines, cérébrales et hépatiques. Une carence en cuivre s’accompagne d’une incapacité à utiliser le fer dans la formation de l’hémoglobine. Le zinc joue également un rôle important dans la formation des enzymes. On pense qu’une carence en zinc peut compromettre la croissance et, dans les cas graves, être à l’origine de nanisme. On a découvert que le fluor, emmagasiné principalement dans les dents et les os, était nécessaire à la croissance animale. Les fluorures, catégorie de composés fluorés, contribuent de façon importante à la protection contre la déminéralisation des os. L’administration systématique de fluor (la fluoration) entraîne une réduction des caries dentaires de 40 p. 100. Le chrome, le molybdène et le sélénium sont aussi des oligoéléments.
| Iode | Vitamines |
# Sels minéraux/Prérequis conseillés

Facultativement : Nutrition.
# Service de noms de domaine

Veuillez consulter l'entrée Système de noms de domaine de Wikilivres, le projet de rédaction de manuels pratiques libres évoluant de concert avec Wikiversité.
# Sels minéraux/Phosphore

Le phosphore, présent dans de nombreux aliments et en particulier dans le lait, se combine au calcium dans les os et les dents. Il joue un rôle important dans le métabolisme énergétique des cellules impliquant les glucides, les lipides et les protéines.
Le phosphore est un élément qui peut être stocké dans le sol au niveau du complexe argilo-humique (sur un ion calcium par exemple mais pas directement sur le complexe argilo humique). Le phosphore est un macro-élément vital pour les végétaux. En effet il contribue au développement racinaire des végétaux et permet à ceux-ci de stocker de l'énergie sous forme d'adénosine triphosphate.
| Calcium | Magnésium |
# Sels minéraux/Sodium

Le sodium, présent en faible quantité dans la plupart des aliments naturels, est présent en plus grande quantité dans les aliments assaisonnés ou cuisinés. On le trouve dans le liquide extracellulaire, qu’il contribue à réguler. Un excès de sodium provoque des œdèmes, accumulations excessives de liquide extracellulaire. On a maintenant la preuve qu’un régime alimentaire trop riche en sel favorise l’hypertension artérielle.
| Magnésium | Fer |
# Rayonnement du corps noir/Présentation de la leçon

Le « corps noir » est un modèle théorique permettant d'étudier les interactions entre la matière, la température et la lumière. Son étude a notamment amené aux prémisses de la théorie quantique de la lumière, mais demeure, dans le cadre classique, un outil puissant.
# Rayonnement électromagnétique/Approximation dipolaire électrique

Dans ce cours, nous allons préciser faire une nouvelle approximation, plus forte que l’approximation en champ lointain, qui permet de modéliser le rayonnement d'un dipôle électrique oscillant de moment dipolaire ${\vec {p}}$.

## Notion de dipôle électrique
### Cas discret

Soit $N$ charges $q_{i}$ localisées à des position respectives ${\vec {r}}_{i}$. On appelle moment dipolaire (électrique), la grandeur vectorielle notée ${\vec {p}}$ définie par : ${\vec {p}}=\sum _{i=1}^{N}q_{i}{\vec {r}}_{i}$

### Extension au cas continu

Dans le cas continu, la quantité infinitésimal de charge $\delta q$ s'écrit $\delta q=\rho ({\vec {r}}')\mathrm {d} ^{3}{\vec {r}}'$.
Ainsi $\mathrm {d} {\vec {p}}=\rho ({\vec {r}}'){\vec {r}}'\mathrm {d} ^{3}{\vec {r}}'$.
Le moment dipolaire ${\vec {p}}$ est défini par :
${\vec {p}}=\int \rho ({\vec {r}}'){\vec {r}}'\mathrm {d} ^{3}{\vec {r}}'$

### Interprétation

Le moment dipolaire décrit la répartition de charge d'un système.

## Rayonnement d'un dipôle électrique oscillant
### Rappel

On part de l'expression de ${\vec {A}}$ dans l’approximation champ lointain :
${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}\int {\vec {j}}({\vec {r}}')e^{-ik{\vec {u}}\cdot {\vec {r}}'}\mathrm {d} ^{3}{\vec {r}}'$

### Hypothèses

On part déjà des hypothèses classiques de l'approximation en champ lointain : $|{\vec {r}}|>>L$ et $|{\vec {r}}|>>{\frac {L^{2}}{\lambda }}$.
On aimerait cette fois-ci écrire $e^{-ik{\vec {u}}\cdot {\vec {r}}'}\simeq 1$.
Pour ça il faut $k|{\vec {r}}'|\simeq {\frac {2\pi }{\lambda }}L<<2\pi$ d'où $\lambda >>L$.
De plus, on constate $|{\vec {r}}|>>{\frac {L^{2}}{\lambda }}$ implique $\lambda >>L$, on peut donc se contenter de cette dernière condition parmi les deux.
On peut se placer dans l'approximation dipolaire électrique si les deux conditions suivantes sont réunies :
* $|{\vec {r}}|>>L$
* $\lambda >>L$

### Expression du potentiel dans l'approximation dipolaire électrique

Avec ces conditions on a :
${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}\int {\vec {j}}({\vec {r}}')\mathrm {d} ^{3}{\vec {r}}'$
Or, on a ${\vec {j}}({\vec {r}}')=\rho ({\vec {r}}'){\vec {v}}({\vec {r}}')={\frac {\mathrm {d} {\vec {r}}'}{\mathrm {d} t}}\rho ({\vec {r}}')=-i\omega {\vec {r}}'\rho ({\vec {r}}')$
Ainsi :
${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}(-i\omega )\int \rho ({\vec {r}}'){\vec {r}}'\mathrm {d} ^{3}{\vec {r}}'$
Or, on a ${\vec {p}}=\int \rho ({\vec {r}}'){\vec {r}}'\mathrm {d} ^{3}{\vec {r}}'$.
Ainsi :
${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}(-i\omega {\vec {p}})$
avec ${\vec {p}}$, le moment dipolaire électrique du dipôle oscillant à la pulsation $\omega$.
| Approximation champ lointain | Approximation dipolaire magnétique |
# Rayonnement électromagnétique/Approximation dipolaire magnétique

Dans ce cours on va, cette fois-ci, s'intéresser au rayonnement d'un dipôle magnétique.

## Notion de dipôle magnétique

On considère une boucle de courant $I$ et de surface $S$.
On appelle moment magnétique, noté ${\vec {m}}$ défini par ${\vec {m}}=I{\vec {S}}$.
${\vec {S}}$ est le vecteur surface, de norme $S$ et de direction compatible avec le sens de $I$ d'après la règle de la main droite.

## Avec une densité volumique de courant

Cette partie est pour la culture mais ne sert pas directement au calcul.
Le moment magnétique infinitésimal est défini par $\mathrm {d} {\vec {m}}={\frac {1}{1}}{\vec {r}}'\wedge {\vec {j}}({\vec {r}}')\mathrm {d} ^{3}{\vec {r}}'$.
On appelle moment magnétique, noté ${\vec {m}}$ défini par :
${\vec {m}}=\int {\frac {1}{2}}{\vec {r}}'\wedge {\vec {j}}({\vec {r}}')\mathrm {d} ^{3}{\vec {r}}'$

## Approximation dipôle magnétique

Il s'agit des mêmes hypothèses que l'approximation champ lointain, avec cette fois-ci ${\vec {p}}={\vec {0}}$.
Ainsi dans le DL de $e^{-ik{\vec {u}}\cdot {\vec {r}}'}$ on ne peut prendre que le second ordre (sinon ${\vec {A}}={\vec {0}}$) de la forme $-ik{\vec {u}}\cdot {\vec {r}}'$
Ainsi :
${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}\int {\vec {j}}({\vec {r}}')(-ik{\vec {u}}\cdot {\vec {r}}')\mathrm {d} ^{3}{\vec {r}}'$
On considère ici une boucle de courant $I$, ainsi $\int {\vec {j}}({\vec {r}}')(-ik{\vec {u}}\cdot {\vec {r}}')\mathrm {d} ^{3}{\vec {r}}'=\int I(-ik{\vec {u}}\cdot {\vec {r}}')\mathrm {d} {\vec {r}}'$
Il faut ensuite utiliser la formule d'analyse vectorielle suivante : $\int f({\vec {r}}')\mathrm {d} {\vec {r}}'=-\int {\overrightarrow {\mathrm {grad} }}f\wedge \mathrm {d} ^{2}{\vec {r}}'$
Ainsi on obtient :
${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}Iik\int {\overrightarrow {\mathrm {grad} }}({\vec {u}}\cdot {\vec {r}}')\wedge \mathrm {d} ^{2}{\vec {r}}'={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}Ii{\vec {k}}\wedge \int \mathrm {d} ^{2}{\vec {r}}'$
Finalement : ${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}i{\vec {k}}\wedge (I{\vec {S}})$
Finalement :
${\vec {A}}({\vec {r}})={\frac {\mu _{0}}{4\pi }}{\frac {e^{ikr}}{r}}(i{\vec {k}}\wedge {\vec {m}})$
* Approximation dipolaire électrique
# Rayonnement électromagnétique/Prérequis conseillés

* Champ électrostatique, potentiel
* Champ magnétique, magnétostatique
* Analyse vectorielle
* quelques notions sur la transformée de Fourier
# Rayonnement électromagnétique/Présentation de la leçon

Un grande partie de nos moyens de communication d'aujourd'hui se base sur les ondes électromagnétiques.
Un signal électromagnétique se propage de deux types de façons :
Ce cours vise à formaliser ce second point.
# Rayonnement électromagnétique

| Chap. 1 : | Introduction et bases |
| Chap. 2 : | Potentiels retardés |
| Chap. 3 : | Approximation champ lointain |
| Chap. 4 : | Approximation dipolaire électrique |
| Chap. 5 : | Approximation dipolaire magnétique |
Sur les autres projets Wikimedia :

## Présentation [Modifier]

Un grande partie de nos moyens de communication d'aujourd'hui se base sur les ondes électromagnétiques.
Un signal électromagnétique se propage de deux types de façons :
* de manière guidée (dans des câbles ou des guides) : on parle de propagation guidée.
* de manière libre (ondes électromagnétiques dans le vide) : on parle de rayonnement électromagnétique.
Ce cours vise à formaliser ce second point.

## Objectifs [Modifier]

* Comprendre le rayonnement électromagnétique par la théorie de Maxwell
* En déduire des propriétés qualitatives sur les antennes

## Niveau et prérequis conseillés [Modifier]

Leçon de niveau 15.
* Champ électrostatique, potentiel
* Champ magnétique, magnétostatique
* Analyse vectorielle
* quelques notions sur la transformée de Fourier

## Référents [Modifier]

Ces personnes sont prêtes à vous aider concernant cette leçon :
LorGios (absent depuis avril 2019)
# Récursivité dans l'algorithmique et la programmation/Exercices/Introduction
## Puissance entière d'un entier

La fonction puissance entière peut être définie ainsi : ${\begin{array}{l r}x^{n}={\begin{cases}1&{\mbox{si }}n=0\\x.x^{(n-1)}&{\mbox{si }}n>0\end{cases}}&x,n\in \mathbb {N} \end{array}}$
    1. Cette définition respecte-t-elle les caractéristiques d'une définition récursive intéressante ?
    2. Écrivez l'algorithme de la fonction ipower(x,n) correspondante.
1. Cette définition respecte les caractéristiques d'une définition récursive intéressante car
* il y a un appel récursif avec un problème de taille plus petite ( de ipower(x,n) on appelle ipower(x,n-1)
* il y a bien une condition d'arrêt : cas où n vaut 0
2. L'algorithme de la fonction power(x,n) est le suivant :
${\begin{array}{|l}\operatorname {\underline {fonction}} \ ipower(x,n)\\\operatorname {\underline {debut}} \\{\begin{array}{|l}\operatorname {\underline {si}} \ n=0\ \operatorname {\underline {alors}} \\\ \ ipower\leftarrow 1\\\operatorname {\underline {sinon}} \\\ \ ipower\leftarrow x*ipower(x,n-1)\\\operatorname {\underline {fsi}} \\\end{array}}\\\operatorname {\underline {fin}} \\\end{array}}$
| Sommaire | Algorithmes récursifs |
# Récursivité dans l'algorithmique et la programmation/Prérequis conseillés

de bonnes connaissances sur la programmation modulaire.
# Récursivité dans l'algorithmique et la programmation/Présentation de la leçon

La récursivité est une technique où un concept est défini en fonction de lui-même, que ce soit directement ou indirectement. Cette technique s'applique aussi bien à la création d'algorithmes que de structures de données.
# Rédaction collective de documents

| Chap. 1 : | Définition et caractéristiques (16) |
| Chap. 2 : | Intérêts et limites (16) |
| Chap. 3 : | Le travail collaboratif pour les entreprises (16) |
| Chap. 4 : | Rédaction collective de documents dans le domaine privé (16) |
| Chap. 5 : | Les outils (16) |
| Annexe : | Références (16) |
| Quiz : | QCM Rédaction collective de documents (16) |

## Présentation [Modifier]

Avec l’évolution des nouvelles technologies de communication en réseau et les débouchés qu’offrent les outils de communication en ligne tel que le chat, le forum, les outils de réseau social, la téléconférence, la vidéoconférence, ou encore les outils de formation à distance, l’écriture individuelle et/ou collective de documents est profondément impacté. L’objectif de cet article est de présenter de manière générale les méthodes et les outils logiciels permettant à des utilisateurs de mener un travail en commun à travers ces réseaux avec le partage d’information, la création et l'échange de données informatisées, les outils de messagerie instantanée ou non, ainsi que des applications bureautiques permettant la rédaction collective de document.
Il est donc maintenant possible à des utilisateurs géographiquement éloignés de travailler en équipe grâce à l’utilisation des outils d’un espace collaboratif.
* MediaWiki
* Google Documents
* Microsoft SharePoint
* IBM Lotus Notes

## Objectifs [Modifier]

* Acquérir des connaissances sur la rédaction collective de documents
* Comprendre les caractéristiques de la rédaction collective de documents
* Connaître les divers logiciels de rédaction collective de documents

## Niveau et prérequis conseillés [Modifier]

Leçon de niveau 16.
* Tout personne ayant un projet de partage de documents

## Référents

Ces personnes sont prêtes à vous aider concernant cette leçon :
    Personne ne s'est déclaré prêt à aider pour cette leçon. Pour vous ajouter, cliquez ici.
# Récursivité dans l'algorithmique et la programmation/Algorithmes récursifs

On peut distinguer plusieurs catégories d'algorithmes récursifs en considérant
* Le mode d'appel : direct/indirect
* Le nombre de paramètres sur lesquels porte la récursion : arité
* Le nombre d'appels récursifs : ordre de récursion
* Le genre de retour : terminal/non terminal

## Mode d'appel

Comme nous l'avons déjà vu dans l'introduction, un algorithme récursif qui dans son corps s’appelle lui-même est dit direct. L'exemple de la factorielle est trivial. Un algorithme récursif est dit indirect s'il est défini par un ensemble de fonctions qui s'appellent en chaîne.
Pour construire une définition récursive de la parité, remarquons tout d’abord que 0 est un entier pair, et qu’il n’est pas impair. Ensuite remarquons qu'un entier n est pair (respectivement impair) ssi l'entier n-1 est impair (respectivement pair).
Si l’on trace Pair(3) on obtiendra :
${\begin{matrix}Pair(3)&\leftarrow &\operatorname {\underline {Faux}} \\&\searrow &\uparrow \\&&Impair(2)&\leftarrow &\operatorname {\underline {Faux}} \\&&&\searrow &\uparrow \\&&&&Pair(1)&\leftarrow &\operatorname {\underline {Faux}} \\&&&&&\searrow &\uparrow \\&&&&&&Impair(0)\end{matrix}}$

## Arité

L'arité d'un algorithme est le nombre de paramètres d'entrée. Un algorithme récursif peut effectuer des appels récursifs en modifiant un nombre quelconque non nul de ses paramètres. Dans l'exemple de la fonction factorielle, l'algorithme prend un paramètre d'entrée et le modifie lors des appels récursifs. Dans le cas de la puissance entière (proposé en exercice), l'algorithme prend deux entrées, la base et l'exposant. Dans les appels récursifs seul l'exposant est modifié. Voici un exemple de récursion sur deux paramètres.

## Ordre de récursion

Jusqu'à présent, tous les algorithmes récursifs évoqués ne font qu'un appel récursif à la fois, c'est-à-dire que pour déterminer la valeur d'un appel, on n'a besoin que d'un appel récursif. Ces algorithmes sont dits d'ordre 1. Certains algorithmes font plusieurs appels récursifs, comme la version naïve du calcul de la suite de Fibonnaci. Celle-ci doit faire deux appels récursifs, une fois avec le paramètre n-1 et une seconde fois avec le paramètre n-2 pour calculer une valeur de retour. C’est un algorithme récursif d'ordre 2.

## Récursion terminale

Pour déterminer si un algorithme est terminal, il faut regarder comment il génère les valeurs de retour. Si ce sont soit des constantes, soit des valeurs directement issue d'un appel récursif, sans aucune autre modification, alors l'algorithme est dit terminal. Dans le cas contraire, il sera dit non-terminal. Cette notion est importante si l’on veut déterminer une version itérative de l'algorithme concerné. Dans les exemples précédents, factorielle est non terminal car, bien que le cas d'arrêt renvoie une constante, celui de l'appel récursif quant à lui modifie la valeur renvoyée en la multipliant par n avant de lui-même renvoyer une valeur.
| Introduction | Structure de données récursives |
# Récursivité dans l'algorithmique et la programmation/Exercices/Structure de données récursives
## Structure de données récursives : une structure de type dictionnaire
### Introduction

* À lire absolument, avant de commencer l'exercice
Nous nous proposons ici de créer une structure de données permettant de contenir un dictionnaire, c'est-à-dire tout simplement une liste de mots. Si nous ouvrons un dictionnaire nous observons une liste telle que :
* A, subst. masc. : ... définition
* À, prép, : ... définition
* AALÉNIEN, IENNE, adj. et subst. masc. : ... définition
* AB-, préf. : ... définition
* ABA, subst. masc. : ... définition
* ABACA, subst. masc. : ... définition
* ... ainsi de suite
* ZYMOTIQUE, adj. : ... définition
* ZYTHUM, subst. masc. : ... définition
* ZZZ, onomat. : ... définition
Dans cet exercice, nous nous limiterons uniquement aux vedettes (le mot dont la définition est donnée à la suite, une entrée du dictionnaire), sans conserver ni leurs genres, ni leurs définitions, ni leur casse (tous les mots seront écris en minuscules). Un tel lexique pourra être tiré du dictionnaire mis à disposition par le CNAMCNAM. Il comprend 251307 mots différents (~2,6 Mo, ce qui fait une moyenne 9.8 caractères par mot).
Un tel lexique peut être stocké dans un tableau à 251307 entrées (une par mot) ou dans une liste chaînée de mots. Mais en y regardant de plus près, on remarque que des mots consécutifs dans le lexique trié ont souvent un préfixe commun :
* INAPPARENT
* INAPPÉTENCE
* INAPPLICABLE
* INAPPLICATION
* INAPPLIQUÉ
* INAPPRÉCIABLE
* INAPPRÉCIÉ
* INAPPRÊTÉ
* INAPPRIVOISABLE
* INAPPRIVOISÉ
* INAPPROCHABLE
Il est tentant de factoriser les préfixe INAPP sur toute cette liste :
* INAPP
** ARENT
** ÉTENCE
** LICABLE
** LICATION
** LIQUÉ
** RÉCIABLE
** RÉCIÉ
** RÊTÉ
** RIVOISABLE
** RIVOISÉ
** ROCHABLE
On peut réitérer le procédé dans la sous-liste
** LICABLE
** LICATION
** LIQUÉ
pour la transformer en
** LI
*** CABLE
*** CATION
*** QUÉ
Si on poursuit à plus soif on obtient à partir de la première liste des INAPP
* INAPP
** ARENT
** ÉTENCE
** LI
*** CA
**** BLE
**** TION
*** QUÉ
** RÉ
*** CI
**** ABLE
**** É
** RÊTÉ
** RIVOISA
*** BLE
*** SÉ
** ROCHABLE
On reconnaît là la naissance d'une structure arborescente. Mais il subsiste un petit problème, celui d'un mot entièrement contenu dans un autre. Considérons la liste
* BAL
* BALS
* BALLE
* BALLES
La construction nous conduit à
* BAL
** S
** LE
*** S
Pour simplifier les choses, nous ajoutons à la fin de chaque mot un marqueur de fin de mot qui sera noté $\epsilon$, celà nous conduit à quelque chose comme :
* BAL
** $\epsilon$ =bal
** S =bals
** LE
*** $\epsilon$ =balle
*** S =balles
# Rédaction collective de documents/Annexe/Références

http://www.civam.org/IMG/pdf/dossier_NTIC.pdf
http://edutechwiki.unige.ch/fr/Écriture_collaborative#Outils_en_ligne_pour_l.27écriture_collaborative
http://fr.wikipedia.org/wiki/Google_Wave
* Sommaire