From 8aa693c8cb1b5e7136603ce8e000d2142a6a20e6 Mon Sep 17 00:00:00 2001 From: Yvan Sraka Date: Sat, 9 Jun 2018 18:35:45 +0200 Subject: Fix typos in French version of Dynamic Programming tutorial --- fr-fr/dynamic-programming-fr.html.markdown | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'fr-fr') diff --git a/fr-fr/dynamic-programming-fr.html.markdown b/fr-fr/dynamic-programming-fr.html.markdown index 24e8c95f..b3660ac9 100644 --- a/fr-fr/dynamic-programming-fr.html.markdown +++ b/fr-fr/dynamic-programming-fr.html.markdown @@ -8,7 +8,6 @@ translators: lang: fr-fr --- - # Programmation dynamique ## Introduction @@ -17,9 +16,9 @@ La programmation dynamique est une technique très efficace pour résoudre une c ## Moyens de résoudre ces problèmes -1.) *De haut en bas* : Commençons à résoudre le problème en le séparant en morceaux. Si nous voyons que le problème a déjà été résolu, alors nous retournons la réponse précédemment sauvegardée. Si le problème n'a pas été résolu, alors nous le résolvons et sauvegardons la réponse. C'est généralement facile et intuitif de réfléchir de cette façon. Cela s'appelle la Mémorisation. +1. *De haut en bas* : Commençons à résoudre le problème en le séparant en morceaux. Si nous voyons que le problème a déjà été résolu, alors nous retournons la réponse précédemment sauvegardée. Si le problème n'a pas été résolu, alors nous le résolvons et sauvegardons la réponse. C'est généralement facile et intuitif de réfléchir de cette façon. Cela s'appelle la Mémorisation. -2.) *De bas en haut* : Il faut analyser le problème et trouver les sous-problèmes, et l'ordre dans lequel il faut les résoudre. Ensuite, nous devons résoudre les sous-problèmes et monter jusqu'au problème que nous voulons résoudre. De cette façon, nous sommes assurés que les sous-problèmes sont résolus avant de résoudre le vrai problème. Cela s'appelle la Programmation Dynamique. +2. *De bas en haut* : Il faut analyser le problème et trouver les sous-problèmes, et l'ordre dans lequel il faut les résoudre. Ensuite, nous devons résoudre les sous-problèmes et monter jusqu'au problème que nous voulons résoudre. De cette façon, nous sommes assurés que les sous-problèmes sont résolus avant de résoudre le vrai problème. Cela s'appelle la Programmation Dynamique. ## Exemple de Programmation Dynamique @@ -27,7 +26,7 @@ Le problème de la plus grande sous-chaîne croissante est de trouver la plus gr Premièrement, nous avons à trouver la valeur de la plus grande sous-chaîne (LSi) à chaque index `i`, avec le dernier élément de la sous-chaîne étant ai. Alors, la plus grande sous-chaîne sera le plus gros LSi. Pour commencer, LSi est égal à 1, car ai est le seul élément de la chaîne (le dernier). Ensuite, pour chaque `j` tel que `j Date: Sat, 9 Jun 2018 19:06:33 +0200 Subject: Translate Lambda Calculus in French --- fr-fr/lambda-calculus-fr.html.markdown | 105 +++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 fr-fr/lambda-calculus-fr.html.markdown (limited to 'fr-fr') diff --git a/fr-fr/lambda-calculus-fr.html.markdown b/fr-fr/lambda-calculus-fr.html.markdown new file mode 100644 index 00000000..68868830 --- /dev/null +++ b/fr-fr/lambda-calculus-fr.html.markdown @@ -0,0 +1,105 @@ +--- +category: Algorithms & Data Structures +name: Lambda Calculus +contributors: + - ["Max Sun", "http://github.com/maxsun"] +translators: + - ["Yvan Sraka", "https://github.com/yvan-sraka"] +--- + +# Lambda-calcul + +Le Lambda-calcul (λ-calcul), créé à l'origine par [Alonzo Church](https://en.wikipedia.org/wiki/Alonzo_Church), est le plus petit langage de programmation au monde. En dépit de ne pas avoir de nombres, de chaînes, de booléens, ou de tout type de données sans fonction, le lambda calcul peut être utilisé pour représenter n'importe quelle machine de Turing! + +Le Lambda-calcul est composé de 3 éléments : **variables**, **fonctions** et **applications**. + + +| Nom | Syntaxe | Exemple | Explication | +|-------------|------------------------------------|-----------|---------------------------------------------------| +| Variable | `` | `x` | une variable nommée "x" | +| Fonction | `λ.` | `λx.x` | une fonction avec le paramètre "x" et le corps "x"| +| Application | `` | `(λx.x)a` | appel de la fonction "λx.x" avec l'argument "a" | + +La fonction la plus fondamentale est la fonction identité: `λx.x` qui est équivalente à `f(x) = x`. Le premier "x" est l'argument de la fonction, et le second est le corps de la fonction. + +## Variables libres et liées : + +- Dans la fonction `λx.x`, "x" s'appelle une variable liée car elle est à la fois dans le corps de la fonction et l'un des paramètres. +- Dans `λx.y`, "y" est appelé une variable libre car elle n'a pas été déclarée plus tôt. + +## Évaluation : + +L'évaluation est réalisée par [β-Réduction](https://en.wikipedia.org/wiki/Lambda_calculus#Beta_reduction), qui est essentiellement une substitution lexicale. + +Lors de l'évaluation de l'expression `(λx.x)a`, nous remplaçons toutes les occurrences de "x" dans le corps de la fonction par "a". + +- `(λx.x)a` vaut après évaluation: `a` +- `(λx.y)a` vaut après évaluation: `y` + +Vous pouvez même créer des fonctions d'ordre supérieur: + +- `(λx.(λy.x))a` vaut après évaluation: `λy.a` + +Bien que le lambda-calcul ne prenne traditionnellement en charge que les fonctions à un seul paramètre, nous pouvons créer des fonctions multi-paramètres en utilisant une technique appelée currying. + +- `(λx.λy.λz.xyz)` est équivalent à `f(x, y, z) = x(y(z))` + +Parfois, `λxy.` est utilisé de manière interchangeable avec: `λx.λy.` + +---- + +Il est important de reconnaître que le lambda-calcul traditionnel n'a pas de nombres, de caractères ou tout autre type de données sans fonction! + +## Logique booléenne : + +Il n'y a pas de "Vrai" ou de "Faux" dans le calcul lambda. Il n'y a même pas 1 ou 0. + +Au lieu: + +`T` est représenté par: `λx.λy.x` + +`F` est représenté par: `λx.λy.y` + +Premièrement, nous pouvons définir une fonction "if" `λbtf` qui renvoie `t` si `b` est vrai et `f` si `b` est faux + +`IF` est équivalent à: `λb.λt.λf.b t f` + +En utilisant `IF`, nous pouvons définir les opérateurs logiques de base booléens: + +`a AND b` est équivalent à: `λab.IF a b F` + +`a OR b` est équivalent à: `λab.IF a T b` + +`a NOT b` est équivalent à: `λa.IF a F T` + +*Note: `IF a b c` est equivalent à : `IF(a(b(c)))`* + +## Nombres : + +Bien qu'il n'y ait pas de nombres dans le lambda-calcul, nous pouvons encoder des nombres en utilisant les [nombres de Church](https://en.wikipedia.org/wiki/Church_encoding). + +Pour tout nombre n: n = λf.fn donc: + +`0 = λf.λx.x` + +`1 = λf.λx.f x` + +`2 = λf.λx.f(f x)` + +`3 = λf.λx.f(f(f x))` + +Pour incrémenter un nombre de Church, nous utilisons la fonction successeur `S(n) = n + 1` qui est: + +`S = λn.λf.λx.f((n f) x)` + +En utilisant `S`, nous pouvons définir la fonction `ADD`: + +`ADD = λab.(a S)n` + +**Défi:** essayez de définir votre propre fonction de multiplication! + +## Pour aller plus loin : + +1. [A Tutorial Introduction to the Lambda Calculus](http://www.inf.fu-berlin.de/lehre/WS03/alpi/lambda.pdf) +2. [Cornell CS 312 Recitation 26: The Lambda Calculus](http://www.cs.cornell.edu/courses/cs3110/2008fa/recitations/rec26.html) +3. [Wikipedia - Lambda Calculus](https://en.wikipedia.org/wiki/Lambda_calculus) \ No newline at end of file -- cgit v1.2.3 From 21c899e41b9dfb7891acdd042d51406f307124a8 Mon Sep 17 00:00:00 2001 From: DevHugo Date: Tue, 14 Aug 2018 19:15:58 +0200 Subject: Fix(mardown layout): Missing one caracter Just a Markdown fix for the layout that broke the display on the website. --- fr-fr/jquery-fr.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fr-fr') diff --git a/fr-fr/jquery-fr.html.markdown b/fr-fr/jquery-fr.html.markdown index 1842e02b..aeddbd53 100644 --- a/fr-fr/jquery-fr.html.markdown +++ b/fr-fr/jquery-fr.html.markdown @@ -138,5 +138,5 @@ $('p').each(function() { }); -`` +``` -- cgit v1.2.3 From 93499a09469335fda9b43d68bdf40bb87b67c071 Mon Sep 17 00:00:00 2001 From: DevHugo Date: Tue, 14 Aug 2018 19:20:36 +0200 Subject: Translate: Header + Part 1 --- fr-fr/pyqt-fr.html.markdown | 85 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 fr-fr/pyqt-fr.html.markdown (limited to 'fr-fr') diff --git a/fr-fr/pyqt-fr.html.markdown b/fr-fr/pyqt-fr.html.markdown new file mode 100644 index 00000000..a0df8be5 --- /dev/null +++ b/fr-fr/pyqt-fr.html.markdown @@ -0,0 +1,85 @@ +--- +category: tool +tool: PyQT +filename: learnpyqt-fr.py +contributors: + - ["Nathan Hughes", "https://github.com/sirsharpest"] +translators: + - ["DevHugo", "http://twitter.com/devhugo"] +lang: fr-fr +--- + +**Qt** est un framework très connu pour le développement de logiciel cross-platform qui peuvent être lancé sur différents systèmes avec de petit ou aucun changement dans le code, tout en ayant la puissance et la vitesse des applications natives. Bien que **Qt** ait été écrit à l'origine en *C++*. + + +Ceci est une adaptation de l'intro C++ à QT par [Aleksey Kholovchuk](https://github.com/vortexxx192 +), certains exemples du code doivent avoir la même fonctionnalité, +cette version ayant juste été faite en utilisant pyqt! + +```python +import sys +from PyQt4 import QtGui + +def window(): + # Création de l'objet application + app = QtGui.QApplication(sys.argv) + # Création d'un widget où notre label sera placé + w = QtGui.QWidget() + # Ajout d'un label au widget + b = QtGui.QLabel(w) + # Assignation de texte au label + b.setText("Hello World!") + # Assignation des tailles et des informations de placement + w.setGeometry(100, 100, 200, 50) + b.move(50, 20) + # Assignation d'un nom à notre fenêtre + w.setWindowTitle("PyQt") + # Affichage de la fenêtre + w.show() + # Exécution de l'application + sys.exit(app.exec_()) + +if __name__ == '__main__': + window() + +``` + +In order to get some of the more advanced features in **pyqt** we need to start looking at building additional elements. +Here we show how to introduce a dialog popup box, useful for asking the user to confirm a decision or to provide information. + +```Python +import sys +from PyQt4.QtGui import * +from PyQt4.QtCore import * + + +def window(): + app = QApplication(sys.argv) + w = QWidget() + # Create a button and attach to widget w + b = QPushButton(w) + b.setText("Press me") + b.move(50, 50) + # Tell b to call this function when clicked + # notice the lack of "()" on the function call + b.clicked.connect(showdialog) + w.setWindowTitle("PyQt Dialog") + w.show() + sys.exit(app.exec_()) + +# This function should create a dialog window with a button +# that waits to be clicked and then exits the program +def showdialog(): + d = QDialog() + b1 = QPushButton("ok", d) + b1.move(50, 50) + d.setWindowTitle("Dialog") + # This modality tells the popup to block the parent whilst it's active + d.setWindowModality(Qt.ApplicationModal) + # On click I'd like the entire process to end + b1.clicked.connect(sys.exit) + d.exec_() + +if __name__ == '__main__': + window() +``` -- cgit v1.2.3 From 440247a59706603bd980016821ecd6a72a6182d1 Mon Sep 17 00:00:00 2001 From: Adam Bard Date: Tue, 28 Aug 2018 08:49:41 -0700 Subject: Update jquery-fr.html.markdown --- fr-fr/jquery-fr.html.markdown | 1 + 1 file changed, 1 insertion(+) (limited to 'fr-fr') diff --git a/fr-fr/jquery-fr.html.markdown b/fr-fr/jquery-fr.html.markdown index aeddbd53..1a5baf71 100644 --- a/fr-fr/jquery-fr.html.markdown +++ b/fr-fr/jquery-fr.html.markdown @@ -13,6 +13,7 @@ jQuery est une bibliothèque JavaScript dont le but est de permettre de "faire p C'est pourquoi aujourd'hui, jQuery est utilisée par de nombreuses grandes entreprises et par des développeurs du monde entier. Étant donné que jQuery est une bibliothèque JavaScript, vous devriez d'abord [apprendre le JavaScript](https://learnxinyminutes.com/docs/fr-fr/javascript-fr/) + ```js -- cgit v1.2.3 From 478a43c1d4a230a36420cd6d4bc0a27a23f4afef Mon Sep 17 00:00:00 2001 From: Divay Prakash Date: Tue, 4 Sep 2018 18:25:57 +0530 Subject: Add language code suffix (#3206) --- fr-fr/java-fr.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fr-fr') diff --git a/fr-fr/java-fr.html.markdown b/fr-fr/java-fr.html.markdown index d0f91611..d6c68343 100644 --- a/fr-fr/java-fr.html.markdown +++ b/fr-fr/java-fr.html.markdown @@ -11,7 +11,7 @@ contributors: - ["Michael Dähnert", "https://github.com/JaXt0r"] - ["Rob Rose", "https://github.com/RobRoseKnows"] - ["Sean Nam", "https://github.com/seannam"] -filename: JavaFr.java +filename: java-fr.java translators: - ['Mathieu Gemard', 'https://github.com/mgemard'] lang: fr-fr -- cgit v1.2.3 From b955d9386b302c185fa882c627e1df66f9a87c76 Mon Sep 17 00:00:00 2001 From: DevHugo Date: Wed, 5 Sep 2018 10:34:20 +0200 Subject: Translate: Part 2 --- fr-fr/pyqt-fr.html.markdown | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'fr-fr') diff --git a/fr-fr/pyqt-fr.html.markdown b/fr-fr/pyqt-fr.html.markdown index a0df8be5..870a2c4e 100644 --- a/fr-fr/pyqt-fr.html.markdown +++ b/fr-fr/pyqt-fr.html.markdown @@ -44,8 +44,8 @@ if __name__ == '__main__': ``` -In order to get some of the more advanced features in **pyqt** we need to start looking at building additional elements. -Here we show how to introduce a dialog popup box, useful for asking the user to confirm a decision or to provide information. +Pour obtenir certaines des fonctionnalités les plus avancées de **pyqt** nous devons commencer par chercher à construire des éléments supplémentaires. +Ici nous voyons comment introduire une boîte de dialogue popup, utile pour demander une confirmation à un utilisateur ou fournir des informations. ```Python import sys @@ -56,27 +56,27 @@ from PyQt4.QtCore import * def window(): app = QApplication(sys.argv) w = QWidget() - # Create a button and attach to widget w + # Creation d'un bouton attaché au widget w b = QPushButton(w) b.setText("Press me") b.move(50, 50) - # Tell b to call this function when clicked - # notice the lack of "()" on the function call + # Dire à b d'appeler cette fonction quand il est cliqué + # remarquez l'absence de "()" sur l'appel de la fonction b.clicked.connect(showdialog) w.setWindowTitle("PyQt Dialog") w.show() sys.exit(app.exec_()) -# This function should create a dialog window with a button -# that waits to be clicked and then exits the program +# Cette fonction devrait créer une fenêtre de dialogue avec un bouton +# qui attend d'être cliqué puis quitte le programme def showdialog(): d = QDialog() b1 = QPushButton("ok", d) b1.move(50, 50) d.setWindowTitle("Dialog") - # This modality tells the popup to block the parent whilst it's active + # Cette "Modality" dit au popup de bloquer le parent pendant qu'il est actif d.setWindowModality(Qt.ApplicationModal) - # On click I'd like the entire process to end + # En cliquant je voudrais que tout le processus se termine b1.clicked.connect(sys.exit) d.exec_() -- cgit v1.2.3 From 305e08b9594b65a3f0a62920e6ad165a9d861ce9 Mon Sep 17 00:00:00 2001 From: DevHugo Date: Mon, 10 Sep 2018 11:54:47 +0200 Subject: Update pyqt-fr.html.markdown --- fr-fr/pyqt-fr.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fr-fr') diff --git a/fr-fr/pyqt-fr.html.markdown b/fr-fr/pyqt-fr.html.markdown index 870a2c4e..6da9a380 100644 --- a/fr-fr/pyqt-fr.html.markdown +++ b/fr-fr/pyqt-fr.html.markdown @@ -74,7 +74,7 @@ def showdialog(): b1 = QPushButton("ok", d) b1.move(50, 50) d.setWindowTitle("Dialog") - # Cette "Modality" dit au popup de bloquer le parent pendant qu'il est actif + # Cette modalité dit au popup de bloquer le parent pendant qu'il est actif d.setWindowModality(Qt.ApplicationModal) # En cliquant je voudrais que tout le processus se termine b1.clicked.connect(sys.exit) -- cgit v1.2.3 From d3335643d1709b6bf4b9c60b4b34de679b84b32b Mon Sep 17 00:00:00 2001 From: Yvan Sraka Date: Mon, 17 Sep 2018 08:14:02 +0200 Subject: Update lambda-calculus-fr.html.markdown --- fr-fr/lambda-calculus-fr.html.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'fr-fr') diff --git a/fr-fr/lambda-calculus-fr.html.markdown b/fr-fr/lambda-calculus-fr.html.markdown index 68868830..c91f21d6 100644 --- a/fr-fr/lambda-calculus-fr.html.markdown +++ b/fr-fr/lambda-calculus-fr.html.markdown @@ -5,6 +5,7 @@ contributors: - ["Max Sun", "http://github.com/maxsun"] translators: - ["Yvan Sraka", "https://github.com/yvan-sraka"] +lang: fr-fr --- # Lambda-calcul @@ -102,4 +103,4 @@ En utilisant `S`, nous pouvons définir la fonction `ADD`: 1. [A Tutorial Introduction to the Lambda Calculus](http://www.inf.fu-berlin.de/lehre/WS03/alpi/lambda.pdf) 2. [Cornell CS 312 Recitation 26: The Lambda Calculus](http://www.cs.cornell.edu/courses/cs3110/2008fa/recitations/rec26.html) -3. [Wikipedia - Lambda Calculus](https://en.wikipedia.org/wiki/Lambda_calculus) \ No newline at end of file +3. [Wikipedia - Lambda Calculus](https://en.wikipedia.org/wiki/Lambda_calculus) -- cgit v1.2.3 From 4b9c35047b54d4e886011cffd4adce015584f846 Mon Sep 17 00:00:00 2001 From: Divay Prakash Date: Sun, 14 Oct 2018 05:33:23 +0530 Subject: Fix links and list styling --- fr-fr/c++-fr.html.markdown | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'fr-fr') diff --git a/fr-fr/c++-fr.html.markdown b/fr-fr/c++-fr.html.markdown index acbaed58..8cd494e8 100644 --- a/fr-fr/c++-fr.html.markdown +++ b/fr-fr/c++-fr.html.markdown @@ -910,7 +910,5 @@ v.swap(vector()); ``` Lecture complémentaire : -Une référence à jour du langage est disponible à - - -Des ressources supplémentaires sont disponibles à +* Une référence à jour du langage est disponible à [CPP Reference](http://cppreference.com/w/cpp). +* Des ressources supplémentaires sont disponibles à [CPlusPlus](http://cplusplus.com). -- cgit v1.2.3 From 99618d394e33c51ed8073b2dc013623442201c51 Mon Sep 17 00:00:00 2001 From: Divay Prakash Date: Sun, 14 Oct 2018 05:51:14 +0530 Subject: Add new link from 2242ad7 --- fr-fr/c++-fr.html.markdown | 1 + 1 file changed, 1 insertion(+) (limited to 'fr-fr') diff --git a/fr-fr/c++-fr.html.markdown b/fr-fr/c++-fr.html.markdown index 8cd494e8..863162f7 100644 --- a/fr-fr/c++-fr.html.markdown +++ b/fr-fr/c++-fr.html.markdown @@ -912,3 +912,4 @@ Lecture complémentaire : * Une référence à jour du langage est disponible à [CPP Reference](http://cppreference.com/w/cpp). * Des ressources supplémentaires sont disponibles à [CPlusPlus](http://cplusplus.com). +* Un tutoriel couvrant les bases du langage et la configuration d'un environnement de codage est disponible à l'adresse [TheChernoProject - C ++](https://www.youtube.com/playlist?list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb). -- cgit v1.2.3 From 3359cb0a20d96ad9507e12bbabd7744920d26c28 Mon Sep 17 00:00:00 2001 From: Divay Prakash Date: Sun, 14 Oct 2018 06:04:13 +0530 Subject: Fix links --- fr-fr/dynamic-programming-fr.html.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'fr-fr') diff --git a/fr-fr/dynamic-programming-fr.html.markdown b/fr-fr/dynamic-programming-fr.html.markdown index b3660ac9..54cca001 100644 --- a/fr-fr/dynamic-programming-fr.html.markdown +++ b/fr-fr/dynamic-programming-fr.html.markdown @@ -42,9 +42,9 @@ Le même concept peut être appliqué pour trouver le chemin le plus long dans u ### Problèmes classiques de programmation dynamique -- L'algorithme de Floyd Warshall(EN)) - Tutorial and C Program source code:http://www.thelearningpoint.net/computer-science/algorithms-all-to-all-shortest-paths-in-graphs---floyd-warshall-algorithm-with-c-program-source-code -- Problème du sac à dos(EN) - Tutorial and C Program source code: http://www.thelearningpoint.net/computer-science/algorithms-dynamic-programming---the-integer-knapsack-problem -- Plus longue sous-chaîne commune(EN) - Tutorial and C Program source code : http://www.thelearningpoint.net/computer-science/algorithms-dynamic-programming---longest-common-subsequence +- L'algorithme de Floyd Warshall(EN) - Tutorial and C Program source code: [http://www.thelearningpoint.net/computer-science/algorithms-all-to-all-shortest-paths-in-graphs---floyd-warshall-algorithm-with-c-program-source-code]() +- Problème du sac à dos(EN) - Tutorial and C Program source code: [http://www.thelearningpoint.net/computer-science/algorithms-dynamic-programming---the-integer-knapsack-problem]() +- Plus longue sous-chaîne commune(EN) - Tutorial and C Program source code : [http://www.thelearningpoint.net/computer-science/algorithms-dynamic-programming---longest-common-subsequence]() ## Online Resources -- cgit v1.2.3 From 8b6e7fb9e3883686ed0cdf959ede065c72645f60 Mon Sep 17 00:00:00 2001 From: Vincent Chafouin Date: Tue, 16 Oct 2018 20:45:28 +0300 Subject: Update markdown-fr-html.mardown * Fix issue #2864 * Fix formatting * Fix ruby code snippet * Fix translation * Add missing keyboard keys section --- fr-fr/markdown-fr.html.markdown | 294 +++++++++++++++++++++++++--------------- 1 file changed, 188 insertions(+), 106 deletions(-) (limited to 'fr-fr') diff --git a/fr-fr/markdown-fr.html.markdown b/fr-fr/markdown-fr.html.markdown index 8518f35c..2955fd14 100644 --- a/fr-fr/markdown-fr.html.markdown +++ b/fr-fr/markdown-fr.html.markdown @@ -6,52 +6,69 @@ filename: markdown-fr.md lang: fr-fr --- + Markdown a été créé par John Gruber en 2004. Il se veut être d'une syntaxe -facile à lire et à écrire, aisément convertible en HTML - (et beaucoup d'autres formats aussi à présent). +facile à lire et à écrire, aisément convertible en HTML (et dans beaucoup +d'autres formats aussi). + +Les implémentations du Markdown varient d'un analyseur syntaxique à un autre. +Ce guide va essayer de clarifier quand une fonctionnalité est universelle ou +quand elle est specifique à un certain analyseur syntaxique. + +- [Balises HTML](#balises-html) +- [En-têtes](#en-tetes) +- [Styles de texte basiques](#style-de-text-basiques) +- [Paragraphes](#paragraphes) +- [Listes](#listes) +- [Blocs de code](#blocs-de-code) +- [Séparateur horizontal](#separateur-horizontal) +- [Liens hypertextes](#liens-hypertextes) +- [Images](#images) +- [Divers](#divers) -Faites moi autant de retours que vous voulez! Sentez vous libre de "forker" -et envoyer des pull request! +## Balises HTML +Markdown est un sur-ensemble du HTML, donc tout fichier HTML est un ficher +Markdown valide. ```md - + +``` - +## En-têtes - +Vous pouvez facilement créer des balises HTML `

