diff --git a/docs/fr/getting-started/README.md b/docs/fr/getting-started/README.md new file mode 100644 index 000000000..1702a4ea3 --- /dev/null +++ b/docs/fr/getting-started/README.md @@ -0,0 +1,24 @@ +# Votre première action + +Pour vous aider à bien démarrer avec Mojaloop, choisissez l’option ci-dessous qui correspond le mieux à vos besoins : + + +1. [Foire aux questions](./faqs) +2. [Licence](./license.md) +3. [Consulter les API Mojaloop](/api/) +4. [Suivre un programme de formation](https://mojaloop.io/mojaloop-training-program/) +5. [Contribuer à Mojaloop](/community/) +6. [Installer Mojaloop](./installation/installing-mojaloop.md) +7. [Démos](./demos/mojaloop-overview.md) + + 7.1. [Pourquoi Mojaloop ?](./demos/why-mojaloop.md) + + 7.2. [Travailler avec Mojaloop ?](./demos/working-with-mojaloop.md) + + 7.3. [Inclusion financière 101](./demos/financial-inclusion-101.md) + + 7.4. [Qu’est-ce que le RTP ?](./demos/what-is-rtp.md) + + 7.5. [Qu’est-ce qui fait un écosystème financier réussi ?](./demos/what-makes-a-successful-financial-ecosystem.md) + + 7.6. [Dans la boucle](./demos/inside-the-loop.md) diff --git a/docs/fr/getting-started/demos/financial-inclusion-101.md b/docs/fr/getting-started/demos/financial-inclusion-101.md new file mode 100644 index 000000000..2a3642c63 --- /dev/null +++ b/docs/fr/getting-started/demos/financial-inclusion-101.md @@ -0,0 +1,11 @@ +# Inclusion financière 101 + + \ No newline at end of file diff --git a/docs/fr/getting-started/demos/inside-the-loop.md b/docs/fr/getting-started/demos/inside-the-loop.md new file mode 100644 index 000000000..db8283c7f --- /dev/null +++ b/docs/fr/getting-started/demos/inside-the-loop.md @@ -0,0 +1,26 @@ +# Dans la boucle + + +## Partie 1 + + + +## Partie 2 + + \ No newline at end of file diff --git a/docs/fr/getting-started/demos/mojaloop-overview.md b/docs/fr/getting-started/demos/mojaloop-overview.md new file mode 100644 index 000000000..509291755 --- /dev/null +++ b/docs/fr/getting-started/demos/mojaloop-overview.md @@ -0,0 +1,11 @@ +# Présentation de Mojaloop + + \ No newline at end of file diff --git a/docs/fr/getting-started/demos/what-is-rtp.md b/docs/fr/getting-started/demos/what-is-rtp.md new file mode 100644 index 000000000..ea83a016b --- /dev/null +++ b/docs/fr/getting-started/demos/what-is-rtp.md @@ -0,0 +1,11 @@ +# Qu’est-ce que le RTP ? + + \ No newline at end of file diff --git a/docs/fr/getting-started/demos/what-makes-a-successful-financial-ecosystem.md b/docs/fr/getting-started/demos/what-makes-a-successful-financial-ecosystem.md new file mode 100644 index 000000000..1716ebd3e --- /dev/null +++ b/docs/fr/getting-started/demos/what-makes-a-successful-financial-ecosystem.md @@ -0,0 +1,11 @@ +# Qu’est-ce qui fait un écosystème financier réussi ? + + \ No newline at end of file diff --git a/docs/fr/getting-started/demos/why-mojaloop.md b/docs/fr/getting-started/demos/why-mojaloop.md new file mode 100644 index 000000000..9cc51c6b0 --- /dev/null +++ b/docs/fr/getting-started/demos/why-mojaloop.md @@ -0,0 +1,11 @@ +# Pourquoi Mojaloop ? + + \ No newline at end of file diff --git a/docs/fr/getting-started/demos/working-with-mojaloop.md b/docs/fr/getting-started/demos/working-with-mojaloop.md new file mode 100644 index 000000000..23c4efe37 --- /dev/null +++ b/docs/fr/getting-started/demos/working-with-mojaloop.md @@ -0,0 +1,11 @@ +# Travailler avec Mojaloop + + \ No newline at end of file diff --git a/docs/fr/getting-started/faqs.md b/docs/fr/getting-started/faqs.md new file mode 100644 index 000000000..021f0eee5 --- /dev/null +++ b/docs/fr/getting-started/faqs.md @@ -0,0 +1,6 @@ +# Foire aux questions + +Ce document rassemble certaines des questions les plus fréquemment posées par la communauté. + +- [FAQ générales](./general-faqs) +- [FAQ techniques](./technical-faqs) \ No newline at end of file diff --git a/docs/fr/getting-started/general-faqs.md b/docs/fr/getting-started/general-faqs.md new file mode 100644 index 000000000..c1664f3c6 --- /dev/null +++ b/docs/fr/getting-started/general-faqs.md @@ -0,0 +1,59 @@ +# FAQ générales + +Ce document rassemble certaines des questions les plus fréquemment posées par la communauté. + +## 1. Qu’est-ce que Mojaloop ? + +Mojaloop est un logiciel open source permettant de construire des plateformes de paiements numériques interopérables à l’échelle nationale. Il facilite l’interconnexion de services fournis par différents types d’acteurs et le déploiement de services financiers à faible coût sur de nouveaux marchés. + + +## 2. Comment ça fonctionne ? + +La plupart des fournisseurs de services financiers numériques opèrent sur leurs propres réseaux, ce qui empêche les clients utilisant des services différents d’effectuer des transactions entre eux. Mojaloop agit comme un « commutateur » universel, acheminant les paiements de manière sécurisée entre tous les clients, quel que soit leur réseau. Il comprend plusieurs couches principales, chacune avec une fonction spécifique : une couche d’interopérabilité, qui relie comptes bancaires, portefeuilles de monnaie électronique et commerçants en boucle ouverte ; une couche de services d’annuaire, qui gère les différentes méthodes d’identification des comptes de part et d’autre de la transaction ; une couche de règlement des transactions, qui rend les paiements instantanés et irrévocables ; ainsi que des composants de protection contre la fraude. + +## 3. À qui s’adresse Mojaloop ? + +Le code comporte de nombreux composants, et toute personne travaillant directement ou indirectement sur des transactions financières numériques (développeurs fintech, banquiers, entrepreneurs, startups, etc.) est invitée à explorer et utiliser les parties qui lui sont utiles. Le logiciel, dans son ensemble, est conçu pour être mis en œuvre à l’échelle nationale ; il est donc particulièrement pertinent pour les fournisseurs de monnaie mobile, les associations de paiement, les banques centrales et les régulateurs. + +Les développeurs des fintechs et des services financiers peuvent utiliser le code de trois manières : l’adapter aux standards d’un pays, l’utiliser pour mettre à jour leurs produits et services (ou en créer de nouveaux), et l’améliorer en proposant des mises à jour et de nouvelles versions pour les autres utilisateurs. + +Par exemple : + +- Une banque centrale peut mandater l’usage du logiciel par ses partenaires commerciaux afin d’accélérer le déploiement d’une passerelle nationale de paiement. +- Un grand processeur de paiement peut utiliser le logiciel pour moderniser son offre et réduire ses coûts de transaction sans investissements R&D majeurs. +- Une startup fintech peut utiliser le code pour comprendre concrètement comment se conformer à des API de paiement interopérables. +- Une banque peut utiliser le code pour adapter ses systèmes internes afin d’interopérer plus facilement avec d’autres fournisseurs de paiement. + +## 4. Pourquoi Mojaloop existe-t-il ? + +Les acteurs qui cherchent à proposer des services financiers numériques innovants et à faible coût sur des marchés en développement doivent souvent tout construire eux-mêmes. Cela augmente les coûts et cloisonne les services. Mojaloop peut servir de fondation pour construire des plateformes interopérables, réduire les coûts pour les fournisseurs et permettre l’intégration de leurs services avec ceux des autres acteurs du marché. + +## 5. Qui est à l’origine de Mojaloop ? + +Mojaloop a été construit en collaboration avec un groupe d’entreprises technologiques et fintech de premier plan : [Ripple](https://github.com/ripple), [Dwolla](https://github.com/dwolla), [Software Group](http://www.softwaregroup-bg.com/), [ModusBox](http://www.modusbox.com/) et [Crosslake Technologies](http://www.crosslaketech.com/). Mojaloop a été initié par la Fondation Gates afin de « rééquilibrer le terrain économique » en mobilisant expertise et ressources pour construire des modèles de paiement inclusifs au bénéfice des populations les plus pauvres. Il est mis gratuitement à disposition du public en tant que logiciel open source sous la [licence Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0). + +## 6. Sur quelles plateformes Mojaloop fonctionne-t-il ? + +La plateforme Mojaloop a été conçue pour des environnements cloud modernes. Des méthodes open source et des plateformes largement utilisées, comme Node.js, constituent la couche de base. Les microservices sont empaquetés avec Docker et peuvent être déployés sur du matériel local ou dans des environnements cloud tels qu’Amazon Web Services ou Azure. + +## 7. Est-ce vraiment open source ? + +Oui, Mojaloop est réellement open source. Tous les modules principaux, la documentation et les livres blancs sont disponibles sous la [licence Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0). Mojaloop s’appuie sur des logiciels open source largement utilisés, notamment Node.js, MuleCE, Java et PostgreSQL. Mojaloop utilise également le [protocole Interledger](https://github.com/interledger) pour orchestrer des transferts d’argent sécurisés. Les licences de ces plateformes et de leurs dépendances permettent de nombreux usages légitimes du logiciel. + +## 8. Comment contribuer à Mojaloop ? + +Vous pouvez contribuer en aidant à créer de nouvelles fonctionnalités prévues sur la feuille de route, ou en aidant à améliorer la plateforme. Pour consulter la feuille de route, voir la [Mojaloop Roadmap](../mojaloop-roadmap.md). Nous recommandons de commencer par le guide d’onboarding et l’exemple de problème, conçus pour présenter les idées clés de la plateforme et du logiciel, les méthodes de build et le processus de contribution. + +## 9. Peut-on utiliser Mojaloop pour des paiements en cryptomonnaie ? + +Pas avec la spécification actuelle et cette plateforme. Aujourd’hui, cela se limite aux devises répertoriées dans l’ISO 4217. Comme la spécification et la plateforme portent sur des transferts numériques, il serait possible d’étudier un cas d’usage pour ce besoin. Sinon, un FSP peut assurer la conversion (comme c’est déjà souvent le cas) entre la crypto et une devise prise en charge. + +## 10. Comment accéder au code source de Mojaloop ? + +Voici quelques ressources pour commencer : +1. Documentation : https://github.com/mojaloop/documentation. +2. Consultez les dépôts dont la description contient « CORE COMPONENT (Mojaloop) » : ce sont les composants cœur. Les dépôts « CORE RELATED (Mojaloop) » sont ceux nécessaires pour supporter l’implémentation/déploiement actuel du Switch Mojaloop. +3. Remarque générale : pour le code le plus récent, utilisez pour l’instant la branche `develop`. +4. Architecture actuelle : https://github.com/mojaloop/docs/tree/master/Diagrams/ArchitectureDiagrams. Note : ces éléments sont en cours de migration vers https://github.com/mojaloop/documents. +5. Informations sur l’architecture et le déploiement : https://github.com/mojaloop/documentation/tree/master/deployment-guide. + diff --git a/docs/fr/getting-started/installation/installing-mojaloop.md b/docs/fr/getting-started/installation/installing-mojaloop.md new file mode 100644 index 000000000..31bf460c5 --- /dev/null +++ b/docs/fr/getting-started/installation/installing-mojaloop.md @@ -0,0 +1,16 @@ +# Installer Mojaloop + +Mojaloop est packagé et publié sous forme d’un ensemble de [charts Helm](https://github.com/mojaloop/helm), avec différentes options de déploiement et de personnalisation. +Que vous découvriez Mojaloop et que vous ne soyez pas familier avec [Helm](https://helm.sh) / [Kubernetes](https://kubernetes.io), ou que vous souhaitiez simplement mettre le logiciel en service rapidement, plusieurs options sont disponibles pour déployer Mojaloop. + +1. **Déploiement manuel** - Le [guide de déploiement](../../technical/deployment-guide/) Mojaloop s’adresse aux personnes familières avec [Kubernetes](https://kubernetes.io) et [Helm](https://helm.sh). C’est un excellent point de départ si vous envisagez de déployer Mojaloop sur un environnement Kubernetes existant, ou si vous souhaitez en mettre un en place vous-même. + +2. **IaC (Infrastructure as Code)** - Un déploiement Mojaloop complet visant à fournir une base de départ pour la production. L’IaC est fortement automatisée ([Terraform](https://www.terraform.io), [Ansible](https://www.ansible.com)) et extensible. Pour en savoir plus, consultez le [billet de blog sur le déploiement IaC](https://infitx.com/deploying-mojaloop-using-iac). + + L’IaC prend actuellement en charge les configurations modulaires suivantes : + - [Plateforme IaC AWS (Amazon Web Services)](https://github.com/mojaloop/iac-aws-platform) + - On-Prem (à venir) + +3. **Mini-Loop** - Des utilitaires d’installation Mojaloop offrant une manière simple et efficace de démarrer. Les scripts [mini-Loop](https://github.com/tdaly61/mini-loop) permettent de déployer Mojaloop dans le cloud ou sur votre ordinateur/serveur avec seulement quelques commandes. Vous pouvez ensuite exécuter facilement le [Mojaloop Testing Toolkit](https://github.com/mojaloop/ml-testing-toolkit#mojaloop-testing-toolkit) pour interagir avec votre déploiement et le tester. + +4. **Azure Marketplace** - Un déploiement natif Azure AKS, visant à fournir une base pour un POC ou un pilote. Il s’agit d’un déploiement simple, basé sur des templates Microsoft ARM fortement automatisés, et déployé sur Kubernetes managé pour faciliter l’exploitation. Exécutez le [Mojaloop Testing Toolkit](https://github.com/mojaloop/ml-testing-toolkit#mojaloop-testing-toolkit) pour interagir avec votre déploiement et le tester. Pour plus d’informations, voir la [présentation Mojaloop Azure (PI 21)](https://github.com/mojaloop/documentation-artifacts/blob/master/presentations/pi_21_march_2023/presentations/Mojaloop%20Azure%20Deployment.pdf). diff --git a/docs/fr/getting-started/license.md b/docs/fr/getting-started/license.md new file mode 100644 index 000000000..fb844f464 --- /dev/null +++ b/docs/fr/getting-started/license.md @@ -0,0 +1,10 @@ +# LICENCE + +Copyright © 2020-2024 Mojaloop Foundation + +Les fichiers Mojaloop sont mis à disposition par la Fondation Mojaloop sous la licence Apache, version 2.0 +(la « Licence ») et vous ne pouvez pas utiliser ces fichiers autrement qu’en conformité avec la [Licence](http://www.apache.org/licenses/LICENSE-2.0). + +Vous pouvez obtenir une copie de la Licence à l’adresse [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) + +Sauf si la loi applicable l’exige ou si cela a été convenu par écrit, les fichiers Mojaloop sont distribués « EN L’ÉTAT », SANS GARANTIE NI CONDITION D’AUCUNE SORTE, expresse ou implicite. Voir la Licence pour connaître la langue spécifique régissant les autorisations et limitations prévues par la [Licence](http://www.apache.org/licenses/LICENSE-2.0). diff --git a/docs/fr/getting-started/technical-faqs.md b/docs/fr/getting-started/technical-faqs.md new file mode 100644 index 000000000..194cb3750 --- /dev/null +++ b/docs/fr/getting-started/technical-faqs.md @@ -0,0 +1,161 @@ +# FAQ techniques + +Ce document contient certaines des questions techniques fréquemment posées par la communauté. + +## 1. Qu’est-ce qui est pris en charge ? + +Actuellement, les composants Central Ledger sont pris en charge par l’équipe. Les composants DFSP sont obsolètes ; par conséquent, l’environnement de bout en bout et l’installation complète sont difficiles à mettre en place. + +## 2. Peut-on se connecter directement à Pathfinder dans un environnement de développement ? + +Pour les environnements local et de test, nous recommandons plutôt d’utiliser le service « mock-pathfinder ». Pathfinder est un service « facturé à l’usage ». + +Accédez au dépôt https://github.com/mojaloop/mock-pathfinder pour télécharger et installer mock-pathfinder. Exécutez la commande `npm install` dans le répertoire mock-pathfinder pour installer les dépendances, puis mettez à jour `Database_URI` dans `mock-pathfinder/src/lib/config.js`. + +## 3. Dois-je enregistrer le DFSP via l’URL http://central-directory/commands/register ou mettre à jour la configuration dans default.json ? + +Vous devez enregistrer via l’API fournie, en utilisant Postman ou curl. Le client utilise du code Level One. Il faut implémenter la version Mojaloop actuelle avec les scripts Postman à jour. + +## 4. Le pod pi3-kafka-0 est toujours en CrashLoopBackOff ? + +- More background related to the question: + + Quand j’ai essayé d’obtenir les logs du conteneur `centralledger-handler-admin-transfer`, j’obtiens l’erreur suivante : + Error from server (BadRequest): container "centralledger-handler-admin-transfer" in pod "pi3-centralledger-handler-admin-transfer-6787b6dc8d-x68q9" is waiting to start: PodInitializing + Et le statut du pod pi3-kafka-0 est toujours en CrashLoopBackOff. + J’utilise un VPS sous Ubuntu 16.04 avec 12 Go de RAM, 2 vCores, 2,4 GHz et 50 Go de disque chez OVH pour le déploiement. + +Le fait d’augmenter la RAM à 24 Go et le CPU à 4 a résolu le problème. Il semble s’agir d’un timeout sur Zookeeper dû à un manque de ressources disponibles, entraînant l’arrêt des services. + +## 5. Pourquoi ai-je une erreur quand j’essaie de créer un nouveau DFSP via l’Admin ? + +Assurez-vous d’utiliser les scripts Postman les plus récents disponibles sur le dépôt https://github.com/mojaloop/mock-pathfinder. + + +## 6. Puis-je répartir les composants Mojaloop sur plusieurs machines physiques et VM ? + +Vous devriez pouvoir déployer sur différentes VM ou machines physiques. La répartition dépend fortement de vos exigences et sera spécifique à votre implémentation. Nous utilisons Kubernetes pour l’orchestration de conteneurs. Cela permet de planifier les déploiements sur des nœuds spécifiques si nécessaire et de demander des ressources spécifiques. Les charts Helm du dépôt Helm peuvent servir de guide pour allouer et regrouper au mieux les composants dans votre déploiement. Bien sûr, vous devrez adapter les configurations à votre implémentation. + +## 7. Peut-on s’attendre à ce que tous les endpoints définis dans le document d’API soient implémentés dans Mojaloop ? + +L’API de la spécification Mojaloop (transfers) et l’implémentation open source du Switch Mojaloop sont deux flux indépendants, même si l’implémentation s’appuie évidemment sur la spécification. Les implémentations se font en fonction des cas d’usage priorisés sur une période donnée et des endpoints nécessaires pour les supporter. Si certains endpoints ne sont pas prioritaires, ils peuvent ne pas être disponibles. L’objectif est toutefois de supporter, à terme, tous les endpoints spécifiés, même si cela peut prendre du temps. Merci pour la liste. Certains éléments existent aussi dans le dépôt « postman » de l’organisation Mojaloop sur GitHub. + +## 8. Mojaloop stocke-t-il les informations de devis/statut du FSP initiateur du paiement ? + +À ce jour, l’implémentation open source du Switch Mojaloop *ne stocke pas* les informations liées aux quotes. Il revient au payeur et au bénéficiaire impliqués dans le processus de stocker les informations pertinentes. + +## 9. Mojaloop gère-t-il la validation du workflow ? + +Pas pour le moment, mais cela pourrait arriver à l’avenir. Pour corréler les requêtes liées à un transfert donné, vous pouvez consulter la ressource/endpoint « transaction » dans la spécification. Par ailleurs, des travaux sont en cours côté spécification pour rendre cette corrélation plus simple, par exemple pour relier les requêtes de quote et de transfer au sein d’une transaction unique. + + +## 10. Comment enregistrer une nouvelle « party » dans Mojaloop ? + +Il n’existe pas de `POST` sur la ressource `/parties`, comme indiqué dans la section 6.1.1 de l’API Definition. Référez-vous plutôt à la section 6.2.2.3 : `POST /participants//` dans l’API Definition. + +” _The HTTP request `POST /participants//` (or `POST /participants///`) is used to create information on the server regarding the provided identity, defined by ``, ``, and optionally `` (for example, POST_ + _/participants/MSISDN/123456789 or POST /participants/BUSINESS/shoecompany/employee1). See Section 5.1.6.11 for more information regarding addressing of a Party._ ”. + +## 11. Le participant représente-t-il un compte d’un client dans une banque ? + +Pour plus d'informations, veuillez consulter ce document (Section 3.2) : https://github.com/mojaloop/mojaloop-specification/blob/develop/Generic%20Transaction%20Patterns.pdf. + +” _Dans l’API, un Participant est équivalent à un PSP (Prestataire de Services de Paiement/FSP) qui participe à un schéma d’interopérabilité. L’objectif principal de la ressource logique Participants de l’API est de permettre aux PSP de savoir dans quel autre PSP se trouve la contrepartie d’une transaction financière interopérable. Il existe également des services définis pour que les PSP fournissent des informations à un système commun._ ” + +En résumé, un participant est tout PSP impliqué dans le schéma (généralement pas un client). Pour la recherche de compte, un service d’annuaire tel que *Pathfinder* peut être utilisé, qui permet de rechercher un utilisateur et d’établir la correspondance. Si un tel service d’annuaire n’est pas fourni, la spécification propose une alternative où le Switch héberge un service de lookup de comptes (ALS) auquel les participants doivent enregistrer les parties. J’ai déjà évoqué ce point. Mais il faut noter que le Switch ne conserve pas les détails, uniquement la correspondance entre un identifiant et un FSP, et les requêtes de résolution de la partie sont redirigées vers ce FSP. + +https://github.com/mojaloop/mojaloop-specification LIÉ AU CŒUR (Mojaloop) : + +Ce dépôt contient le jeu de documents de spécification de l’Open API pour l’interopérabilité des PSP - mojaloop/mojaloop-specification. + +## 12. Comment enregistrer un bénéficiaire _de confiance_ auprès d’un payeur pour éviter l’OTP ? + +Pour éviter la saisie de l’OTP, la demande initiale sur /transactionRequests initiée par le bénéficiaire peut être approuvée de façon programmatique (ou même manuelle) sans passer par le endpoint /authorizations (utilisé habituellement pour la validation OTP). C’est en effet au PSP de gérer cela, le Switch ne le fait pas. Ceci est évoqué brièvement en section 6.4 de la spécification. + +## 13. J’obtiens une erreur 404 lorsque j’essaie d’accéder ou de charger le fichier kubernetes-dashboard.yaml ? + +Selon le README.md officiel du dépôt github de kubernetes, le lien le plus récent à utiliser est : "https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml". Veillez toujours à vérifier les liens tiers avant toute utilisation. Les applications open source évoluent constamment. + +## 14. Lors de l’installation de nginx-ingress pour la répartition de charge & l’accès externe – Erreur : no available release name found ? + +Merci de consulter la page suivante qui aborde une problématique similaire. Pour résumer, il s’agit très probablement d’un problème RBAC. Consultez la documentation pour configurer Tiller avec RBAC : https://docs.helm.sh/using_helm/#role-based-access-control détaille la procédure. Voir également l’issue enregistrée : helm/helm#3839. + +## 15. Message reçu "ImportError: librdkafka.so.1: cannot open shared object file: No such file or directory" lors de l’exécution de la commande `npm start`. + +Solution trouvée ici : https://github.com/confluentinc/confluent-kafka-python/issues/65#issuecomment-269964346 +GitHub +ImportError: librdkafka.so.1: cannot open shared object file: No such file or directory · Issue #65 · confluentinc/confluent-kafka-python +Sous Ubuntu 14, pip==7.1.2, setuptools==18.3.2, virtualenv==13.1.2. Je souhaite d’abord compiler la dernière version stable (il semble que ce soit 0.9.2) de librdkafka dans /opt/librdkafka : +curl https://codeload.github.com/ede... + +Voici les étapes pour reconstruire librdkafka : + +git clone https://github.com/edenhill/librdkafka && cd librdkafka && git checkout `` + +cd librdkafka && ./configure && make && make install && ldconfig + +Après cela, je peux importer les dépendances sans avoir à spécifier LD_LIBRARY_PATH. +GitHub +edenhill/librdkafka +La bibliothèque Apache Kafka C/C++. Contribuez à edenhill/librdkafka sur GitHub. + +## 16. Peut-on utiliser mojaloop comme logiciel open source de portefeuille mobile ou mojaloop gère-t-il uniquement l’interopérabilité ? + +Nous pouvons utiliser mojaloop pour l’interopérabilité afin de supporter les portefeuilles mobiles et autres transferts d’argent. Ce n’est pas un logiciel pour les DFSP (il existe d’autres projets open source pour cela, comme Finserv, etc). Mojaloop sert principalement de Hub/Switch et fournit une API à implémenter côté DFSP, mais ne sert pas à gérer directement des portefeuilles mobiles. + +## 17. Quelles sont les sociétés qui aident à déployer et à supporter mojaloop ? + +Mojaloop est un logiciel et une spécification open source. + +## 18. Que pouvez-vous dire au sujet de mojaloop et de la sécurité ? + +La spécification est assez standard et dispose de bonnes pratiques de sécurité. Mais leur mise en œuvre incombe aux intégrateurs et déployeurs. En complément, des mesures de sécurité opérationnelle et de déploiement doivent être appliquées. Par ailleurs, les prochains mois se concentreront sur la sécurité au sein de la communauté open source. + +## 19. Quels sont les avantages d’utiliser mojaloop comme plateforme d’interopérabilité ? + +Bénéfices : À ce jour, par exemple, un utilisateur Airtel mobile money ne peut transférer qu’à un autre utilisateur Airtel. Avec ce système, il/elle peut transférer à tout autre prestataire financier comme un autre opérateur mobile money, une banque ou un commerçant connecté au Hub, quelle que soit l’implémentation. Il suffit qu’ils soient connectés au même Switch. De plus, la plateforme est conçue pour être utilisable sur les téléphones basiques (feature phones), donc accessible à tous. + +## 20. Quels sont les principaux défis auxquels font face les entreprises utilisant mojaloop ? + +Actuellement, les difficultés majeures sont liées aux attentes. Les attentes des adopteurs de mojaloop et la réalité de ce qu’est mojaloop. Beaucoup ont une compréhension différente de mojaloop et de ses capacités. Avec une bonne compréhension, de nombreux défis actuels disparaissent. +Oui, la journalisation forensic (forensic logging) est aussi une mesure de sécurité pour l’audit, elle permet d’assurer qu’il existe un registre traçable des actions, que toute action notable soit consignée et conservée en toute sécurité après chiffrement à plusieurs niveaux. + +## 21. L’audit/journalisation forensic dans mojaloop est-il/elle lié(e) à la sécurisation de la plateforme d’interopérabilité ? + +Cela garantit aussi que tous les services exécutent toujours le code attendu et que toute anomalie est empêchée de démarrer. Pour le reporting et les auditeurs, des rapports peuvent intégrer un journal forensic retraçable. + +## 22. Comment les fournisseurs de services financiers se connectent-ils à mojaloop ? + +Il existe un schéma architectural qui présente clairement l’intégration des différentes entités : https://github.com/mojaloop/docs/blob/master/Diagrams/ArchitectureDiagrams/Arch-Flows.svg. + +## 23. Existe-t-il un convertisseur/connecteur open source ISO8583-OpenAPI ? + +Je ne crois pas qu’il existe à ce jour une intégration générique ISO8583 `<-> Mojaloop`. Nous travaillons actuellement sur certaines intégrations de « canaux de paiement traditionnels » à Mojaloop (POS et GAB) que nous espérons présenter lors de la prochaine réunion. Celles-ci pourraient former la base d’une intégration ISO8583 à ajouter à la stack open source, mais gardez à l’esprit que ces intégrations sont très spécifiques à chaque cas d’usage. + +## 24. Comment connaître les endpoints à utiliser dans postman pour tester le déploiement ? + +Dans le dashboard Kubernetes, sélectionnez le NAMESPACE approprié. Allez dans Ingresses. Selon la manière dont vous avez déployé les charts Helm, recherchez 'moja-centralledger-service'. Cliquez sur "éditer", et cherchez la balise ``. Celle-ci contient l’endpoint du service. + +En ligne de commande, repérez la colonne 'Host' dans la commande : `kubectl describe ingress moja-centralledger-service` + +## 25. Pourquoi les rétrocessions ne sont-elles pas autorisées sur Mojaloop ? + +*L’irrévocabilité* est un principe fondamental du projet Level One (édité) et il est essentiel qu’aucune rétrocession ne soit permise. Extrait pertinent issu de la définition d’API ci-dessous : + +_*6.7.1.2 Irrévocabilité des transactions*_ +_L’API est conçue pour ne supporter que des transactions financières irrévocables ; cela signifie qu’une transaction ne peut ni être modifiée, annulée ou rétrocédée après sa création. L’objectif est de simplifier et de réduire les coûts pour les PSP utilisant l’API. Une grande part du coût opérationnel d’un système financier classique est liée aux rétrocessions._ +_Aussitôt qu’un PSP payeur envoie une transaction financière à un PSP bénéficiaire (via POST /transfers avec la transaction financière de bout en bout), la transaction devient irrévocable du point de vue du PSP payeur. Elle peut toujours être rejetée côté bénéficiaire, mais le payeur ne peut plus la rejeter ou la modifier. Seule exception : si l’expiration du transfert est atteinte avant la réponse du bénéficiaire (voir Sections 6.7.1.3 et 6.7.1.5 pour plus de détails). Dès qu’une transaction est acceptée par le bénéficiaire, elle devient irrévocable pour toutes les parties._ + +Cependant, *les remboursements* sont un cas d’usage supporté par l’API. + +## 26. Erreur "MountVolume.SetUp failed" lors de l’installation de microk8s ? + +Ce message peut apparaître en cas de problème d’espace disque, même si plus de 100Go d’espace EBS ont été alloués. +Le problème s’est résolu de lui-même après 45 minutes. La mise en place initiale du projet mojaloop peut mettre un certain temps à se stabiliser. + +## 27. Pourquoi cette erreur lors de la création d’un participant : "Hub reconciliation account for the specified currency does not exist" ? + +Vous devez d’abord créer les comptes Hub correspondants (HUB_MULTILATERAL_SETTLEMENT et HUB_RECONCILIATION) pour la devise concernée avant de configurer les participants. +Dans cette collection Postman vous trouverez les requêtes pour effectuer l’opération dans le dossier "Hub Account" : https://github.com/mojaloop/postman/blob/master/OSS-New-Deployment-FSP-Setup.postman_collection.json + +Trouvez également les environnements correspondants dans le dépôt Postman : https://github.com/mojaloop/postman diff --git a/docs/fr/quickstarts/README.md b/docs/fr/quickstarts/README.md new file mode 100644 index 000000000..5dbb11c50 --- /dev/null +++ b/docs/fr/quickstarts/README.md @@ -0,0 +1,10 @@ +# Votre première action + +Pour vous aider à bien démarrer avec Mojaloop, choisissez l’option ci-dessous qui correspond le mieux à vos besoins : + +1. [Voir les guides de démarrage rapide](/1-overview/) +1. [Regarder une démo](/99-demos/) +1. [Lire la documentation](/1-overview/) +1. [Tester les API Mojaloop](/1-overview/#apis) +1. [Suivre un programme de formation](/3-guides/1_dfsp_setup/) +1. [Contribuer à Mojaloop](https://docs.mojaloop.io/documentation/) \ No newline at end of file diff --git a/docs/quickstarts/one.md b/docs/quickstarts/one.md deleted file mode 100644 index ee06bcdbe..000000000 --- a/docs/quickstarts/one.md +++ /dev/null @@ -1,10 +0,0 @@ -# Your First Action - -To help get you started with Mojaloop, select which of the options below best suits your needs: - -1. [View the quickstarts](/1-overview/) -1. [Watch a demo](/99-demos/) -1. [Read the documentation](/1-overview/) -1. [Test out Mojaloop APIs](/1-overview/#apis) -1. [Take a training program](/3-guides/1_dfsp_setup/) -1. [Contribute to Mojaloop](https://docs.mojaloop.io/documentation/) \ No newline at end of file diff --git a/docs/quickstarts/two.md b/docs/quickstarts/two.md deleted file mode 100644 index ee06bcdbe..000000000 --- a/docs/quickstarts/two.md +++ /dev/null @@ -1,10 +0,0 @@ -# Your First Action - -To help get you started with Mojaloop, select which of the options below best suits your needs: - -1. [View the quickstarts](/1-overview/) -1. [Watch a demo](/99-demos/) -1. [Read the documentation](/1-overview/) -1. [Test out Mojaloop APIs](/1-overview/#apis) -1. [Take a training program](/3-guides/1_dfsp_setup/) -1. [Contribute to Mojaloop](https://docs.mojaloop.io/documentation/) \ No newline at end of file diff --git a/scripts/_build_plantuml.sh b/scripts/_build_plantuml.sh index 6bc5d8684..7b888209d 100755 --- a/scripts/_build_plantuml.sh +++ b/scripts/_build_plantuml.sh @@ -24,6 +24,14 @@ PUML_MATCH=${PUML_MATCH:=*.p*uml} # if MODE=ALL, then search the whole repo MODE=${MODE:=ALL} +# Pre-commit hook: do not require Docker when no PlantUML sources were staged. +if [[ "${MODE}" == "STAGED_GIT" ]]; then + if ! git diff --staged --name-only | grep -Eq '\.(puml|plantuml)$'; then + echo "No staged PlantUML sources; skipping render." + exit 0 + fi +fi + trap ctrl_c INT function ctrl_c() { echo "exit early - stopping docker"