Commit bc925f8b authored by BorisPAING's avatar BorisPAING

Correction du maillage interne

parent 9e31424d
......@@ -6,7 +6,7 @@ Slug: recap-of-the-5th-fmm-4-days-focusing-on-money-systems
Authors: cgeek
Thumbnail: /images/calendar.svg
Ça y est ! Les **5èmes Rencontres des Monnaies Libres sont terminées**. Cela a été une [très riche expérience de 4 jours](../ucoin-at-the-5th-freedom-money-meeting) à se concentrer sur les systèmes monétaires. Voici ci-dessous un récapitulatif rapide de ce qui s'est passé durant ces jours pour ceux d'entre-vous qui ne sont pas venus .
Ça y est ! Les **5èmes Rencontres des Monnaies Libres sont terminées**. Cela a été une [très riche expérience de 4 jours]({filename}2015-02-05-ucoin-at-the-5th-freedom-money-meeting.md) à se concentrer sur les systèmes monétaires. Voici ci-dessous un récapitulatif rapide de ce qui s'est passé durant ces jours pour ceux d'entre-vous qui ne sont pas venus .
## Premier jour : plongeon dans le protocole uCoin
......
......@@ -8,7 +8,7 @@ Thumbnail: /images/share.svg
> **/!\ IMPORTANT** : depuis Avril 2017 le site s'est transformé et ce billet n'est plus d'actualité.
>
> Vous pouvez toutefois participer à la vie de ce site en ajoutant ou modifiant ses pages, ses articles ou son wiki en suivant le tutoriel [Wiki > Améliorer le site](../wiki/ameliorer-le-site).
> Vous pouvez toutefois participer à la vie de ce site en ajoutant ou modifiant ses pages, ses articles ou son wiki en suivant [le tutoriel correspondant]({filename}/pages/contribuer/ameliorer-le-site.md).
-----
Le blog [duniter.org](https://fr.duniter.org) a subit depuis peu une transformation technique : désormais [l'intégralité des articles du blog](https://github.com/duniter/blog-posts/tree/master/posts/fr_FR/) est mise à disposition sur GitHub.
......
......@@ -18,22 +18,7 @@ Nous n'attendrons donc pas plus longtemps et allons *ouvrir les pré-inscription
Ce billet a pour but de vous guider dans ce processus.
Sommaire :
* [Qui peut se pré-inscrire ?](#qui-peut-se-pre-inscrire)
* [Comment se pré-inscrire ?](#comment-se-pre-inscrire)
* [Combien de temps durera la phase de pré-inscriptions ?](#combien-de-temps-durera-la-phase-de-pre-inscriptions)
* [Pourquoi restreindre les pré-inscriptions ?](#pourquoi-restreindre-les-pre-inscriptions)
* [Qui pourra s'inscrire par la suite ?](#qui-pourra-sinscrire-par-la-suite)
* [Une personne non-inscrite pourra-t-elle utiliser Ğ1 ?](#une-personne-non-inscrite-pourra-t-elle-utiliser-g1)
* [Une entreprise ou association pourra-t-elle utiliser Ğ1 ?](#une-entreprise-ou-association-pourra-t-elle-utiliser-g1)
* [Quels sont les paramètres de Ğ1 ?](#quels-sont-les-parametres-de-g1)
* [Quel avantage à faire partie des membres initiaux ?](#quel-avantage-a-faire-partie-des-membres-initiaux)
* [Et ma part de monnaie ?](#et-ma-part-de-monnaie)
* [Pourquoi Ğ1 est dit « officiel » ?](#pourquoi-g1-est-dit-officiel)
* [Faut-il continuer à utiliser ĞTest ?](#faut-il-continuer-a-utiliser-gtest)
* [Pourquoi le nom Ğ1 ?](#pourquoi-le-nom-g1)
* [Qui contrôle Ğ1 ?](#qui-controle-g1)
[TOC]
> Vous pouvez commenter ce billet sur [ce sujet dédié du forum](https://forum.duniter.org/t/pre-inscriptions-a-g1/1827).
......
......@@ -19,7 +19,7 @@ D'abord, l'ergonomie a été revue : nous souhaitions que le site soit plus attr
## Un site entièrement éditable
Une des grandes nouveautés : le site est désormais [entièrement éditable](../wiki/ameliorer-le-site/) !
Une des grandes nouveautés : le site est désormais [entièrement éditable]({filename}/pages/contribuer/ameliorer-le-site.md) !
Vous trouverez sur chacune des pages dans la barre latérale un bouton « Modifier la page sur GitHub » ou « Modifier l'article sur GitHub ». Il ressemble à ceci :
......@@ -27,11 +27,5 @@ Vous trouverez sur chacune des pages dans la barre latérale un bouton « Modifi
Vous pourrez donc proposer des modifications ou même ajouter du nouveau contenu à ce site. Une simple validation de notre part, et voilà le site modifié !
## Un wiki !
L'édition du site prend tout son sens avec l'apparition d'une partie [Wiki](../wiki) : celle-ci permet de centraliser les ressources connues à propos de Duniter.
Ainsi il devient plus simple d'accompagner les nouveaux venus en les orientant vers des articles et tutoriaux pertinents, tout en apportant une base de connaissances pour nous-mêmes.
#### En espérant que cette nouvelle version vous plaise !
En espérant que cette nouvelle version vous plaise !
......@@ -74,11 +74,13 @@ percentRot: 0.67 # => 33,5% des calculateurs sont exclus
## Comment ajouter mon nœud au réseau Ğ1-Test ?
[Sur la page d'accueil](../), cliquez sur le bouton orange « Ğ1-TEST » pour télécharger la dernière version disponible sur ce réseau. Puis, synchronisez-vous sur le réseau :
Rendez-vous sur la page [Forger-des-blocs]({filename}../pages/forger-des-blocs.md), cliquez sur le bouton orange « Ğ1-TEST » pour télécharger la dernière version disponible sur ce réseau.
Puis, synchronisez-vous sur le réseau :
### Avec Duniter Desktop :
![](../images/gune-test-redemarree/sync.png)
![]({static}/images/gune-test-redemarree/sync.png)
### Avec Duniter Server :
......
......@@ -20,13 +20,13 @@ Désormais, la réception de nouveaux blocs ainsi que la synchronisation initial
### L'arrivée des modules !
C'était une fonctionnalité [annoncée durant les RML9 au Havre](../videos-rml9) : Duniter 1.3 permettrait de brancher des modules sur son propre nœud !
C'était une fonctionnalité [annoncée durant les RML9 au Havre]({filename}2017-06-07-videos-rml9.md) : Duniter 1.3 permettrait de brancher des modules sur son propre nœud !
A titre d'exemple, il est désormais possible d'ajouter [le plugin duniter-currency-monit](https://github.com/duniter/duniter-currency-monit/releases) à son nœud local :
<img class="screenshot" src="./images/duniter-1.3/g1-monit.png"></img>
<img class="screenshot" src="{static}/images/duniter-1.3/g1-monit.png"></img>
Une documentation sur les modules est mise à disposition sur le [Wiki](wiki/duniter/modules/).
Une documentation sur les modules [est mise à disposition ici]({filename}/pages/forger-des-blocs/modules.md).
### Cesium n'est plus livré par défaut
......@@ -36,11 +36,11 @@ Le client Cesium était historiquement livré avec Duniter. Avec l'arrivée des
## Synchronisation
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
## Compatibilité
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
-----
......
......@@ -18,11 +18,11 @@ Ce correctif a été testé sur un nœud du réseau Ğ1, qui révèle immédiate
## Synchronisation
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
## Compatibilité
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
-----
......
......@@ -20,11 +20,11 @@ Pour plus de détails sur tous ces changments, consulter [les notes de version](
## Synchronisation
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
## Compatibilité
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
-----
......
......@@ -21,15 +21,15 @@ Cette nouvelle version apporte principalement un lot de correctifs importants po
## Synchronisation
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
## Compatibilité
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
-----
## Mettre à jour sa version
* Lien pour [installer la nouvelle version](../wiki/duniter/installer) depuis un poste vierge
* Lien pour [mettre à jour vers la nouvelle version](../wiki/duniter/mettre-a-jour) depuis une installation existante
* Lien pour [installer la nouvelle version]({filename}../pages/forger-des-blocs/installer.md) depuis un poste vierge
* Lien pour [mettre à jour vers la nouvelle version]({filename}../pages/forger-des-blocs/mettre-a-jour.md) depuis une installation existante
......@@ -56,7 +56,7 @@ Nous sommes deux semaines après le passage du palier Y[n]=4, rappel sur l'effet
L'effet de densification du palier s'est déjà dissipé, la toile de confiance est de nouveau aussi tendue qu'avant le passage du palier, voire légèrement davantage :
* La proportion de membres ayant une qualité >=1 à chuté à **82%** soit environ le même niveau, qu'avant le palier (83%)
* De plus, une dizaine de membres commencent à chuter à des niveaux de qualité très faibles (inférieurs à 0.9), ce qui veut dire qu'ils commencent à être trop distants des membres référents, zones en noir sur ce graphique de la page [qualité toile]( https://g1-monit.librelois.fr/gaussianWotQuality?lg=fr) : </BR><img src="https://librelois.fr/public/qualite-toile-020917.png" width="690" height="339">
* De plus, une dizaine de membres commencent à chuter à des niveaux de qualité très faibles (inférieurs à 0.9), ce qui veut dire qu'ils commencent à être trop distants des membres référents, zones en noir sur ce graphique de la page [qualité toile](https://g1-monit.librelois.fr/gaussianWotQuality?lg=fr) : <br/><img src="https://librelois.fr/public/qualite-toile-020917.png" width="690" height="339" />
* D'ailleurs sur les 79 futurs membres ayant reçu au moins 1 certification, 7 d'entre eux ne respectent pas la règle de distance, 3 ont été certifiés par le même membre mais cela fait quand même **4 cas différents de non-respect de la règle de distance**.
* Un autre indicateur nous montre bien la tension de la toile, **l'augmentation de la longueur moyenne du plus court chemin entre deux membres** qui est désormais de **4.13**. Cette valeur a continuellement augmenté même lors du passage du palier car elle est indépendante de la notion de membre référent, elle montre l'état de tension de la toile entière là où la qualité ne montre que l'état de tension d'un sous ensemble de la toile (le sous-ensemble des liens référent->membre).
* Enfin le nombre de membres référents est quant à lui repassé au-dessus de sa valeur d'avant le palier (153) :
......
......@@ -21,7 +21,7 @@ WS2P Public nécessite la configuration d'un point d'accès pour être joigniabl
Seul les nœuds avec WS2P Public contribuent réellement au réseau P2P, nous vous invitons donc à configurer un point d'accès WS2P Public si vous le pouvez.
Nous vous invitons aussi à vous référer au nouveau [**tutoriel officiel de configuration**](../wiki/duniter/configurer).
Nous vous invitons aussi à vous référer au nouveau [**tutoriel officiel de configuration**]({filename}/pages/forger-des-blocs/configurer.md).
**Il est important de passer cette mise à jour** si vous êtes en version 1.5 ou inférieure, car ces anciennes versions ne pourront pas communiquer avec les nœuds en 1.6 et vont donc s'isoler du réseau ! Pour assurer la stabilité du réseau Ğ1 nous gardons pour l'instant la possibilité de réactiver manuellement les fonctions de crawling et de routage de la couche réseau historique en attendant que les nœuds 1.5 se mettent à jour. Mais, nous désactiverons cette fonction dans les prochaines versions de Duniter !
......@@ -30,15 +30,15 @@ Nous vous invitons aussi à vous référer au nouveau [**tutoriel officiel de co
## Synchronisation
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Pas besoin de resynchroniser.
## Compatibilité
> <span class="icon">![](../images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
> <span class="icon">![]({static}/images/icons/white_check_mark.png)</span> Compatible avec la Ğ1.
-----
## Mettre à jour sa version
* Lien pour [installer la nouvelle version](../wiki/duniter/installer) depuis un poste vierge
* Lien pour [mettre à jour vers la nouvelle version](../wiki/duniter/mettre-a-jour) depuis une installation existante
* Lien pour [installer la nouvelle version]({filename}../pages/forger-des-blocs/installer.md) depuis un poste vierge
* Lien pour [mettre à jour vers la nouvelle version]({filename}../pages/forger-des-blocs/mettre-a-jour.md) depuis une installation existante
......@@ -6,7 +6,7 @@ Slug: remuneration-03-18
Authors: cgeek
Thumbnail: /images/coins.svg
Depuis fin janvier 2018, nous avons mis en place [un compte public pour financer les développements de Duniter](../financements/). En un peu plus d'un mois nous avons déjà récolté 9 062,92 Ğ1 et, à ce titre, nous remercions bien chaleureusement tous les donateurs :-)
Depuis fin janvier 2018, nous avons mis en place [un compte public pour financer les développements de Duniter]({filename}../pages/financements.md). En un peu plus d'un mois nous avons déjà récolté 9 062,92 Ğ1 et, à ce titre, nous remercions bien chaleureusement tous les donateurs :-)
Grâce à ces dons, nous pouvons officiellement débuter un projet de longue date : la rémunération des développeurs.
......@@ -34,7 +34,7 @@ Enfin, et selon les mêmes règles que la part variable, il est possible de ponc
## Publication des rémunérations
Toute rémunération est publiquement vérifiable, tous les dons seront consignés [sur la page des financements](../financements/). De plus le compte étant public, tout intéressé peut vérifier la véracité des transactions en blockchain.
Toute rémunération est publiquement vérifiable, tous les dons seront consignés [sur la page des financements]({filename}../pages/financements.md). De plus le compte étant public, tout intéressé peut vérifier la véracité des transactions en blockchain.
Enfin, vous pourrez retracer l'ensemble des décisions de rémunération dans la série de posts taggués « rémunération » ou dans la catégorie « Soutien ».
......
......@@ -64,15 +64,15 @@ En interne, le logiciel connaît des refontes, abstractions, élagage de code af
## Synchronisation
> <span class="icon">![](../images/icons/warning.png)</span> Resynchronisation obligatoire.
> <span class="icon">![]({static}/images/icons/warning.png)</span> Resynchronisation obligatoire.
## Compatibilité
> <span class="icon">![](../images/icons/warning.png)</span> Fait évoluer la Ğ1 en protocole v11 !
> <span class="icon">![]({static}/images/icons/warning.png)</span> Fait évoluer la Ğ1 en protocole v11 !
-----
## Mettre à jour sa version
* Lien pour [installer la nouvelle version](../wiki/duniter/installer) depuis un poste vierge
* Lien pour [mettre à jour vers la nouvelle version](../wiki/duniter/mettre-a-jour) depuis une installation existante
* Lien pour [installer la nouvelle version]({filename}../pages/forger-des-blocs/installer.md) depuis un poste vierge
* Lien pour [mettre à jour vers la nouvelle version]({filename}../pages/forger-des-blocs/mettre-a-jour.md) depuis une installation existante
......@@ -36,9 +36,9 @@ Cet acte de reconnaissance est appelé *certification*.
L'ensemble des données de la monnaie Ğ1 est enregistré au sein d'une *blockchain*³. Ainsi, la toile de confiance composée des identités membres et des certifications, ainsi que les transactions de monnaie sont enregistrées au sein d'une base de donnée partagée, répliquée, et écrite de façon décentralisée.
## Pour aller plus loin
## Pour aller plus loin
Vous pouvez directement accéder à la page [Théorie](../comprendre/theorie), ou bien consulter ces quelques ressources supplémentaires :
Vous pouvez directement accéder à la page [Théorie]({filename}comprendre/theorie.md), ou bien consulter ces quelques ressources supplémentaires :
* [https://monnaie-libre.fr](https://monnaie-libre.fr)
* [Article récapitulatif de Moul](https://moul.re/blog/index.php?article3/duniter) sur Duniter, la TRM et les monnaies libres
......@@ -46,7 +46,7 @@ Vous pouvez directement accéder à la page [Théorie](../comprendre/theorie), o
* [Une vidéo de Stéphane Laborde à l'Université d'été du MFRB](https://www.youtube.com/watch?v=PdSEpQ8ZtY4) sur la monnaie libre, en été 2014
* [Une vidéo de Stéphane Laborde à l'Ubuntu Party](https://www.youtube.com/watch?v=ljflI-JAsbc) sur la monnaie libre, à Paris en novembre 2014
Puis de manière générale, vous retrouverez beaucoup d'informations sur la page [Wiki](../wiki).
Puis de manière générale, vous retrouverez beaucoup d'informations sur la page [Wiki]({filename}wiki.md).
----
......
......@@ -5,7 +5,9 @@ Tags: salon, chat, xmpp, forum, contact, contribuer
Slug: contact
Authors: cgeek
> **Pour un bug :** merci de suivre la procédure indiquée sur la page [Wiki > Rapporter un bug](../wiki/rapporter-un-bug).
# Contact
> **Pour un bug :** merci de suivre la procédure indiquée sur la page [Rapporter un bug]({filename}contribuer/rapporter-un-bug.md).
## Le [forum monnaie-libre.fr](https://forum.monnaie-libre.fr)
......
......@@ -16,7 +16,10 @@ Il est possible de participer au développement :
... ou même de développer votre propre logiciel reposant sur Ğ1 et Duniter.
[Découvrir l'écosystème logiciel de Duniter]({filename}contribuer/ecosysteme-logiciel-duniter.md)
## Notions transversales
* [Découvrir l'écosystème logiciel de Duniter]({filename}contribuer/ecosysteme-logiciel-duniter.md)
* [Rapporter un bug]({filename}contribuer/rapporter-un-bug.md)
## Développer les logiciels clients
......@@ -31,8 +34,6 @@ Ils ne font pas le travail d'un nœud, mais réalisent des opérations sur la bl
## Contribuer à Duniter
* [Rapporter un bug]({filename}contribuer/rapporter-un-bug.md)
### Concepts généraux
* [Preuve de travail]({filename}contribuer/duniter/preuve-de-travail.md)
......@@ -48,6 +49,8 @@ Ils ne font pas le travail d'un nœud, mais réalisent des opérations sur la bl
* [Guide du validateur](https://git.duniter.org/nodes/typescript/duniter/blob/dev/doc/validator-guide.md)
* [Livraisons]({filename}contribuer/duniter/livraisons.md)
* [Livraisons (ancien)]({filename}contribuer/duniter/livraisons-old.md)
* [Ajouter/Retirer des interfaces spécifiques de pair]({filename}contribuer/duniter/interfaces-specifiques-de-pair.md)
* [Du Rust dans NodeJs graçe a Neon]({filename}contribuer/duniter/binding-node-rust.md)
## Contribuer à Dunitrust
......
Title: Contribuer à Duniter
Order: 9
Date: 2017-04-08
Slug: duniter
Authors: cgeek
# Comment contribuer à Duniter
## Concepts généraux
* [Preuve de travail]({filename}duniter/preuve-de-travail.md)
* [Architecture]({filename}duniter/architecture.md)
* [Archivage des réflexions techniques autour de Duniter et de sa philosophie]({filename}duniter/archives.md)
## Implémentation
* [Tutoriel de développement]({filename}duniter/tutoriel-dev.md)
* [Fonctionnement des branches du dépot git duniter]({filename}duniter/git-branches.md)
* [Fuites mémoire]({filename}duniter/fuites-memoire.md)
* [Les modules C/C++]({filename}duniter/les-modules-c-cpp.md)
* [Guide du validateur](https://git.duniter.org/nodes/typescript/duniter/blob/dev/doc/validator-guide.md)
* [Livraisons]({filename}duniter/livraisons.md)
* [Livraisons (ancien)]({filename}duniter/livraisons-old.md)
* [Ajouter/Retirer des interfaces spécifiques de pair]({filename}duniter/interfaces-specifiques-de-pair.md)
* [Du Rust dans NodeJs graçe a Neon]({filename}duniter/binding-node-rust.md)
\ No newline at end of file
Title: Binding Node Rust
Title: Du Rust dans NodeJs graçe a Neon
Order: 9
Date: 2018-05-04
Slug: binding-node-rust
Authors: elois
## Intro : Du Rust dans NodeJs graçe a Neon
# Binding Node Rust
Dans ce tutoriel nous allons voir comment intégrer du code [Rust](https://www.rust-lang.org) dans un module NodeJs graçe a [Neon](https://github.com/neon-bindings/neon).
......@@ -18,11 +18,11 @@ Les deux autrés méthodes sont passer par une 3ème language intermédiare (le
Vous aurez besoin des outils de développement pour Rust et pour NodeJS, les indications d'installation sont valable pour les systèmes gnu/linux basés sur debain ou dérivés :
### 1. Installation votre enviromment rust
## 1. Installation votre enviromment Rust
Suivez ce tutoriel : [Installer son environnement Rust](../duniter-rs/installer-son-environnement-rust)
Suivez ce tutoriel : [Installer son environnement Rust]({filename}../../contribuer/dunitrust/installer-son-environnement-rust.md)
### 2. Installez NodeJS
## 2. Installez NodeJS
Installez nvm :
......@@ -32,7 +32,7 @@ Puis installez la version de NodeJs que vous souhaitez utiliser :
nvm install VERSION
### 3. Installez Neon
## 3. Installez Neon
Installez l'utilitaire neon-cli, c'est indispensable :
......
......@@ -4,7 +4,7 @@ Date: 2017-03-31
Slug: interfaces-specifiques-de-pair
Authors: cgeek
# Ajouter/Retirer des interfaces spécifiques de pair
# Ajouter/Retirer l'interface spécifique d'un pair
> Reprise d'un [commentaire sur le ticket GitHub #337](https://github.com/duniter/duniter/issues/337#issuecomment-251380492).
......@@ -57,7 +57,7 @@ Ce qui produit :
Une bonne pratique est de réaliser ces opérations **exclusivement sur un seul nœud**, qui s'occupera de gérer les interfaces spécifiques. Car si vous avez :
* un nœud qui ajouter l'interface `EP1`
* un nœud qui ajoute l'interface `EP1`
* un *autre* nœud qui supprime l'interface `EP1`
Alors vous tomberez dans un [ping-pong infini](../cles-partagees#le-stock-de-blockstamp), ce qui consommera tout le stock disponible de tampons temporels pour émettre de nouvelles fiches de pair. Vous n'aurez alors plus la possibilité de mettre à jour votre fiche de pair avant qu'un nouveau bloc apparaisse.
Alors vous tomberez dans un ping-pong infini, ce qui consommera tout le stock disponible de tampons temporels pour émettre de nouvelles fiches de pair. Vous n'aurez alors plus la possibilité de mettre à jour votre fiche de pair avant qu'un nouveau bloc apparaisse.
......@@ -4,25 +4,31 @@ Date: 2017-10-31
Slug: tutoriel-dev
Authors: cgeek
> <span class="icon">![](/fr/images/icons/warning.png)</span> Tutoriel en cours de rédaction ! (06/11/2017)
# Tutoriel de développement Duniter
Vous souhaitez manipuler le code de Duniter, comprendre ses rouages par curiosité ou même contribuer à son développement ? Ce tutoriel tentera de vous y aider !
> <span class="icon">![]({static}/images/icons/warning.png)</span> Tutoriel en cours de rédaction ! (06/11/2017)
Vous souhaitez manipuler le code de Duniter, comprendre ses rouages par curiosité ou même contribuer à son développement ?
Ce tutoriel tentera de vous y aider !
L'apprentissage est découpé en plusieurs chapitres progressifs, chacun d'entre eux visant à maîtriser un aspect spécifique du logiciel et de ses outils.
### Aide
## En cas de difficultés
En cas de difficultés, rendez-vous sur [le forum technique Duniter](https://forum.duniter.org).
En cas de difficultés, rendez-vous sur [le forum technique Duniter](https://forum.duniter.org). Posez votre question, décrivez votre problème et des contributeurs tenteront de vous aider.
Posez votre question, décrivez votre problème et des contributeurs tenteront de vous aider.
### Le tutoriel
## Sommaire
Place aux chapitres !
* [1. Présentation générale et philosophie du projet](./chapitre-1-presentation)
* [2. Installation des outils](./chapitre-2-outils)
* [3. Récupération du code source](./chapitre-3-source)
* [4. Démarrage](./chapitre-4-demarrage)
* [5. Architecture de Duniter](./chapitre-5-architecture)
* [6. Éléments de code](./chapitre-6-code)
* [7. La base de données](./chapitre-7-bdd)
* [8. Les addons C/C++](./chapitre-8-addons) (en cours)
1. [Présentation générale et philosophie du projet]({filename}tutoriel-dev/chapitre-1-presentation.md)
2. [Installation des outils]({filename}tutoriel-dev/chapitre-2-outils.md)
3. [Récupération du code source]({filename}tutoriel-dev/chapitre-3-source.md)
4. [Démarrage]({filename}tutoriel-dev/chapitre-4-demarrage.md)
5. [Architecture de Duniter]({filename}tutoriel-dev/chapitre-5-architecture.md)
6. [Éléments de code]({filename}tutoriel-dev/chapitre-6-code.md)
7. [La base de données]({filename}tutoriel-dev/chapitre-7-bdd.md)
8. [Les addons {filename}C++]({filename}tutoriel-dev/chapitre-8-addons.md) (en cours)
......@@ -63,7 +63,7 @@ Duniter est un logiciel libre sous licence AGPL, écrit à 97 % en TypeScript,
Le réseau Duniter Ğ1 fonctionne sur la base de *nœuds* en pair-à-pair, donc sans entité centrale. Il est possible d'interagir avec ces nœuds via des programmes *clients* tels Sakia, Cesium ou Silkaj :
![image|690x467](/fr/images/tuto-dev/topologie.png)
![image|690x467]({static}/images/tuto-dev/topologie.png)
### Sécurité
......@@ -92,4 +92,4 @@ Bien sûr, Duniter n'est pas une application centralisée et opère sur une bloc
Avec un peu d'investissement personnel, il n'y a rien d'insurmontable. De plus, les développeurs répondent toujours présents sur le [Forum Duniter](https://forum.duniter.org), section Dev, pour vous aider.
> Passer à la suite du tutoriel : [Chapitre 2. Installation des outils](../chapitre-2-outils).
> Passer à la suite du tutoriel : [Chapitre 2. Installation des outils]({filename}chapitre-2-outils.md).
......@@ -49,4 +49,4 @@ Cette commande peut durer 1h ou plus en fonction des composants déjà installé
Pour terminer correctement l'installation, nous vous conseillons de *fermer vos terminaux et relancer VSCode* si vous l'aviez ouvert. En effet certaines variables d'environnement ont été mises à jour par les installations précédentes, et ne seront disponbiles qu'après redémarrage des logiciels.
> Passer à la suite du tutoriel : [Chapitre 3. Récupération du code source](../chapitre-3-source).
> Passer à la suite du tutoriel : [Chapitre 3. Récupération du code source]({filename}chapitre-3-source.md).
......@@ -24,7 +24,7 @@ Duniter repose sur plusieurs bibliothèques de code tierces, ou *dépendances*.
yarn
> <span class="icon">![](/fr/images/icons/warning.png)</span> Attention pour les habitués de NodeJS : **ne remplacez pas `yarn` par `npm`**, car ce dernier ne permet pas d'avoir rigoureusement les mêmes versions des dépendances d'un poste à l'autre, or sans cette assurance nous ne pouvons pas garantir que le code fonctionnera comme attendu sur votre poste.
> <span class="icon">![]({static}/images/icons/warning.png)</span> Attention pour les habitués de NodeJS : **ne remplacez pas `yarn` par `npm`**, car ce dernier ne permet pas d'avoir rigoureusement les mêmes versions des dépendances d'un poste à l'autre, or sans cette assurance nous ne pouvons pas garantir que le code fonctionnera comme attendu sur votre poste.
## Exécuter les tests automatisés
......@@ -46,6 +46,6 @@ La commande que nous venons d'exécuter a créé un dossier `coverage`, qui cont
Vous pouvez visualiser et étudier la couverture du code est ouvrant le fichier `coverage/index.html` dans votre navigateur :
![](/fr/images/tuto-dev/coverage.png)
![]({static}/images/tuto-dev/coverage.png)
> Passer à la suite du tutoriel : [Chapitre 4. Démarrage](../chapitre-4-demarrage).
> Passer à la suite du tutoriel : [Chapitre 4. Démarrage]({filename}chapitre-4-demarrage.md).
......@@ -41,11 +41,11 @@ Le débogage nécessite une configuration de VSCode pour le projet. Afin de faci
À partir de là, à l'aide de la combinaison de touches Ctrl+Shift+D, vous pouvez sélectionne la configuration de débogage souhaitée :
![](/fr/images/tuto-dev/debug_selection.png)
![]({static}/images/tuto-dev/debug_selection.png)
Vous pouvez sélectionner la configuration `MOCHA ALL TESTS` dans un premier temps, puis appuyer sur la touche `F5`. VSCode devrait alors lancer les tests automatisés de Duniter, ce qui peut durer plusieurs minutes :
![](/fr/images/tuto-dev/debug_tests_done.png)
![]({static}/images/tuto-dev/debug_tests_done.png)
### Point d'arrêt
......@@ -53,15 +53,15 @@ Vous pouvez sélectionner la configuration `MOCHA ALL TESTS` dans un premier tem
Par exemple, plaçons un point d'arrêt dans le fichier `app/modules/daemon.ts` :
![](/fr/images/tuto-dev/debug_direct_start.png)
![]({static}/images/tuto-dev/debug_direct_start.png)
Puis lançons le débogage sur `direct_start` :
![](/fr/images/tuto-dev/debug_direct_start_launcher.png)
![]({static}/images/tuto-dev/debug_direct_start_launcher.png)
Alors, VSCode lance `node bin/duniter direct_start` en mode debug, et nous permet d'atterir dans le code dont l'exécution est suspendue au point d'arrêt :
![](/fr/images/tuto-dev/debug_point_suspendu.png)
![]({static}/images/tuto-dev/debug_point_suspendu.png)
Nous avons ici une foule d'informations disponibles ! Nous pouvons placer le curseur de la souris sur une variable pour avoir son contenu, nous déplacer dans la pile des appels, ajouter des espions, etc. Ce sont là des informations extrêmement précieuses, notamment quand le code devient plus complexe.
......@@ -86,4 +86,4 @@ Ce qui signifie « TypeScript Compiler Watch ». Dès lors, nous pouvons modifie
**Sans `yarn tsc` ou `yarn tscw`, vous tomberez sur des erreurs de point d'arrêt refusant de suspendre le code ou d'obtenir un comportement de Duniter différent du code source**. Le plus simple est d'avoir un terminal à part, où `yarn tscw` s'exécute tranquillement. Ainsi, il est possible de modifier le code source sans se soucier de la transpilation suite à une modification du code.
> Passer à la suite du tutoriel : [Chapitre 5 : Architecture](../chapitre-5-architecture).
> Passer à la suite du tutoriel : [Chapitre 5 : Architecture]({filename}chapitre-5-architecture.md).
......@@ -4,6 +4,8 @@ Date: 2017-10-31
Slug: chapitre-5-architecture
Authors: cgeek
# Architecture de Duniter
## Introduction
Ce chapitre a pour but de visualiser l'architecture de Duniter sous différents angles, afin d'apporter une vue multidimensionnelle du code qui s'organise selon plusieurs axes principaux :
......@@ -461,4 +463,4 @@ Alors, Duniter passe par les phases décrites plus tôt :
Voilà donc comment on obtient un nœud Duniter fonctionnel à ce jour.
> Passer à la suite du tutoriel : [Chapitre 6 : Code](../chapitre-6-code).
> Passer à la suite du tutoriel : [Chapitre 6 : Code]({filename}chapitre-6-code.md).
......@@ -151,4 +151,4 @@ Les fichiers `IdentityService.ts`, `MembershipService.ts`, `TransactionService.t
Aucun de ces services n'écrit dans la blockchain directement, mais en piscine : c'est une zone temporaire pour les données en attente d'être inscrites officiellement dans un bloc.
> Passer à la suite du tutoriel : [Chapitre 7 : Base de données](../chapitre-7-bdd).
> Passer à la suite du tutoriel : [Chapitre 7 : Base de données]({filename}chapitre-7-bdd.md).
......@@ -855,4 +855,4 @@ Conditions de déverrouillage de la source.
Numéro du bloc d'écriture.
> Passer à la suite du tutoriel : [Chapitre 8 : Addons C/C++](../chapitre-8-addons).
> Passer à la suite du tutoriel : [Chapitre 8 : Addons C/C++]({filename}chapitre-8-addons.md).
......@@ -4,6 +4,4 @@ Date: 2017-10-31
Slug: chapitre-8-addons
Authors: cgeek
> <span class="icon">![](/fr/images/icons/warning.png)</span> Page en cours de rédaction !
>
> Ce chapitre est à paraître courant Novembre 2017.
> <span class="icon">![]({static}/images/icons/warning.png)</span> Page en cours de rédaction !
\ No newline at end of file
......@@ -10,9 +10,9 @@ Pages concernant spécifiquement l'implémentation Rust de Duniter nommée Dunit
## Développement
* [Installer son environnement Rust](./installer-son-environnement-rust)
* [Architecture de duniter-rs](./architecture)
* [Installer son environnement Rust]({filename}dunitrust/installer-son-environnement-rust.md)
* [Architecture de duniter-rs]({filename}dunitrust/architecture.md)
## Installation
* [Cross-Compiler Duniter-Rust pour arm](./cross-compilation-pour-arm)
\ No newline at end of file
* [Cross-Compiler Duniter-Rust pour arm]({filename}dunitrust/cross-compilation-pour-arm.md)
\ No newline at end of file
......@@ -4,6 +4,8 @@ Date: 2018-06-09
Slug: cross-compilation-pour-arm
Authors: elois
# Cross compilation pour arm
Il y a deux Méthodes différentes pour cross-compiler Duniter-Rust pour arm :
1. Cross-compiler proprement pour armv6 via docker.
......
......@@ -28,7 +28,7 @@ Il n'existe dans Duniter qu'une seule implémentation des nœuds serveurs à l'h
Duniter-ts est un nœud serveur qui est configurable en ligne de commande. Il est capable d'automatiquement se connecter et se synchroniser au réseau, y compris derrière un NAT. Pour en simplifier l'utilisation, un plugin, Duniter-UI a été développé. Il permet d'avoir une interface d'administration pour ce logiciel.
<center><image src="../images/duniter-ui.png" width="400px"/></center>
<center><image src="{static}/images/duniter-ui.png" width="400px"/></center>
Duniter gère ainsi différents modules. Le plus connu étant [Duniter-Currency-monit](https://g1-monit.monnaielibreoccitanie.org/). Un outil permettant d'observer l'évolution de la monnaie, que ce soit la toile de confiance, les adhésions, la masse monétaire, etc.
......@@ -60,7 +60,7 @@ Un client lourd, [Sakia](https://git.duniter.org/clients/python/sakia). Réalis
- Observation du réseau, des endpoints disponibles, etc
Sakia utilise le consensus réseau pour vérifier les réponses des nœuds. Lorsqu'il requête une donnée, il va comparer les réponses de différents nœuds pour s'assurer de leur cohérence. En conséquence, Sakia est plus lent que les autres clients. Sakia est multiplateforme.
<center><image src="../images/sakia-ui.png" width="400px"/></center>
<center><image src="{static}/images/sakia-ui.png" width="400px"/></center>
Un client web, [Cesium](https://git.duniter.org/clients/cesium/cesium). Réalisé avec ionic.js, c'est le client le plus avancé en termes de fonctionnalités utilisateur. Il permet, de base, les fonctions suivantes :
......@@ -76,7 +76,7 @@ Un client web, [Cesium](https://git.duniter.org/clients/cesium/cesium). Réalis
- Intégration d'une messagerie chiffrée avec les clés Duniter
En tant que client web, Césium est installable sur toutes les plateformes, que ce soit des ordinateurs de bureau ou des ordiphones.
<center><image src="../images/cesium-ui.png" width="400px"/></center>
<center><image src="{static}/images/cesium-ui.png" width="400px"/></center>
# Places de marchés
......@@ -87,7 +87,7 @@ Afin de permettre à la monnaie de se développer, deux places de marché ont é
- [Ğchange](https://www.gchange.fr/#/app/home) est aussi un logiciel de place de marché. Il est implémenté sous la forme d'une interface ionic.js utilisant un serveur Elasticsearch en backend. Comme Césium, il offre des fonctionnalités de création de pages pour les entreprises. Il permet de géolocaliser les différentes annonces. C'est aujourd'hui la place de marché la plus active de la communauté.
<center><image src="../images/gchange-ui.png" width="400px"/></center>
<center><image src="{static}/images/gchange-ui.png" width="400px"/></center>
# Autres projets
......@@ -108,7 +108,7 @@ Du côté des prochains logiciels à venir, on ne va pas s'ennuyer :
- Utilisation d'un système où le billet doit être détruit pour être consommé et transférer les ğ1 sur son compte
- Implémentation d'un service web qui référence l'utilisation des billets existants, dans l'espace et dans le temps, afin de pouvoir vérifier qu'un billet reçu n'a pas été utilisé en même temps dans une distance lointaine.
<center><image src="../images/g1billet.png" width="400px"/></center>
<center><image src="{static}/images/g1billet.png" width="400px"/></center>
<center><i>Exemple de billet envisagé</i></center>
Enfin, les développeurs s'intéressent aujourd'hui aux idées du projet [FYgg](https://framagit.org/fygg) développé par nanocryk. Certains concepts utilisés dans ce framework de chaîne de blocs permettraient de décentraliser davantage Duniter, de fiabiliser et accélérer les données retournée par le réseau aux clients. En parallèle de ces recherches, les développeurs réfléchissent à l'implémentation d'une [nouvelle API clients](https://git.duniter.org/nodes/common/doc/merge_requests/3), qui s'appuierait sur GraphQL.
......
Title: FAQ
Order: 9
Date: 2017-07-07
Slug: faq
Authors: cgeek, inso, Ğaluel
Slug: faq
[TOC]
......
......@@ -4,31 +4,31 @@ Title: Forger des blocs
## Installation
* [Installer son nœud Duniter](./installer)
* [Mettre à jour son nœud Duniter](./mettre-a-jour)
* [Installer son nœud Duniter]({filename}forger-des-blocs/installer.md)
* [Mettre à jour son nœud Duniter]({filename}forger-des-blocs/mettre-a-jour.md)
* [Mettre à jour Duniter sur YunoHost en ligne de commande](https://forum.duniter.org/t/full-https-support-for-duniter-package-for-yunohost/1892/18)
## Configuration
* [Configurer son nœud Duniter fraichement installé](./configurer)
* [Configurer son nœud Duniter fraichement installé]({filename}forger-des-blocs/configurer.md)
## Utilisation
* [Lancer Duniter automatiquement au démarrage de la machine](./lancement-au-boot)
* [Duniter en ligne de Commande](./commandes)
* [Les modules (plugins)](./modules)
* [Liste des modules (plugins)](./liste-modules)
* [Lancer Duniter automatiquement au démarrage de la machine]({filename}forger-des-blocs/lancement-au-boot.md)
* [Duniter en ligne de Commande]({filename}forger-des-blocs/commandes.md)
* [Les modules (plugins)]({filename}forger-des-blocs/modules.md)
* [Liste des modules (plugins)]({filename}forger-des-blocs/liste-modules.md)
## Auto-hébergement
* [Duniter sur un VPN](https://forum.duniter.org/t/duniter-sur-un-vpn/2280/13)