` à `

` en précédant le +texte de votre futur titre par un ou plusieurs dièses ( # ), de un à six, selon +le niveau de titre souhaité. - - +```md # Ceci est un

## Ceci est un

### Ceci est un

#### Ceci est un

##### Ceci est un

###### Ceci est un
+``` - +Markdown fournit également une façon alternative de marquer les h1 et h2. +```md Ceci est un h1 ============= Ceci est un h2 ------------- +``` + +## Styles de texte basiques - - +On peut facilement rendre un texte "gras" ou "italique" en Markdown. +```md *Ce texte est en italique.* _Celui-ci aussi._ @@ -61,15 +78,21 @@ __Celui-là aussi.__ ***Ce texte a les deux styles.*** **_Pareil ici_** *__Et là!__* +``` - +Dans le "GitHub Flavored Markdown", utilisé pour interpréter le Markdown sur +GitHub, on a également le texte barré. -~~Ce texte est barré avec strikethrough.~~ +```md +~~Ce texte est barré.~~ +``` + +## Paragraphes - +Les paragraphes sont représentés par une ou plusieurs lignes de texte séparées +par une ou plusieurs lignes vides. +```md Ceci est un paragraphe. Là, je suis dans un paragraphe, facile non? Maintenant je suis dans le paragraphe 2. @@ -77,21 +100,23 @@ Je suis toujours dans le paragraphe 2! Puis là, eh oui, le paragraphe 3! +``` - +Si jamais vous souhaitez insérer une balise HTML `
`, vous pouvez ajouter +un ou plusieurs espaces à la fin de votre paragraphe, et en commencer un +nouveau. -J'ai deux espaces vides à la fin (sélectionnez moi pour les voir). +```md +J'ai deux espaces vides à la fin (sélectionnez moi pour les voir). Bigre, il y a un
au dessus de moi! +``` - +Les blocs de citations sont générés aisément, grâce au caractère >. +```md > Ceci est une superbe citation. Vous pouvez même -> revenir à la ligne quand ça vous chante, et placer un `>` +> revenir à la ligne quand ça vous chante, et placer un `>` > devant chaque bout de ligne faisant partie > de la citation. > La taille ne compte pas^^ tant que chaque ligne commence par un `>`. @@ -99,191 +124,248 @@ Bigre, il y a un
au dessus de moi! > Vous pouvez aussi utiliser plus d'un niveau >> d'imbrication! > Classe et facile, pas vrai? +``` + +## Listes - - +Les listes non ordonnées sont marquées par des asterisques, signes plus ou +signes moins. +```md * Item * Item * Un autre item +``` ou +```md + Item + Item + Encore un item +``` ou +```md - Item - Item - Un dernier item +``` - +Les listes ordonnées sont générées via un nombre suivi d'un point. +```md 1. Item un 2. Item deux 3. Item trois +``` - +Vous pouvez même vous passer de tout numéroter, et Markdown générera les bons +chiffres. Ceci dit, cette variante perd en clarté. +```md 1. Item un 1. Item deux 1. Item trois - +``` - +(Cette liste sera interprétée de la même façon que celle au dessus) +Vous pouvez également utiliser des sous-listes. + +```md 1. Item un 2. Item deux 3. Item trois * Sub-item * Sub-item 4. Item quatre +``` - - -Les [ ] ci dessous, n'ayant pas de [ x ], -deviendront des cases à cocher HTML non-cochées. +Il y a même des listes de taches. Elles génèrent des champs HTML de type case à +cocher. +```md +Les [ ] ci-dessous, n'ayant pas de [ x ], deviendront des cases à cocher HTML +non-cochées. - [ ] Première tache à réaliser. - [ ] Une autre chose à faire. La case suivante sera une case à cocher HTML cochée. - [x] Ça ... c'est fait! +``` + +## Blocs de code - - +Pour marquer du texte comme étant du code (qui utilise la balise ``), il +suffit d'indenter chaque ligne avec 4 espaces ou une tabulation. +```md echo "Ça, c'est du Code!"; var Ça = "aussi !"; +``` - +L'indentation par tabulation (ou série de quatre espaces) fonctionne aussi à +l'intérieur du bloc de code. +```md my_array.each do |item| puts item end +``` - +Des bouts de code en mode en ligne s'ajoutent en utilisant le caractères +`` ` ``. +```md La fonction `run()` ne vous oblige pas à aller courir! +``` - +En "GitHub Flavored Markdown", vous pouvez utiliser des syntaxes spécifiques +selon le language. -\`\`\`ruby - +
+```ruby
 def foobar
-puts "Hello world!"
+    puts "Hello world!"
 end
-\`\`\` 
+```
+
-<-- Pas besoin d'indentation pour le code juste au dessus, de plus, GitHub -va utiliser une coloration syntaxique pour le langage indiqué après les ``` --> +Pas besoin d'indentation pour le code juste au dessus, de plus, GitHub va +utiliser une coloration syntaxique pour le langage indiqué après les \`\`\`. - - +## Séparateur horizontal +La balise `
` peut être aisement ajoutée en utilisant trois ou plus +astérisques ou tirets, avec ou sans espaces entre chacun. + +```md *** --- - - - **************** +``` - - +## Liens hypertextes +Une des fonctionnalités sympathiques du Markdown est la facilité d'ajouter des +liens hypertextes. Le texte du lien entre crochet `` [] ``, l'url entre +parenthèses `` () ``, et voilà le travail. + +```md [Clic moi!](http://test.com/) +``` - +Pour ajouter un attribut titre, ajoutez le entre les parenthèses entre +guillemets apres le lien. +```md [Clic moi!](http://test.com/ "Lien vers Test.com") +``` - +Markdown supporte aussi les liens relatifs. +```md [En avant la musique](/music/). +``` - +Les liens de références sont eux aussi disponibles en Markdown. +```md [Cliquez ici][link1] pour plus d'information! [Regardez aussi par ici][foobar] si vous voulez. [link1]: http://test.com/ "Cool!" -[foobar]: http://foobar.biz/ "Alright!" +[foobar]: http://foobar.biz/ "Génial!" +``` - +Le titre peut aussi être entouré de guillemets simples, ou de parenthèses, ou +absent. Les références peuvent être placées où vous voulez dans le document et +les identifiants peuvent être n'importe quoi tant qu'ils sont uniques. - +Il y a également le nommage implicite qui transforme le texte du lien en +identifiant. +```md [Ceci][] est un lien. [ceci]: http://ceciestunlien.com/ +``` + +Mais ce n'est pas beaucoup utilisé. - +## Images - - +Pour les images, la syntaxe est identique à celle des liens, sauf que précédée +d'un point d'exclamation! +```md ![Attribut ALT de l'image](http://imgur.com/monimage.jpg "Titre optionnel") +``` - +Là aussi, on peut utiliser les références. +```md ![Ceci est l'attribut ALT de l'image][monimage] [monimage]: relative/urls/cool/image.jpg "si vous voulez un titre, c'est ici." +``` + +## Divers - - +### Liens hypertextes automatiques +```md est équivalent à : [http://testwebsite.com/](http://testwebsite.com/) +``` - +### Liens hypertextes automatiques pour emails +```md +``` + +### Caracteres d'echappement - Il suffit de précéder les caractères spécifiques à ignorer par des backslash \ -Pour taper *ce texte* entouré d'astérisques mais pas en italique : +```md +Pour taper *ce texte* entouré d'astérisques mais pas en italique : Tapez \*ce texte\*. +``` + +### Touches de clavier - - +Avec le "Github Flavored Markdown", vous pouvez utiliser la balise `` +pour représenter une touche du clavier. +```md +Ton ordinateur a planté? Essayer de taper : +Ctrl+Alt+Del +``` + +### Tableaux + +Les tableaux ne sont disponibles que dans le "GitHub Flavored Markdown" et +ne sont pas tres agréable d'utilisation. Mais si vous en avez besoin : + +```md | Col1 | Col2 | Col3 | | :----------- | :------: | ------------: | | Alignement Gauche | Centé | Alignement Droite | | bla | bla | bla | +``` - +ou bien, pour un résultat équivalent : +```md Col 1 | Col2 | Col3 :-- | :-: | --: Ough que c'est moche | svp | arrêtez - - - ``` -Pour plus d'information : - consultez [ici](http://daringfireball.net/projects/markdown/syntax) le post officiel de Jhon Gruber à propos de la syntaxe, - et [là](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) la superbe cheatsheet de Adam Pritchard. +Pour plus d'information, consultez le post officiel de Jhon Gruber à propos de +la syntaxe [ici](http://daringfireball.net/projects/markdown/syntax) et la +superbe fiche pense-bête de Adam Pritchard [là](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet). -- cgit v1.2.3