PayBook : Alternative Trading System (ATS) with Paypal Express Checkout Guide Dev FR ( version chrysoberyl )


PayBook : Alternative Trading System (ATS) with Paypal Express Checkout Guide Dev FR

( version chrysoberyl
)
Slides :
Guide utilisateur :
Guide du développeur :
La version française est la source primaire pour toutes les traductions. Pour les non francophone ou les non anglophones, il existe des outils de traductions comme Google translate (http://translate.google.fr/translate_t#) pour lire des documents dans votre langue.
Problématique & Vision :Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies, réduire la mortalité et aller vers des principes.

Le changement de paradigme

Le paradigme existant permet de résoudre certain problèmes, c’est pourquoi il a été accepté par le
passé. Cependant, en ce moment, il ne répond pas à la demande de tout le monde. Donc, il y a eu
une remise en question et une demande de changement.

J’ai étudié le marché des solutions existantes. N’étant pas satisfait (car si j’étais satisfait la problématique aurait été déjà résolue), j’ai donc décidé de créer ce logiciel. Car, à mon avis, il faut retirer progressivement les barrières qui entravent les échanges. (réf Traité instituant la Communauté européenne, 1957)

Le logiciel PayBook est conçu pour construire un marché financier alternatif aux marchés financiers existants. Le logiciel est spécialisé dans la levée de fonds en ligne. Il facilite le libre échange dans l’économie internationale. Ce logiciel a été crée pour répondre au besoin de financement des agents économiques au niveau européen et mondial pour pouvoir financer, en autre chose, la recherche, l’éducation et l’innovation.

Principes & Qualités :

– Liberté, Citoyenneté, Responsabilité, Égalité, Solidarité,
– Ouvert, Réglementé, Prévisible, Non discriminatoire

Objectif :

Faire un projet pilote (fonctionnel, gratuit dans sa mise en place et dans son utilisation, légal, disponible (7/7j, 24/24h) et reposant sur une situation gagnant-gagnant) d’une plateforme de trading internationale à partir d’une API de paiement (Paypal Express Checkout) et de Give1Get2 pour permettre d’augmenter le solde des participants.

Réalisé :

Le logiciel a été testé dans la « PayPal Sandbox » avec des comptes premier pour les 3 cas possibles d’achat (inférieur, égal et supérieur) : et dans chacun des cas, cela à fonctionné parfaitement.

Exemple simple : lorsqu’ 1 Euro est envoyé, 2 Euros sont reçus (facteur 2 : 1*2=2). Le montant de départ est choisi par l’utilisateur et il peut utiliser le système autant de fois qu’il veut. exemple : 1234 Euros envoyé -> 2468 Euros reçus.

Cible :

Cible Utilisateur : Ce logiciel est été mis en oeuvre en ciblant principalement les utilisateurs du PSP utilisé parlant français ou anglais et ayant un minimum de compétences en finance (PayPal enregistre 141 millions de clients, selon PayPal). L’objectif n’étant pas de ce limiter à cette catégorie mais de pouvoir toucher le plus grand nombre d’ utilisateurs.

Cible Développeur : Les personnes ciblé pour le téléchargement et l’installation du logiciel sont les programmeurs (développeur web de préférence) et/ou entreprises voulant mettre en place une plateforme de trading.

La plateforme ne prend pas de pourcentage sur les fonds qu’elle lève. En ce sens, une organisation qui l’utiliserait pourrait être du type organisation à but non lucratif.

Les stratégies pour faire du business

Il existe 3 stratégies possibles pour 2 personnes : Perdre, pas de deal ou gagner. (soit 9
combinaisons en tout)

Cas pratique : Je ne veux pas perdre d’argent (destruction d’argent) Je ne veux pas perdre d’argent pour que quelqu’un en gagne. (un vol d’argent) Je veux changer. Je ne veux pas gagner d’argent pour que quelqu’un en perde. (un vol d’argent) Je ne veux pas gagner d’argent tout seul. (faux billet) Je veux gagner de l’argent et que quelqu’un d’autre en gagne aussi.

La seule solution qui me semble réalisable est donc : la stratégie gagnant-gagnant.

Business Model d’une plateforme de Trading en ligne avec une stratégie Gagnant-Gagnant :

5 parties : Fournisseur, Consommateur, Concurrent, Partenaire et Soi-même.

Fournisseur :
– Les prestataires de services de paiement (PSP) ont un business model qui fonctionne par les commissions (partie fixe et variable) sur les transactions de leur clients (environ 2%). Pour que leur profit augmente, ils veulent augmenter leur volume de transactions et à ce que les clients envoient de plus grosse somme.
– Leur principaux partenaires sont les marchands et les plateforme de trading qui leur permet d’accroitre leur volume de transactions et les montants via les utilisateurs qui les utilisent. Ceci se fait par l’augmentation de leur nombre de clients qui est proportionnel à l’accès de leur système d’informations : l’API (Application Programming Interface) qui permet à quiconque d’automatiser les paiements.
– Leur fournisseurs sont une ou plusieurs banques. Les messages financiers sont géré électroniquement par la banque. Le PSP reçoit des confirmations via une API.

Consommateur :
– Les utilisateurs de l’internet veulent répondre à leur besoins. Les besoins de l’humanité sont récurrent (doivent être satisfait tout les jours). Ce besoin est soit un produit ou service, soit de l’argent. Les produits se trouvent chez les marchants en ligne (e-commerce). L’argent facilement gagné se trouve sur les plateforme de trading.
– Pour envoyer de l’argent, l’utilisateur à besoin d’un PSP. Et son PSP lui demande d’avoir un compte bancaire pour remplir son portefeuille électronique. Comparativement au PSP, l’internaute gagne plus par transaction si le profit est à sa valeur par défaut (maximum).

Concurrent, Partenaire et Soi-même :
– Le business model de la plateforme de trading est soit le même que celui du PSP (commissions par transactions), soit des frais d’entrée, soit des frais mensuels, soit des primes de parrainages (lien avec id) ou soit gratuit. (L’argent est gagné de la même manière que les utilisateurs.)
– Les fournisseurs des plateformes de trading sont les PSP avec leur API. (le logo est mis en évidence)
– Les utilisateurs consomment un service qui leur permet de déplacer de l’argent. La stratégie de déplacement de l’argent est définie soit par la plateforme de trading soit par les utilisateurs euxmême.
(dépend de la politique interne de la plateforme de trading)
– La plateforme de trading est une couche logiciel au dessus du PSP. La conception et l’évolution de ce produit informatique peut être en partie externalisé auprès d’une ou plusieurs personnes qui s’occupe d’un logiciel libre de plateforme de trading ce qui permettrait de réduire les coûts et le temps de développement.

Interopérabilité : Comment savoir si l’API du porte monnaie électronique d’une institution
financière est compatible avec le FSX de FreePay ?

Sur l’institution financière :

1. Il faut pouvoir créer un compte.

2. Approvisionnement : L’utilisateur peut approvisionner son compte avec différents moyens de paiement (chèque, carte de crédit, transfert bancaire etc) et en retirer.

3. Il faut avoir un minimum de fonds sur son compte (solde à minimum 1 euros). (il faut aussi prendre en compte les frais de l’institution financière)

Facultatif (mais vivement recommandé) : Agrément financier : L’institution financière doit être
agréé par au moins une autorité de régulation.

Séparation des tests et du réel : Les transferts entre client normaux et client de test sont interdits.

Sur le FSX :

1. Il faut pouvoir passer un ordre sur le FSX et arriver sur la plateforme de paiement. (POST ou
GET)

2. B2B, B2C,C2B & C2C : Il faut que les paiements fonctionne dans les 2 sens (marchand-marchand
tout en étant accessible client-client, marchand-client et client-marchand), brièvement permettre le P2P. Le droit de rétractation dépend du status des personnes effectuant les transactions ensemble et, cela est défini sur le site du PSP.

2 bis. (optionnel : mais c’est mieux de le faire) Il faut pouvoir activer l’automatisation des processus. (en xml)

3. XML : Il faut que le site source (marchand / FSX) puisse obtenir une trace de la transaction de la part de la plateforme de paiement. (xml envoyé et enregistrable dans la base de donnée dans des tables sql)

Pourquoi une relation avec un PSP :

La division des rôles : Le logiciel peut être vu comme un plugin qui interagit avec le logiciel principal (l’institution financière) pour lui apporter une nouvelle fonctionnalité. Le logiciel est un système ouvert qui envoie des informations à l’intérieur (historique) et à l’extérieur (ordre).

– L’institution financière transforme les capitaux entrant en monnaie électronique, fais les paiements et fais les conversion de chèques.
– Le logiciel permet de passer des ordres de paiement, d’échanger des ordres de paiement et permet de faire des demandes de paiement.

Dépendance : Le logiciel va vers la simplicité puisque, par rapport à la version précédente (FreePay), il soustraite les processus nécessaire à la gestion de l’argent. Ce logiciel permet d’économiser le coût du capital initial (1 million d’ Euros) nécessaire à la création d’une institution financière émettrice de monnaie électronique (en : E-money issuer) au sein de l’ Union Européenne. (ref : Article 4 paragraphe 1 de la Directive 2000 46 CE).

Indépendance : Chaque organisation qui met en place le logiciel Give1Get2 est autonome des autres organisations. Elle n’est dépendante que de l’institution financière qui permet de faire les paiements (Relation 1 à plusieurs).

Le Choix du PSP :

On ne devrait pas effectuer un transfert d’argent (une transaction) avant d’avoir vérifié que l’on peut en sauvegarder la trace. Car sinon, la personne sera déçue d’avoir payé sans obtenir sa contrepartie.

Au vu de l’évolution rapide des systèmes de paiements, il est préférable que l’API gère les versions afin que les anciennes versions fonctionnent toujours.

La problématique de sécurité a aussi été un critère décisif.

L’API PayPal Express Checkout a été choisi car il repecte des contraintes.
http://www.paypal.fr/presentation

Paypal SandBox API : https://developer.paypal.com/

Il faut surclasser le compte pour acheter et vendre avec le système : Surclasser son compte > choisir Compte Premier (ou compte business).

Pour obtenir les informations d’identifications à l’API :
– Cliquer sur Préférences > Accès à l’API > Demander des informations d’authentification API > Demandez une signature API
(en anglais : My Acount > Profile > API Access > Request API Credentials > API Signature > Agree and Submit)
– Copier-Coller l’ Username, le Password et la Signature pour vous authentifier sur la plateforme.

== PayPal Sandbox ==

identifiant email paypal sandbox : me@mypreferedhost.com
mot de passe paypal sandbox : a

== alice (premier) ==

email PayBook : alice@mypreferedhost.com
mot de passe PayBook : ab

email Paypal : alice_1234524871_per@mypreferedhost.com
mot de passe Paypal : abc

Identifiant API :    alice_1234524871_per_api1.mypreferedhost.com
Mot de passe API :    PSHQHGQGRDMH2Y7F
Signature : Ajd8FF2KxieV-6BxPDy4odWHclXnAjl3TA568AvD4KSTbwfGqKT84ljS

== bob (premier) ==

email PayBook : bob@mypreferedhost.com
mot de passe PayBook : a

email Paypal : bob_1228753395_per@mypreferedhost.com
mot de passe Paypal : ab

Identifiant API :      bob_1228753395_per_api1.mypreferedhost.com
Mot de passe API :     5396CWRJP62HES74
Signature :     AFcWxV21C7fd0v3bYYYRCpSSRl31AXl353cqalhXTzu4SnL2g5ZYdjTa 

Le diagramme des traitements des processus marchands du côté de l’institution financière a été
copié dans une image jointe au logiciel. « Express Checkout flow.png » (« PayPal Sandbox User Guide » (en anglais) p41 :  « Testing PayPal NVP APIs ») version 2.3

Pour collecter de l’argent sur son compte paypal :
Se loger > page principale > Mon activité récente > état de la demande / action > Collecter / capturer > collecte par lots > tout afficher rechercher > tout cocher > vérifier les éléments sélectionnés > Collecter > Collecte par lot envoyée > Mon compte

L’institution financière peut laisser des contraintes sur l’intégration visuelle de ses logos relatif a la page d’accueil, au différents mode de paiements et aux options supplémentaires.
https://www.paypal.com/fr/cgi-bin/webscr?cmd=xpt/Marketing/general/AcceptanceMarkLogos-outside

Qu’est-ce que « PayBook » ?

Le système de trading repose sur une stratégie gagnant-gagnant. La plateforme de trading est un lieu de confrontation de l’offre de titres financiers et de la demande d’argent en application de la pensée du laissez-faire économique. Il n’y a pas de marchandises échangé sur le système. C’est un jeu à somme nulle du point de vue de la plateforme de paiement mais pas du système de trading (1 euro titrisé symbolique émit pour l’amorçage, échange +1 +1 pour chaque partie à chaque transaction). C’est un cercle vertueux. Il n’y a pas de droit d’entrée. C’est un système de personne à personne (P2P) complémentaire qui permet aux utilisateurs de passer des ordres sur une plateforme de paiement. Cela a été conçu de tel manière qu’il n’y a pas de risque de variation inverse. Puisqu’il n’y a pas d’ordre de vente, il ne peut pas y avoir de crack boursier. Tout les utilisateurs du système peuvent s’enrichir, mais pas au même moment. L’utilisateur peut donc devenir, selon ce qu’il en fait, un trader. (fr : Opérateur de marché)

Le profit est aussi paramétrable (de 0 à 100 %, exemple : 25 euros réel deviennent à 100% -> 50 euros titrisés). Cela permet à l’utilisateur de spéculer ou de ne pas le faire. Ce qui permet à l’utilisateur de transformer ses capitaux en plus de capitaux représenté par les titres. (Et ensuite transformer ses titres en capitaux par l’acte de vente, exemple : 50 euros titrisés -> 50 euros réel). Finalement : 25 euros réel -> 50 euros réel. Ce qu’il fallait démontrer.

Explication Économique : Le logiciel n’a pas pour but de créer de l’inflation.

D’après ce que je sais, il existe deux types d’inflation :

– L’inflation du niveau des prix : Une hausse des prix des biens et des services durant une période de temps donné. (source : Wikipédia) Le revenu augmente moins vite que la hausse des prix des produits. → diminution du pouvoir d’achat. Ce qui est problématique. Or, ce que propose Give1Get2, c’est d’augmenter le revenu des acteurs du système, d’où une augmentation du pouvoir d’achat. Il n’y a pas de services en vente sur la plateforme et l’utilisation y est gratuite.

Les « produits » financiers en vente sont des demandes de paiements. Le prix d’achat est fixé par les acheteurs eux-même. S’ils décident d’acheter plus cher, c’est pour gagner plus.

– L’inflation de la masse monétaire : Lorsque la masse monétaire mondiale subit une création monétaire. L’argent en circulation augmente via les taux d’intérêts. Or, le logiciel Give1Get2 n’a pas vocation d’augmenter la masse monétaire ni de la diminuer. Il n’y a pas de taux d’intérêts non plus dans ce système. Car c’est uniquement du ressort des banques.

Le logiciel permet la circulation de la monnaie entre les acteurs économiques.

Explication financière :

Bob envoie de l’argent à Alice. Bob est le débiteur. Alice est le créditeur. Si les frais variables et les frais fixes sont supérieur à ce qu’à reçu Alice, Bob et Alice sont chargé négativement donc c’est donc une situation perdant-perdant.
Pour obtenir une situation perdant-gagnant, on peut mettre en place un quota d’argent minimum automatique à définir dans les paramètres pour tout achat via l’API.

Le processus marchand fonctionne de la manière suivante : Le vendeur échange un bien contre l’argent de l’acheteur. Le vendeur du bien ne le fait que contre une somme supérieur à ce que cela lui à coûté en premier lieu auprès de ces fournisseurs.

De la même façon, lorsque que une personne A fait une demande de paiement et reçoit l’argent d’une personne B. Cela agit comme un mécanisme de compensation qui permet à B placer à son tour une demande de paiement pour un prix à une valeur égale ou supérieur à ce que cela lui a coûté auprès de son prédécesseur.

Traditionnellement, c’est une relation à 2 personnes uniquement. Ce qui pose problème si l’une des 2 partie ne peut prêter ou rembourser. ( Relation 1 à 1) Avec ce logiciel de marché alternatif, il y a de multiples offreurs et de multiples demandeurs. (Relation de plusieurs à plusieurs) Donc, cela diminue le risque (relation 1 à plusieurs dans les 2 sens) et il y a d’avantage de possibilités de succès.

Comme je viens de le démontrer, nous pouvons transformer une stratégie perdant-gagnant en une
stratégie gagnant-gagnant. C’est ce que nous allons faire maintenant.

Télécharger

Le logiciel se base sur une politique de transparence et de développement durable. La licence
choisie est la GNU GPL. C’est un logiciel libre. De ce fait, il a été mis à disposition gratuitement
sur SourceForge.net pour être téléchargé et installé sur des serveurs en ligne.


Installation du logiciel 1. Acheter un nom de domaine (maplateformedetradingdexemple.com) chez un Registrar.

2. Obtenir un hébergement contenant un espace suffisant (environ : 60 Mo) et une bande passante suffisante (plusieurs Giga) en fonction du nombre d’utilisateur prévu. (et POP3, FTP et MySQL inclus)

3. Dé-compacter les fichiers précédemment téléchargé. (procédure ci-dessus)

4. Modifier le fichier ‘scripts sql tables & champs.sql’ :
– remplacer email dans la table freepay_titre
– remplacer les informations client dans la table freepay_client

5. Créer une base de données « paybook » (sans les doubles quotes) dans votre panneau
d’administration (généralement à l’URL http://maplateformedetradingdexemple.com/phpmyadmin/)
– Créer un utilisateur et lui donner les droits d’accès à la base de données en lecture et écriture. (si
ce n’est pas déjà fait automatiquement).

6. Cliquer sur l’onglet SQL, copier-coller les données du fichier ‘scripts sql tables & champs.sql’ dans le champ de saisie et cliquer sur Exécuter. Aucun message d’erreur ne doit s’afficher.

7. Modifier les valeurs par défaut par celles qui ont été fournies par l’hébergeur dans le fichier ‘params.php’ (sans les simple quotes) hôte, utilisateur, mot de passe,base de données.

8. Sur le serveur web, copier-coller la source modifié (avec les paramètres par défauts) en 7z et zip. Créer aussi un dossier /paybook/ . Importer les fichiers via un FTP (ex fireFTP, une extension de Firefox) avec les paramètres de l’hébergeur (‘params.php’) dans le répertoire précédemment crée.

9. Lancer dans le navigateur http://maplateformedetradingdexemple.com/paybook/. La page d’index doit s’afficher sans message d’erreurs. Les sources (7z et zip) doivent pouvoir être téléchargeable à partir d’un onglet ‘documentation’ ou ‘téléchargement’.

10. Référencer votre site sur les moteurs de recherche (ex : http://www.google.com/addurl/?continue=/addurl)

11. Générer un sitemap XML, et le mettre à la racine (ex : http://www.xml-sitemaps.com/ )

12. Optimiser votre site (ex: avec Google Webmaster Tools https://www.google.com/webmasters/tools )

Pré-requis :

Utilisateur :
– Le seul matériel nécessaire est un pc, un système d’exploitation, une connexion à Internet et un
navigateur web.
– Multi-Plateforme : fonctionne sous Windows ou Linux avec Internet Explorer ou Firefox.
– La formation est gratuite. Elle constitue la documentation.

Développeur :
– Conçu en XHTML, CSS, JavaScript, PHP et SQL (CRUD).
– Nécessite un MySQL, phpMyAdmin, POP3 pour les mails, FTP et un navigateur web.
– A été testé et fonctionne avec Apache (>= 1.3.33), Mysql (>= 4.1.9), PHP (>= 4.3.10) avec l’extension cURL installé et PhpMyAdmin(>= 2.6.1).

L’architecture est en trois tiers (donnée, business logic et présentation). L’architecture se base sur
le projet Give1Get2. (http://sourceforge.net/projects/give1get2/) Pour approfondir, la documentation de Give1Get2 est à votre disposition. (http://give1get2.sourceforge.net/give1get2/nav_telechargement.php?option=documentation)

Le script ne prend en compte que les champs obligatoires par mesure de simplification. Pour ce
qui est des champs facultatifs : se référer à la documentation officielle.

Le code ISIN est de nouveau utilisé dans ce logiciel (ISO 6166). La codification mis en place est le ZZ afin de faire une distinction claire et qu’il n’y ai aucune ambiguïté avec les pays ou territoires ayant des valeurs mobilières, selon la norme ISO 3166-1.

Les status d’une transaction (états) :

2 : validé (Processed)
1 : test
0 : en attente (Pending)
-1 : annulé (Cancelled)
-2 : Échoué (Failed )
-3 : Retour arrière (Chargeback)

Le process qui explique comment passer de « Give1Get2 » vers la prochaine version « PayBook » :

Mashup Give1Get2 sans Moneybookers (pour l’architecture) + FreePay (pour les ajouts) + Paypal Express Checkout (pour l’interconnexion) = PayBook ATS


trouver un serveur de test
supprimer les bdd de test existant pour éviter les cafouillages.
créer base, utilisateur, droits
mettre a jour le logiciel ftp
créer user ftp
supprimer ftp test
créer un sous domaine.
changer le logo interne (pour ne pas modifié les autres)
Installer les scripts. + bdd
Supprimer la page par défaut si nécessaire
changer le nom du répertoire d’installation
configurer avec les paramètres (attention aux préfixes)Interface :
création de compte (email, mdp, API_username, API_password, API_signature)
importer script « client_ajouter.php » et son interface de FreePay
modifier nav haut pour le lien vers « client_ajouter.php »
ajouter à l’interface « API_username, API_password, API_signature »
modifier les traitements relatif à « API_username, API_password, API_signature »
modifier la bdd relatif à « API_username, API_password, API_signature »
ajouter
un disclaimer
informations création de compte api vérifié par paypal (en tentant une commande)
changer url absolue et relative du répertoire courant
tout les messages d’erreurs

récupération des post en cas d’erreur
afficher erreur api paypal bien formaté
fonction API paypal commune à client_ajouter.php et client_modifier.php

 

optimiser la vérification du ACK
login (email, mdp)
ajouter lien « ouvrir un compte »
modifier répertoire par défaut
vérification login et mdp freepay

déconnexion
modifier répertoire par défaut
modification du compte (mdp, api)
importer « client_modifier.php »
créer interface dans fichier séparé
modification traitement
info modification de compte api vérifié par paypal (en tentant une commande)
la personne change ses api crédentials et ça marche toujours (selon paypal, on ne peut les modifier)
optimiser la vérification du ACK
afficher erreur api paypal bien formaté
menu
changer « mb_paiement_en_attente.php » en psp_ordre_afficher.php
changer le lien du menu
JavaScript tronc commun :
validation en JavaScript inscription (EN + FR) (plus long)

validation en JavaScript connexion (EN + FR) (le même en plus court)
message Warning javascript i18N
définir l’encodage en européen pour les fichier UTF-8
suivre le guide d’intégration visuelle
changer le logo du PSP
suivre les guidelines
changer les balises méta (mot clé)
changer logo plateforme trading

 

Traitement :
créer compte paypal sandbox
créer des comptes premiers avec API
être connecté au Paypal sandbox pendant les tests
GetExpressCheckout
modifier table « freepay_achat_en_attente » avec token
modifier insertion avec token (pour le vendeur)
recuperer API_username, API_password, API_signature à partir du token (pour le vendeur)
Donner la signification de  GetExpressCheckout et DoExpressCheckoutPayment.
GetExpressCheckout : obtenir des informations sur l’acheteur
DoExpressCheckoutPayment : obtenir des informations sur le paiement
être capable d’affirmer le succès ou l’échec
enregistrer la réponse ? -> Keep simple and stupid : ne pas enregistrer
traitement (status_report.php)
cas >= :
transfert d’argent ?
changement propriétaire ?
historique ?
nouveau tarif ?
cas < :
transfert d’argent ?
déduction ancien titre et garde ancien proprio
création nouveau titre et nouveau proprio
histo nouveau titre

bdd :
table « Freepay_titre » remplacer « merchand id » par info des API (username, password, signature)
modifier champs de la table
modifier requête
redirection vers Paypal

 

CP : lecture des répertoires pour la documentation (plus rapide que de taper à la main)
déplacer documentation officiel du PSP dans le répertoire « paypal » du projet
renommer les fichiers pour les conventions d’écritures
inclure aussi la doc de source externe citée dans la doc interne avec respect du copyright
document photo sur la fin de la pauvreté (trop lourd (8 Mo), abandonné)

supprimer :
mb_afficher
.php
nav_transaction.php
services/ISIN/ISIN_verif.php
support/plan.php
support/moneybookers.php

vérifier : pas d’erreurs ne doit s’afficher quand on tape le nom de la page dans le navigateur
paiement/titre/titre_acheter_interface2.php
paiement/titre/titre_acheter_interface.php
support/client/client_modifier_interface.php
support/client/client_modifier.php
support/client/client_ajouter_interface.php
support/client/client_ajouter.php
support/client/connexion_interface.php
support/client/connexion.php
pay/status_report.php
titre/titre_consulter.php

tester :
succes >
succes =
succes <

écrire la documentation Give1Get2 (Dev, User, Slides)
– Guide utilisateur : faire les captures d’écran
EN
FR
– Guide Dev
– Slides

– changer le nom du projet pour la conformité
– mettre les fonctions paypal dans des fichiers séparés.

– Changer la devise : définir CURRENCYCODE=EUR dans SetExpressCheckout et DoExpressCheckoutPayment
– que ce passe t-il si celui qui paye sur le psp n’est pas celui authentifié sur le FSX ? A reçoit l’argent. B paye. B ne reçoit rien. C ne recoit la demande de paiement et ne paye rien.
– Spécifié que c’est le Name-Value Pair (NVP) API en cURL qui est utilisé.

– redirection sur le PSP avec la langue locale (FR ou EN)
– guide user avec screenshot en anglais
– respecter les conventions graphiques de la présentation des documents (Guide User EN et FR)

Marketing :
– PayPal training library
– s’inscrire sur guru.com
– répondre aux questions sur les forums

Web Performance Best Practices :
Optimize images
Serve resources from a consistent URL
Avoid CSS expressions
Combine external CSS
Specify image dimensions
Minimize redirects
Put CSS in the document head
Use efficient CSS selectors

L’architecture

Le code source est en français. Les commentaires du code source sont en français aussi. Sauf pour les standards financiers qui sont en anglais. Le projet s’oriente vers une internationalisation (I18N).

Toutes les images sont dans un dossier spécifique (/images).
Tout les CSS (Feuilles de style en cascade) sont dans un dossier spécifique (/style).
Tout ce qui a attrait au support utilisateur est dans le dossier /support.
La documentation est dans le dossier /support/docs.
Tout ce qui concerne l’internationalisation est dans le dossier nommé « services/i18n ».

La programmation est de type procédurale : les méthodes sont appelés dans un ordre spécifique.

La partie visible est composé de la page principale, de l’historique et de la documentation.

L’existence d’une demande de paiement peut se vérifier via l’historique.

La limitation d’accès se fait grâce aux sessions pour la partie caché (processus de paiement).

La disponibilité d’une demande de paiement peut se vérifier en appliquant le filtre avec le numéro ISIN en paramètre.

Comme c’est un projet web, l’interface homme-machine est basé sur une architecture est de type client/serveur. Et, le serveur à une architecture en 3 tiers (base de données, traitements, présentation).

La base de donnée

Elle est composée de 4 tables par institution financière : (« scripts sql tables & champs.sql »
présent à la racine)
– freepay_achat_en_attente : liste des tentatives de transactions. (`num_transaction ,`num_titre`, `valeur_titre`, `profit_titre`, `date_attente`, `mail_acheteur`, `mail_vendeur`, `status`, `token`)
– freepay_client : information API client (`mailcli, `mdpcli, `API_username`, `API_password`, `API_signature`, `datecreationcompte`)
– freepay_titre : liste des titres en vente dans leur états actuels. (  `numtitre`, `datetitre`, `valeurtitre`, `mailcli`)
– freepay_titre_transferer : liste des ordres effectués. (`datet`, `numtitre`, `mailcli`, `achattitre`, `tauxprofit` )
Les étapes du processus de paiement pour un utilisateur dans le FSX
1. L’utilisateur a crée son compte chez le PSP, l’a approvisionné, a surclassé son compte et récupéré les informations d’API.
2. L’utilisateur crée un compte. (Lien  sur la première page en haut à droite.)
3. L’utilisateur va sur la page d’achat et sélectionne un numero ISIN (définit aussi la valeur et le
profit si besoin).
L’ordre d’achat est sauvegardé et accessible via le menu du même nom. Il récapitule l’état de la
transaction (En cours / En attente, Échoue / Annulé ou Fini).
4. L’utilisateur est redirigé sur le PSP. Elle fait tout les étapes nécessaire au paiement. Et est retourné sur la plateforme de trading automatiquement.
5. L’argent a été transféré par le PSP et l’équivalent en demande de paiement aussi. (Le transfert de
possession des titres se fait compte tenu des nouveaux chiffres envoyé par l’API afin d’éviter toute tentative de fraude.) La transaction en attente « pending » passe à « done » grâce au numéro de transaction récupéré du PSP. A chaque transaction, l’argent est sauvegardé dans les comptes de l’institution financière. En cas de crise (comme une indisponibilité de la plateforme de titre), l’argent, lui, est toujours disponible.
6. L’utilisateur peut consulter ses titres et rafraichir la page (F5). Il peut aussi utiliser l’emailling
pour accélérer le processus de paiement, puis :
– Le vendeur reçoit une notification par email du FSX l’informant de la cession du titre et de la
reception de l’argent. (+ emetteur + argent + devise)
– L’acheteur reçoit une notification par email de l’institution financière. (+ argent + devise +
indicatif produit)
Le solde du compte de l’utilisateur est supérieur à ce qu’il était auparavant sans l’utilisation de la présente application. Ce qu’il fallait démontrer.Chaque utilisateur peut répéter le processus autant de fois qu’il le veut sans restrictions.

7. L’utilisateur de déconnecte de la plateforme de trading (FSX) et du PSP.
Les vues :

L’architecture des vues est commune à FreePay (header et footer en commun sur toutes les
pages).

Le Menu : Accueil, Historique des échanges, Paiement en ligne, Historique des transactions, Mes demandes de paiement, Contact, Documentation

Respect des standards du W3C : a été validé XHTML 1.0 transitionnel et CSS 2.0 sous Mozilla
Firefox, Internet Explorer et Safari.
Les contrôleurs :

Ce sont les même que ceux de FreePay. PHP et Javascript pour le côté serveur et client
respectivement.
Les transactions qui n’aboutissent pas au bout d’1 journée sont classé comme ayant échoué.
(status à -2).

 


 

Sécurité

L’application a été conçu et testé avec CAL9000 (OWASP) pour être protégé contre les attaques
de type Cross Site Scripting (XSS). Dans le Top 10 des vulnérabilités 2007 selon l’Open Web
Application Security Project (OWASP).
Test et Confirmation :

Les comptes de tests sont ouvert à l’initiative des clients. Des fonds de test sont donné gratuitement par le PSP.
Passer la séries de tests suivantes : Nécessite minimum 2 utilisateurs. (Alice et Bob) Préparatif :
Noter la situation financière existante des utilisateurs : « Solde en Euro » et « Solde ISIN » pour
chacun d’eux.
Effectuer un achat et pour les 3 cas (inférieur, égal, supérieur), vérifier :
– Le solde de l’acheteur (Alice) a t-il diminué ?
– La valeur du titre de l’acheteur (Alice) a t-elle augmenté ?
– Le solde du récepteur (Bob) a t-il augmenté ?
– Les titres du récepteur (Bob) ont-ils diminué ?
– Le récepteur (Bob) a t-il été notifié par email ?
Prochain développement de la plateforme :
FaceBook
Légalité :

Je pense que mon système est légal car j’ai fais des recherches en ce sens avant de le mettre à
disposition de tous. Je considère qu’il va dans le sens des principes de l’union européenne.
« support » > « docs » les documents de référence concernant le contexte législatif, juridique et
réglementaire qui pourrait s’y rapporter.
Le site internet de la commission européenne est très instructif sur cette question. (
européenne >Marché Intérieur > Le marché unique des services > Services financiers. Je ne suis
pas complètement d’accord sur le choix de cette rubrique puisque la plateforme de trading offre
un service gratuit (sans contrepartie) et ne gère pas d’argent (uniquement la confirmation que
l’argent a été transféré).
Fonds d’investissements > Investissements alternatifs : il existe un Projet de Directive relative
aux gérants de fonds dits ‹ alternatifs ›. Ce projet de directive peut encore être changé, et, la
version finale ne va pas forcément s’appliquer à ce cas très précis.

http://ec.europa.eu/internal_market/investment/alternative_investments_fr.htm

Services de paiement > Monnaie électronique : La plateforme de trading ne crée pas de monnaie.
Donc, cela ne concerne que le PSP.

http://ec.europa.eu/internal_market/payments/emoney/index_fr.htm

Services de paiement > e-Facturation : c’est PSP Moneybookers qui gère la facturation (il peut le
désactiver) Uniquement une copie est gardé à des fins d’archive par la plateforme de trading (ou
rien suivant le paramétrage)

http://ec.europa.eu/internal_market/payments/einvoicing/index_fr.htm

Conglomérats financiers : Selon la taille du système de trading PayBook et sa structure, il peut
entrer ou ne pas entrer dans cette catégorie. C’est au choix du/des entrepreneurs selon les
opportunités de fusion / acquisitions.

http://ec.europa.eu/internal_market/financialconglomerates/index_fr.htm

Commerce électronique : Cela dépend de ce qui est fait par les clients en contrepartie de l’argent
Copyright :
Mon droit d’auteur est garanti par la Licence publique générale GNU. http://www.gnu.org/licenses/gpl.html
Mes créations sont protégés au niveau Européen par la Directive 91/250/CEE du Conseil, du 14
mai 1991, concernant la protection juridique des programmes d’ordinateur. (http://eurlex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:FR:HTML )
Mes créations sont protégés internationalement par la Convention de Berne pour la protection
des oeuvres littéraires et artistiques (géré actuellement par l’ Organisation mondiale de la
propriété intellectuelle (OMPI), organisme spécialisé au sein de l’ONU). (source :
Clause de non responsabilité :
L’utilisation de la présente application à valeur d’acceptation de la clause de non responsabilité
suivante : L’auteur décline toute responsabilité quant aux conséquences pouvant résulter de
l’utilisation de cette application.
Script fourni sans aucune garantie.
L’ Organisation
L’ Indefinite Lifespan Foundation est un organisation de bienfaisance à but non lucratif, non gouvernementale, dédié à réduire la mortalité humaine, à encourager l’extension de l’espérance de vie et la recherche du bonheur en utilisant principalement la médecine préventive, la santé publique et l’informatique. (En phase de création)
Contact :

En tant que développeur, je recherche toujours un moyen de produire plus et à moindre coût. Ma
motivation se base sur le fait que le logiciel fonctionne et qu’il est utile. Bien que je sois d’accord pour dire que le type de communication le plus efficient est le face à face, je reconnais aussi que je ne suis pas toujours disponible et donc, j’ai mis en place une documentation écrite. Dans le cadre d’une politique de transparence, j’ai aussi mis mon cv en pièce jointe afin de pouvoir renseigner qui le souhaite sur mon identité et mes aptitudes professionnelles (ce qui laisse plusieurs moyens de me contacter). Sa lecture est facultative.
De plus, je suis ouvert à toute suggestion permettant d’améliorer le logiciel. S’il y a des bogues, pour que je puisse les corriger, il faut que j’en ai connaissance précise. D’après mon expérience, pour améliorer un système, il faut que les utilisateurs puissent contacter l’auteur car l’amélioration de la plateforme se fait grâce aux boucles de rétroaction positive à l’initiative des utilisateurs. Ce retour servira de base à l’architecture de la prochaine version (qui contiendra l’existant + les corrections).
Enfin, si vous avez un problème de nature financière relatif à votre compte PayPal, vous pouvez vous adresser au service clientèle de PayPal. (https://www.paypal.com/fr/cgi-bin/webscr?cmd=_contact-phone)

Conception d’un système de trading à partir de l’API de paiement Moneybookers et de FreePay

(version Beryl)

télécharger la brochure : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Slides_FR.pdf

télécharger le texte : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Guide_Dev_FR.pdf

Vision :

Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies et réduire la
mortalité.

Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies et réduire la mortalité.

Le changement de paradigme :

Le paradigme existant permet de résoudre certain problèmes, c’est pourquoi il a été accepté par le passé. Cependant, en ce moment, il ne répond pas à la demande de tout le monde. Donc, il y a eu une remise en question et une demande de changement.

J’ai étudié le marché des solutions existantes. N’étant pas satisfait (car si j’étais satisfait la problématique aurait été déjà résolue), j’ai donc décidé de créer ce logiciel. Car, à mon avis, il faut retirer progressivement les barrières qui entravent les échanges. (réf Traité instituant la Communauté européenne, 1957)

Le logiciel Give1Get2 est conçu pour construire un marché financier alternatif aux marchés financiers existants. Le logiciel est spécialisé dans la levée de fonds en ligne. Il facilite le libre échange dans l’économie internationale. Ce logiciel a été crée pour répondre au besoin de financement des agents économiques au niveau européen et mondial pour pouvoir financer, en autre chose, la recherche, l’éducation et l’innovation.

Principes & Qualités :

– Liberté, Citoyenneté, Responsabilité, Égalité, Solidarité,

– Ouvert, Réglementé, Prévisible, Non discriminatoire

Objectif :

Faire un projet pilote (fonctionnel, gratuit dans sa mise en place et dans son utilisation, légal, disponible (7/7j, 24/24h) et reposant sur une situation gagnant-gagnant) d’une plateforme de trading internationale (FSX) à partir d’une API de paiement (Moneybookers) et d’un progiciel financier libre (FreePay) pour permettre d’augmenter le solde des participants. (+1 Euro à chaque fois)

Réalisé : L’objectif principal a été réalisé.

Le logiciel a été testé dans des conditions réelles avec des comptes personnels pour les 3 cas possibles d’achat (inférieur, égal et supérieur) : et dans chacun des cas, cela à fonctionné parfaitement.

Exemple simple : lorsqu’ 1 Euro est envoyé, 2 Euros sont reçus (facteur 2 : 1*2=2). La devise « Give 1. Get 2. » a été choisie en ce sens. Le montant de départ est choisi par l’utilisateur et il peut utiliser le système autant de fois qu’il veut. exemple : 1234 Euros envoyé -> 2468 Euros reçus.

Cible :

Cible Utilisateur : Ce logiciel est été mis en oeuvre en ciblant principalement les utilisateurs du PSP utilisé parlant français ou anglais et ayant un minimum de compétences en finance (Moneybookers enregistre 9 millions de clients, selon Moneybookers). L’objectif n’étant pas de ce limiter à cette catégorie mais de pouvoir toucher le plus grand nombre d’ utilisateurs.

Cible Développeur : Les personnes ciblé pour le téléchargement et l’installation du logiciel sont les programmeurs (développeur web de préférence) et/ou entreprises voulant mettre en place une plateforme de trading.

La plateforme ne prend pas de pourcentage sur les fonds qu’elle lève. En ce sens, une organisation qui l’utiliserait pourrait être du type organisation à but non lucratif.

Les stratégies pour faire du business

Il existe 3 stratégies possibles pour 2 personnes : Perdre, pas de deal ou gagner. (soit 9 combinaisons en tout)

Cas pratique : Je ne veux pas perdre d’argent (destruction d’argent) Je ne veux pas perdre d’argent pour que quelqu’un en gagne. (un vol d’argent) Je veux changer. Je ne veux pas gagner d’argent pour que quelqu’un en perde. (un vol d’argent) Je ne veux pas gagner d’argent tout seul. (faux billet) Je veux gagner de l’argent et que quelqu’un d’autre en gagne aussi.

La seule solution qui me semble réalisable est donc : la stratégie gagnant-gagnant.

Business Model d’une plateforme de Trading en ligne avec une stratégie Gagnant-Gagnant :

5 parties : Fournisseur, Consommateur, Concurrent, Partenaire et Soi-même.

Fournisseur :

– Les prestataires de services de paiement (PSP) ont un business model qui fonctionne par les commissions (partie fixe et variable) sur les transactions de leur clients (environ 2%). Pour que leur profit augmente, ils veulent augmenter leur volume de transactions et à ce que les clients envoient de plus grosse somme.

– Leur principaux partenaires sont les marchands et les plateforme de trading qui leur permet d’accroitre leur volume de transactions et les montants via les utilisateurs qui les utilisent. Ceci se fait par l’augmentation de leur nombre de clients qui est proportionnel à l’accès de leur système d’informations : l’API (Application Programming Interface) qui permet à quiconque d’automatiser les paiements.

– Leur fournisseurs sont une ou plusieurs banques. Les messages financiers sont géré électroniquement par la banque. Le PSP reçoit des confirmations via une API.

Consommateur :

– Les utilisateurs de l’internet veulent répondre à leur besoins. Les besoins de l’humanité sont récurrent (doivent être satisfait tout les jours). Ce besoin est soit un produit ou service, soit de l’argent. Les produits se trouvent chez les marchants en ligne (e-commerce). L’argent facilement gagné se trouve sur les plateforme de trading.

– Pour envoyer de l’argent, l’utilisateur à besoin d’un PSP. Et son PSP lui demande d’avoir un compte bancaire pour remplir son portefeuille électronique. Comparativement au PSP, l’internaute gagne plus par transaction si le profit est à sa valeur par défaut (maximum).

Concurrent, Partenaire et Soi-même :

– Le business model de la plateforme de trading est soit le même que celui du PSP (commissions par transactions), soit des frais d’entrée, soit des frais mensuels, soit des primes de parrainages (lien avec id) ou soit gratuit. (L’argent est gagné de la même manière que les utilisateurs.)

– Les fournisseurs des plateformes de trading sont les PSP avec leur API. (le logo est mis en évidence)

– Les utilisateurs consomment un service qui leur permet de déplacer de l’argent. La stratégie de déplacement de l’argent est définie soit par la plateforme de trading soit par les utilisateurs eux même. (dépend de la politique interne de la plateforme de trading)

– La plateforme de trading est une couche logiciel au dessus du PSP. La conception et l’évolution de ce produit informatique peut être en partie externalisé auprès d’une ou plusieurs personnes qui s’occupe d’un logiciel libre de plateforme de trading ce qui permettrait de réduire les coûts et le temps de développement.

Revenus

Le lien vers le programme de parrainage est ici : http://www.moneybookers.com/app/referral.pl

Il y a plus de 9 millions de client qui utilisent Moneybookers (selon Moneybookers). La population cible visé est majoritairement celle déjà inscrite. L’affilié ne peux prendre de commissions sur des personnes déjà inscrite. (qu’il n’a pas lui même parrainé, sous-entendu)

Pour les personnes qui ne sont pas encore inscrite, elles peuvent s’inscrire directement à l’url http://moneybookers.com/ : dans ce cas, l’affilié ne prend pas de commission.

Soit, dernière option, s’inscrire avec le lien de l’affilié (l’url fourni en bas de page sur le script), dans ce cas, l’affilié recevra des commissions sur ce que gagne le PSP (à hauteur de 30% et, limité à 100 Euros maximum) Ce n’est pas un surcoût (répartition 30-70). C’est donc complètement transparent pour l’utilisateur final.

Cette mesure incitative, je l’ai mis en place pour augmenter le nombre de mes partenaires sur ce projet. Je pensai que cela était légitime afin de pouvoir payer les couts fixes (nom de domaine) et les coûts variable de fonctionnement (bande passante, base de donnée) de chacun des sites partenaires.

De plus, chaque utilisateur à aussi cette possibilité de parrainer d’autres utilisateurs en faisant ses demandes de paiements. Je trouve que c’est une preuve d’équité.

Interopérabilité : Comment savoir si l’API du porte monnaie électronique d’une institution financière est compatible avec le FSX de FreePay ?

Sur l’institution financière :

1. Il faut pouvoir créer un compte.

2. Approvisionnement : L’utilisateur peut approvisionner son compte avec différents moyens de paiement (chèque, carte de crédit, transfert bancaire etc) et en retirer.

3. Il faut avoir un minimum de fonds sur son compte (solde à minimum 1 euros). (il faut aussi prendre en compte les frais de l’institution financière)

Facultatif (mais vivement recommandé) : Agrément financier : L’institution financière doit être agréé par au moins une autorité de régulation.

Séparation des tests et du réel : Les transferts entre client normaux et client de test sont interdits.

Sur le FSX :

1. Il faut pouvoir passer un ordre sur le FSX et arriver sur la plateforme de paiement. (POST ou GET)

2. B2B, B2C,C2B & C2C : Il faut que les paiements fonctionne dans les 2 sens (marchand-marchand tout en étant accessible client-client, marchand-client et client-marchand), brièvement permettre le P2P. Le droit de rétractation dépend du status des personnes effectuant les transactions ensemble et, cela est défini sur le site du PSP.

2 bis. (optionnel : mais c’est mieux de le faire) Il faut pouvoir activer l’automatisation des processus. (en xml)

3. XML : Il faut que le site source (marchand / FSX) puisse obtenir une trace de la transaction de la part de la plateforme de paiement. (xml envoyé et enregistrable dans la base de donnée dans des tables sql)

Existant : Qu’est-ce que Moneybookers?


– Moneybookers est un service paiement en ligne sécurisé qui vous permet d’envoyer et de recevoir de l’argent instantanément à partir d’une adresse e-mail. L’ouverture de compte est gratuite ; et le chargement et le retrait d’argent se fait par l’intermédiaire d’une carte de crédit (Visa, mastercard, diners, american express, jcb, delta / visa debit et visa electron) ou par virement bancaire.

– Moneybookers est traduit en 12 langues différentes. (Anglais, Allemand, Français, Espagnol, Italien, Polonais, Grec moderne, Roumain, Russe, Turc, Chinois, Tchèque)

– Les frais de transaction sont peu élevé et les transactions peuvent être consultées dans l’historique du compte à tout moment.

– Moneybookers est une institution émettrice de monnaie électronique qui permet au marchands (société ou négociant) d’accepter les paiements en ligne de clients du monde entier sans aucun frais d’installation, ni de frais mensuels. (en anglais : Payment Service Provider)

– Moneybookers Ltd est une société enregistrée au registre du Commerce de l’Angleterre et du Pays de Galles sous le No 4260907. Siège social: Welken House, 10-11 Charterhouse Square, London, EC1M 6EH. Elle est agréé en vertu de la législation du Royaume-Uni et de l’Union Européenne et régi par la Financial Services Authority (FSA), l’Autorité des services financiers au Royaume-Uni.

Source :

Pourquoi une relation avec un PSP :

La division des rôles : Le logiciel peut être vu comme un plugin qui interagit avec le logiciel principal (l’institution financière) pour lui apporter une nouvelle fonctionnalité. Le logiciel est un système ouvert qui envoie des informations à l’intérieur (historique) et à l’extérieur (ordre).
– L’institution financière transforme les capitaux entrant en monnaie électronique, fais les paiements et fais les conversion de chèques.

– Le logiciel permet de passer des ordres de paiement, d’échanger des ordres de paiement et permet de faire des demandes de paiement.

Dépendance : Le logiciel va vers la simplicité puisque, par rapport à la version précédente (FreePay), il soustraite les processus nécessaire à la gestion de l’argent. Ce logiciel permet d’économiser le coût du capital initial (1 million d’ Euros) nécessaire à la création d’une institution financière émettrice de monnaie électronique (en : E-money issuer) au sein de l’ Union Européenne. (ref : Article 4 paragraphe 1 de la Directive 2000 46 CE).

Indépendance : Chaque organisation qui met en place le logiciel Give1Get2 est autonome des autres organisations. Elle n’est dépendante que de l’institution financière qui permet de faire les paiements (Relation 1 à plusieurs).


Qu’est-ce que « Give1Get2 »?


Le système de trading repose sur une stratégie gagnant-gagnant. La plateforme de trading est un lieu de confrontation de l’offre de titres financiers et de la demande d’argent en application de la pensée du laissez-faire économique. Il n’y a pas de marchandises échangé sur le système. C’est un jeu à somme nulle du point de vue de la plateforme de paiement mais pas du système de trading (1 euro titrisé symbolique émit pour l’amorçage, échange +1 +1 pour chaque partie à chaque transaction). C’est un cercle vertueux. Il n’y a pas de droit d’entrée. C’est un système de personne à personne (P2P) complémentaire qui permet aux utilisateurs de passer des ordres sur une plateforme de paiement. Cela a été conçu de tel manière qu’il n’y a pas de risque de variation inverse. Puisqu’il n’y a pas d’ordre de vente, il ne peut pas y avoir de crack boursier. Tout les utilisateurs du système peuvent s’enrichir, mais pas au même moment. L’utilisateur peut donc devenir, selon ce qu’il en fait, un trader. (fr : Opérateur de marché)

Le profit est aussi paramétrable (de 0 à 100 %, exemple : 25 euros réel deviennent à 100% -> 50 euros titrisés). Cela permet à l’utilisateur de spéculer ou de ne pas le faire. Ce qui permet à l’utilisateur de transformer ses capitaux en plus de capitaux représenté par les titres. (Et ensuite transformer ses titres en capitaux par l’acte de vente, exemple : 50 euros titrisés -> 50 euros réel). Finalement : 25 euros réel -> 50 euros réel. Ce qu’il fallait démontrer.

Explication Économique : Le logiciel n’a pas pour but de créer de l’inflation.

D’après ce que je sais, il existe deux types d’inflation :

– L’inflation du niveau des prix : Une hausse des prix des biens et des services durant une période de temps donné. (source : Wikipédia) Le revenu augmente moins vite que la hausse des prix des produits. → diminution du pouvoir d’achat. Ce qui est problématique. Or, ce que propose Give1Get2, c’est d’augmenter le revenu des acteurs du système, d’où une augmentation du pouvoir d’achat. Il n’y a pas de services en vente sur la plateforme et l’utilisation y est gratuite. Les « produits » financiers en vente sont des demandes de paiements. Le prix d’achat est fixé par les acheteurs eux-même. S’ils décident d’acheter plus cher, c’est pour gagner plus.

– L’inflation de la masse monétaire : Lorsque la masse monétaire mondiale subit une création monétaire. L’argent en circulation augmente via les taux d’intérêts. Or, le logiciel Give1Get2 n’a pas vocation d’augmenter la masse monétaire ni de la diminuer. Il n’y a pas de taux d’intérêts non plus dans ce système. Car c’est uniquement du ressort des banques.

Le logiciel permet la circulation de la monnaie entre les acteurs économiques.

Explication financière :

Prenons cet l’exemple : Bob veut envoyer 10 centimes d’EUR à Alice via Moneybookers.

Alice à un solde de 10.82 EUR. Bob a un solde de 78.19 EUR. Bob envoi 10 centimes à Alice. Le solde de Bob devient 78.09 EUR. Le solde de Alice passe à 10.92 EUR. C’est sans compter les frais variables (0.01) et les frais fixes (0.29). En fin de compte, le solde de Alice est de 10.62 EUR à la fin de l’opération.

Personnes Alice Bob
Temps Avant Après Avant Après
Solde 10.82 EUR 10.62 EUR 78.19 EUR 78.09 EUR

On constate que le gain (10 centimes) est inférieur à la perte (30 centimes). Bob a été chargé négativement (-0.10 EUR, ce qui est normal). Alice a été aussi chargé négativement (total de -0.20 EUR). C’est donc une situation perdant-perdant.

Pour obtenir une situation perdant-gagnant, on peut mettre en place un quota d’argent minimum automatique à définir dans les paramètres pour tout achat via l’API. Testons : Bob (solde : 78.09 EUR), après mûres réflexion, veut envoyer 3 Euros à Alice (solde : 8.52 EUR) via Moneybookers. Bob a maintenant un solde de 75.09 EUR. Alice a un solde d’environ 11.12 EUR (8.52 +3.00 -0.10 -0.29).

Personnes Alice Bob
Temps Avant Après Avant Après
Solde 8.52 EUR 11.12 EUR 78.09 EUR 75.09 EUR

Que constatons nous ? Bob a été chargé négativement (-3.00 EUR) tandis que Alice a été chargé positivement (différence de +2.60 EUR). Ce qui est une situation perdant-gagnant.

Le processus marchand fonctionne de la manière suivante : Le vendeur échange un bien contre l’argent de l’acheteur. Le vendeur du bien ne le fait que contre une somme supérieur à ce que cela lui à coûté en premier lieu auprès de ces fournisseurs.

De la même façon, lorsque que une personne A fait une demande de paiement et reçoit l’argent d’une personne B. Cela agit comme un mécanisme de compensation qui permet à B placer à son tour une demande de paiement pour un prix à une valeur égale ou supérieur à ce que cela lui a coûté auprès de son prédécesseur.

Traditionnellement, c’est une relation à 2 personnes uniquement. Ce qui pose problème si l’une des 2 partie ne peut prêter ou rembourser. ( Relation 1 à 1) Avec ce logiciel de marché alternatif, il y a de multiples offreurs et de multiples demandeurs. (Relation de plusieurs à plusieurs) Donc, cela diminue le risque (relation 1 à plusieurs dans les 2 sens) et il y a plus de possibilités de succès.

Comme je viens de le démontrer, nous pouvons transformer une stratégie perdant gagnant en une stratégie gagnant gagnant. C’est ce que nous allons faire maintenant.

Télécharger

Le logiciel se base sur une politique de transparence et de développement durable. La licence choisie est la GNU GPL. C’est un logiciel libre. De ce fait, il a été mis à disposition gratuitement sur SourceForge.netpour être téléchargé et installé sur des serveurs en ligne.

* Télécharger directement la solution complète (la plus à jour) :

http://give1get2.com/give1get2.zip
http://give1get2.com/give1get2.7z (nécessite le logiciel 7zip)

* Miroir de téléchargement complet (version stable) :

http://sourceforge.net/projects/give1get2/

* [Moneybookers] Démonstration en action :

http://www.moneybookers.com/app/help.pl?s=m_gateway_demo
https://www.moneybookers.com/app/test_payment.pl

* [Moneybookers] La documentation en libre téléchargement:

http://www.moneybookers.com/merchant/fr/moneybookers_gateway_manual.pdf
http://www.moneybookers.com/merchant/fr/automated_payments_interface_manual.pdf (pas requis)

Installation du logiciel

1. Acheter un nom de domaine (maplateformedetradingdexemple.com) chez un Registrar.

2. Obtenir un hébergement contenant un espace suffisant (environ : 50 Mo) et une bande passante suffisante (plusieurs Giga) en fonction du nombre d’utilisateur prévu. (et POP3, FTP et MySQL inclus)

3. Dé-compacter les fichiers précédemment téléchargé. (procédure ci-dessus)

4. Modifier le fichier ‘scripts sql tables & champs.sql’ : à la ligne 85, remplacer l’email (alice@give1get2.com) et l’ id marchand (6173206) par votre email et votre id marchand obtenu auprès de moneybookers à l’ouverture de votre compte. Remplacer aussi le courriel par votre courriel à la ligne 108.

5. Créer une base de données « mocha » (sans les doubles quotes) dans votre panneau d’administration (généralement à l’URL http://maplateformedetradingdexemple.com/phpmyadmin/)

Créer un utilisateur et lui donner les droits d’accès à la base de données en lecture et écriture. (si ce n’est pas déjà fait automatiquement).

6. Cliquer sur l’onglet SQL, copier-coller les données du fichier ‘scripts sql tables & champs.sql’ dans le champ de saisie et cliquer sur Exécuter. Aucun message d’erreur ne doit s’afficher.

7. Modifier les valeurs par défaut par celles qui ont été fournies par l’hébergeur dans le fichier ‘params.php’ (sans les simple quotes) ligne 31 (hôte), ligne 32 (utilisateur), ligne 33 (mot de passe), ligne 34 (base de données)

8. Sur le serveur web, copier-coller la source modifié (avec les parametres par défauts) en 7z et zip. Créer aussi un dossier /give1get2/ . Importer les fichiers via un FTP (ex fireFTP, une extension de Firefox) avec les paramètres de l’hébergeur (‘params.php’) dans le répertoire précédemment crée.

9. Lancer dans le navigateur http://maplateformedetradingdexemple.com/give1get2/. La page d’index doit s’afficher sans message d’erreurs. Les sources (7z et zip) doivent pouvoir être téléchargeable à partir d’un onglet ‘documentation’ ou ‘téléchargement’.

10. Référencer votre site sur les moteurs de recherche (ex : http://www.google.com/addurl/?continue=/addurl)

11. Générer un sitemap XML, et le mettre à la racine (ex : http://www.xml-sitemaps.com/ )

12. Optimiser votre site (ex: avec Google Webmaster Tools )

Pré-requis :

Le seul matériel nécessaire est un pc, un système d’exploitation, une connexion à Internet et un navigateur web.

Multi-Plateforme : fonctionne sous Windows ou Linux avec Internet Explorer ou Firefox.

La formation est gratuite. Elle constitue la documentation.

Conçu en XHTML, CSS, JavaScript, PHP et SQL (CRUD). Nécessite un MySQL, phpMyAdmin, POP3 pour les mails, FTP et un navigateur web. A été testé et fonctionne avec Apache (>= 1.3.33), Mysql (>= 4.1.9), PHP (>= 4.3.10), PhpMyAdmin(>= 2.6.1).

L’architecture est en trois tiers (donnée, business logic et présentation). L’architecture se base sur le projet FreePay : http://freepay.fr/freepay.zip Pour approfondir, la documentation de freepay est à votre disposition. http://freepay.fr/freepay/nav_telechargement.php?option=documentation

Pour les non francophone ou les non anglophones, il existe des outils de traductions comme Google translate pour lire des documents dans votre langue.

Le diagramme des traitements des processus marchands du côté de l’institution financière a été copié dans une image jointe au logiciel. « moneybookers_payment_gateway_api_details_interaction_diagram.png »

Ce script se base également sur la documentation de l’API « Moneybookers Payment Gateway – Merchant Integration Manual » (en anglais)- Version: <6.5>. http://www.moneybookers.com/merchant/fr/moneybookers_gateway_manual.pdf (43 pages) Une nouvelle version est peut être sortie à l’heure ou vous lisez ces lignes, ce qui pourrait poser des problèmes.

Le script ne prend en compte que les champs obligatoires par mesure de simplification. Pour ce qui est des champs facultatifs : se référer à la documentation officielle.

Le code ISIN est de nouveau utilisé dans ce logiciel (ISO 6166). La codification mis en place est le ZZ afin de faire une distinction claire et qu’il n’y ai aucune ambiguïté avec les pays ou territoires ayant des valeurs mobilières, selon la norme ISO 3166-1.

Les status d’une transaction (états) :

2 : validé (Processed)
1 : test //status ajouté, pas présent dans la documentation
0 : en attente (Pending)
-1 : annulé (Cancelled)
-2 : Échoué (Failed )
-3 : Retour arrière (Chargeback)

Les Étapes du développement (le Comment)

Vision : Le module de paiement de FreePay et tout les modules de niveau inférieur sont remplacés par l’API externe de Moneybookers (institution financière validé par la FSA).

Conséquences : Le support du module de paiement est donc externalisé. Le nom du projet ne correspond plus. Les balises Méta ne correspondent plus. Les menus ne correspondent plus.

1. Copie de Freepay. Tout les modules non nécessaires sont retirés sauf le FSX. (+ vérifier que ça marche)

2. Implémentation de l’API Moneybookers (+ vérifier que ça marche)

3. Mashup des deux (Application composite)
création de l’interface spécifique
création des processus spécifique
création de la base de donnée spécifique (+ vérifier que ça marche via un simulateur de moteur de paiement)

4. Re-factorisation : Optimisation de la Mashup (+ vérifier que ça marche)

5. Publication sur internet

L’architecture

Le code source est en français. Les commentaires du code source sont en français aussi. Sauf pour les standards financiers qui sont en anglais. Le projet s’oriente vers une internationalisation (I18N).

Toutes les images sont dans un dossier spécifique (/images).

Tout les CSS (Feuilles de style en cascade) sont dans un dossier spécifique (/style).

Tout ce qui a attrait au support utilisateur est dans le dossier /support.

La documentation est dans le dossier /support/docs.

Tout ce qui concerne l’internationalisation est dans le dossier nommé « services/i18n ».

La programmation est de type procédurale : les méthodes sont appelés dans un ordre spécifique.

La partie visible est composé de la page principale, de l’historique et de la documentation.

L’existence d’une demande de paiement peut se vérifier via l’historique.

La limitation d’accès se fait grâce aux sessions pour la partie caché (processus de paiement).

La disponibilité d’une demande de paiement peut se vérifier en appliquant le filtre avec le numéro ISIN en paramètre.

Comme c’est un projet web, l’interface homme-machine est basé sur une architecture est de type client/serveur. Et, le serveur à une architecture en 3 tiers (base de données, traitements, présentation).

La base de donnée

Elle est composée de 4 tables par institution financière : (« scripts sql tables & champs.sql » présent à la racine)

-2 pour les titres (déjà existante dans le FSX) :

– liste des transactions passés effectués sur des titres.
– liste des titres en vente dans leur états actuels.

– 2 pour les ordres de paiements (l’avant et l’après) :

– liste des ordres passés sur les titres du FSX.
– liste des ordres de paiements renvoyé par l’api.

Elle est composé de 2 insertions dans ces tables correspondant à un titre et de son historique.

Les étapes du processus de paiement pour un utilisateur dans le FSX

L’utilisateur a crée et approvisionné un compte Moneybookers. (https://www.moneybookers.com/app/register.pl )

1. Le lien vers la page de connexion est sur la première page en haut à droite. La connexion se fait avec l’Email et l’identifiant numérique (Customer ID) associé au compte Moneybookers.
(Visible en dessous du menu dans l’interface Moneybookers). (Pas de mot de passe, il est gérée par Moneybookers lors du paiement pour éviter une récupération externe)

2. L’utilisateur va sur la page d’achat et sélectionne un numero ISIN (définit aussi la valeur et le profit si besoin).

L’ordre d’achat est sauvegardé et accessible via le menu du même nom. Il récapitule l’état de la transaction (En cours / En attente, Échoue / Annulé ou Fini).

3. Selon les paramètres (« params.php ») défini par l’administrateur, l’utilisateur est redirigé soit :
– sur le serveur de test (mb_test_payment.php) et valide
– soit sur Moneybookers (https://www.moneybookers.com/app/payment.pl)

La redirection se fait grâce à un GET (passage de tout les paramètres obligatoires). La solution qui a été choisie est une redirection javascript. (<script type=’text/javascript’>Code</script>)

4. Si la personne a donnée les bons paramètres, elle entre juste son mot de passe. Sinon, elle crée son compte.

5. Le paiement est annulé ou validé par l’utilisateur. Moneybookers transfert l’argent entre les parties. Moneybookers envoie un code de retour « HTTP 200 » en POST uniquement à la status_url précédement envoyé (« paiement/pay/status_report.php ») et redirige l’utilisateur vers la plateforme de FSX défini précédement.

– Le logiciel utilise un couplage par données (passage de paramètres).

if( isset($_POST[‘mb_transaction_id’]) ) { $mb_transaction_id = $_POST[‘mb_transaction_id’]; }

– Les données sont ensuite filtrées par mesure de sécurité. (« status_report_filtre.php ») Il vérifie que tout les champs sont renseignés, qu’ils ont le bon type, la bonne longueur et les bonnes données (technique de filtrage par liste blanche).

exemple : vérification que l’origine des données (IP) provient bien de l’institution financière pour éviter toute tentative frauduleuse d’envoi d’argent fictif. (attaque de type « man in the middle »)

Le montant renvoyé par moneybookers peut être inférieur au montant indiqué dans la réservation (du fait de la prise de commission (fixe et variable) de la plateforme de paiement ou des paramètres GET qui peuvent être modifié en cours de route par l’internaute). Le transfert de possession des titres se fait compte tenu des nouveaux chiffres envoyé par l’API uniquement afin d’éviter ces problèmes.

6. Ensuite, si tout les critères sont validés alors les données sont stockés dans la table de l’api. (+ date actuelle) Et affichable au besoin par le fichier ‘pay_liste.php’ que le client retrouve sous ses yeux lorsqu’il retourne sur Give1Get2.

7. continuation de processus de transfert de possession (la transaction en attente « pending » passe à « done ») grâce au numéro de transaction récupéré par Moneybookers précédemment envoyé)

A chaque vente de titre, l’argent est sauvegardé dans les comptes de l’institution financière. En cas de crise (comme une indisponibilité de la plateforme de titre), l’argent, lui, est toujours disponible.

8. L’utilisateur peut consulter ses titres et rafraichir la page (F5). Il peut aussi utiliser l’emailling pour accélérer le processus de paiement, puis :
– Le vendeur reçoit une notification par email du FSX l’informant de la cession du titre et de la reception de l’argent. (+ emetteur + argent + devise)
– L’acheteur reçoit une notification par email de l’institution financière. (+ argent + devise + indicatif produit)

9. Déconnexion de la plateforme de trading (FSX)

Les vues :

L’architecture des vues est commune à FreePay (header et footer en commun sur toutes les pages).

Le Menu : (Accueil, Historique des titres, Acheter un titre, Ordre Achat (la confirmation est visible si l’ordre a réussi), Consulter vos titres, Contactez-nous, Documentation)

– L’utilisateur peut voir l’historique des transactions.
– L’utilisateur peut acheter une demande ISIN.
– L’utilisateur peut consulter la liste de ses ordres d’achat et, cliquer sur le numéro de la transaction pour voir les détails de la transaction (si celle-ci a réussi).
– L’utilisateur peut consulter ses titres.

Respect des standards du W3C : a été validé XHTML 1.0 transitionnel et CSS 2.0 sous Mozilla Firefox, Internet Explorer et Safari.

Les contrôleurs :

Ce sont les même que ceux de FreePay. PHP et Javascript pour le côté serveur et client respectivement.

Les transactions qui n’aboutissent pas au bout d’1 journée sont classé comme ayant échoué. (status à -2).

Sécurité

L’application a été conçu et testé avec CAL9000 (OWASP) pour être protégé contre les attaques de type Cross Site Scripting (XSS). Dans le Top 10 des vulnérabilités 2007 selon l’Open Web Application Security Project (OWASP).

Test et Confirmation :

Les comptes de tests sont ouvert à l’initiative des clients. Des fonds de test sont donné gratuitement par Moneybookers.

Passer la séries de tests suivantes : Nécessite minimum 2 utilisateurs. (Alice et Bob) Préparatif : Noter la situation financière existante des utilisateurs : « Solde en Euro » et « Solde ISIN » pour chacun d’eux.

Effectuer un achat et pour les 3 cas (inférieur, égal, supérieur), vérifier :
– Le solde de l’acheteur (Alice) a t-il diminué ?
– La valeur du titre de l’acheteur (Alice) a t-elle augmenté ?
– Le solde du récepteur (Bob) a t-il augmenté ?
– Les titres du récepteur (Bob) ont-ils diminué ?
– Le récepteur (Bob) a t-il été notifié par email ?

Prochain développement de la plateforme : FaceBook + Paypal

Légalité

Je pense que mon système est légal car j’ai fais des recherches en ce sens avant de le mettre à disposition de tous. Je considère qu’il va dans le sens des principes de l’union européenne. (http://europa.eu/scadplus/european_convention/objectives_fr.htm) . J’ai joint dans le dossier « support » > « docs » les documents de référence concernant le contexte législatif, juridique et réglementaire qui pourrait s’y rapporter.

Le site internet de la commission européenne est très instructif sur cette question. ( http://ec.europa.eu/internal_market/top_layer/index_24_fr.htm ) Rubrique : Commission européenne >Marché Intérieur > Le marché unique des services > Services financiers. Je ne suis pas complètement d’accord sur le choix de cette rubrique puisque la plateforme de trading offre un service gratuit (sans contrepartie) et ne gère pas d’argent (uniquement la confirmation que l’argent a été transféré).

Fonds d’investissements > Investissements alternatifs : il existe un Projet de Directive relative aux gérants de fonds dits ‹ alternatifs ›. Ce projet de directive peut encore être changé, et, la version finale ne va pas forcément s’appliquer à ce cas très précis. http://ec.europa.eu/internal_market/investment/alternative_investments_fr.htm

Services de paiement > Monnaie électronique : La plateforme de trading ne crée pas de monnaie. Donc, cela ne concerne que le PSP Moneybookers. http://ec.europa.eu/internal_market/payments/emoney/index_fr.htm

Services de paiement > e-Facturation : c’est PSP Moneybookers qui gère la facturation (il peut le désactiver) Uniquement une copie est gardé à des fins d’archive par la plateforme de trading (ou rien suivant le paramétrage) http://ec.europa.eu/internal_market/payments/einvoicing/index_fr.htm

Conglomérats financiers : Selon la taille du système de trading Give1Get2 et sa structure, il peut entrer ou ne pas entrer dans cette catégorie. C’est au choix du/des entrepreneurs selon les opportunités de fusion / acquisitions. http://ec.europa.eu/internal_market/financial-conglomerates/index_fr.htm

Commerce électronique : Cela dépend de ce qui est fait par les clients en contrepartie de l’argent envoyé. http://ec.europa.eu/internal_market/e-commerce/directive_fr.htm

Copyright :

Mon droit d’auteur est garanti par la Licence publique générale GNU. http://www.gnu.org/licenses/gpl.html

Mes créations sont protégés au niveau Européen par la Directive 91/250/CEE du Conseil, du 14 mai 1991, concernant la protection juridique des programmes d’ordinateur. (http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:FR:HTML )

Mes créations sont protégés internationalement par la Convention de Berne pour la protection des œuvres littéraires et artistiques (géré actuellement par l’ Organisation mondiale de la propriété intellectuelle (OMPI), organisme spécialisé au sein de l’ONU). (source : http://www.wipo.int/treaties/fr/ip/berne/trtdocs_wo001.html )

Clause de non responsabilité :

L’utilisation de la présente application à valeur d’acceptation de la clause de non responsabilité suivante : L’auteur décline toute responsabilité quant aux conséquences pouvant résulter de l’utilisation de cette application.

Script fourni sans aucune garantie.

L’ Organisation

L’ Indefinite Lifespan Foundation est un organisation de bienfaisance à but non lucratif, non gouvernementale, dédié à réduire la mortalité humaine, à encourager l’extension de l’espérance de vie et la recherche du bonheur en utilisant principalement la médecine préventive, la santé publique et l’informatique. (En phase de création)

Contact :

En tant que développeur, je recherche toujours un moyen de produire plus et à moindre coût. Ma motivation se base sur le fait que le logiciel fonctionne et qu’il est utile. Bien que je sois d’accord pour dire que le type de communication le plus efficient est le face à face, je reconnais aussi que je ne suis pas toujours disponible et donc, j’ai mis en place une documentation écrite. Dans le cadre d’une politique de transparence, j’ai aussi mis mon cv en pièce jointe afin de pouvoir renseigner qui le souhaite sur mon identité et mes aptitudes professionnelles (ce qui laisse plusieurs moyens de me contacter). Sa lecture est facultative.

De plus, je suis ouvert à toute suggestion permettant d’améliorer le logiciel. S’il y a des bogues, pour que je puisse les corriger, il faut que j’en ai connaissance précise. D’après mon expérience, pour améliorer un système, il faut que les utilisateurs puissent contacter l’auteur car l’amélioration de la plateforme se fait grâce aux boucles de rétroaction positive à l’initiative des utilisateurs. Ce retour servira de base à l’architecture de la prochaine version (qui contiendra l’existant + les corrections).

Enfin, si vous avez un problème de nature financière relatif à votre compte Moneybookers, vous pouvez vous adresser au service clientèle de Moneybookers.

List of Financial Regulatory Authorities by Country

Source : http://freepay.fr/freepay/services/ISIN/SEC_afficher.php

Country Code SEC City Name Country Name
AE Securities and Commodities Authority Abu Dhabi UNITED ARAB EMIRATES
AL Albanian Financial Supervisory Authority Tirana ALBANIA
AM Central Bank of Armenia Yerevan ARMENIA
AR Comisión Nacional de Valores Buenos Aires ARGENTINA
AT Financial Market Authority Vienna AUSTRIA
AU Australian Securities and Investments Commission Sydney AUSTRALIA
BA-BH Securities Commission of the Federation of Bosnia and Herzegovina Sarajevo BOSNIA AND HERZEGOVINA, FEDERATION OF
BA-RS Securities Commission Banja Luka SRPSKA, REPUBLIC OF
BB Securities Commission of Barbados Barbados BARBADOS
BD Securities and Exchange Commission Dhaka BANGLADESH
BE Banking, Finance And Insurance Commission Brussels BELGIUM
BG Financial Supervision Commission Sofia BULGARIA
BH Central Bank of Bahrain Manama BAHRAIN, KINGDOM OF
BM Bermuda Monetary Authority Hamilton BERMUDA
BN Brunei International Financial Center of the Ministry of Finance Bandar Seri Begawan BRUNEI
BO Superintendencia de Pensiones, Valores y Seguros La Paz BOLIVIA
BR Comissão de Valores Mobiliários Rio de Janeiro, RJ BRAZIL
BS Securities Commission of the Bahamas Nassau BAHAMAS, THE
CA-AB Alberta Securities Commission Calgary CANADA
CA-BC British Columbia Securities Commission Vancouver CANADA
CA-MB Manitoba Securities Commission Winnipeg CANADA
CA-NB New Brunswick Securities Commission Saint John CANADA
CA-NL Newfoundland and Labrador Financial Services Regulation St. John CANADA
CA-NS Nova Scotia Securities Commission Halifax CANADA
CA-NT Northwest Territories Securities Registry Yellowknife CANADA
CA-NU Nunavut Registrar of Securities Iqaluit CANADA
CA-ON Ontario Securities Commission Toronto CANADA
CA-PE Prince Edward Island Securities Office Charlottetown CANADA
CA-QC Autorité des marchés financiers du Québec Montréal CANADA
CA-SK Saskatchewan Financial Services Commission Regina CANADA
CA-YT Yukon Securities Office Whitehorse CANADA
CH Commission fédérale des banques Berne SWITZERLAND
CI Conseil régional de l’épargne publique et des marchés financiers Lusaka Côte d’Ivoire
CL Superintendencia de Valores y Seguros Santiago CHILE
CN China Securities Regulatory Commission Beijing CHINA, PEOPLE’S REPUBLIC OF
CO Superintendencia Financiera de Colombia Bogotá COLOMBIA
CR Superintendencia General de Valores San José COSTA RICA
CY Cyprus Securities and Exchange Commission Nicosia CYPRUS, REPUBLIC OF
CZ Czech National Bank Praha CZECH REPUBLIC
DE Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin) Frankfurt am Main GERMANY
DK Finanstilsynet Frederiksberg DENMARK
DO Superintendencia de Valores de la República Dominicana Santo Domingo DOMINICAN REPUBLIC
DZ Commission d’organisation et de surveillance des opérations de bourse Alger ALGERIA
EC Superintendencia de Compañías Quito ECUADOR
EE Financial Supervision Authority (Finantsinspektioon) Tallinn ESTONIA
EG Capital Market Authority Cairo EGYPT
ES Comisión Nacional del Mercado de Valores Madrid SPAIN
FI Financial Supervision Authority Helsinki FINLAND
FR Autorité des marchés financiers Paris FRANCE
GB Financial Services Authority London UNITED KINGDOM
GG Guernsey Financial Services Commission St. Peter Port GUERNSEY
GH Securities and Exchange Commission Accra GHANA
GI Financial Services Commission Gibraltar GIBRALTAR
GR Hellenic Republic Capital Market Commission Athens GREECE
HK Securities and Futures Commission Hong Kong HONG KONG
HN Comisión Nacional de Bancos y Seguros (National Banks and Securities Commission) Tegucigalpa HONDURAS
HR Croatian Financial Services Supervisory Agency Zagreb CROATIA, REPUBLIC OF
HU Hungarian Financial Supervisory Authority Budapest HUNGARY
ID Indonesian Capital Market and Financial Institutions Supervisory Agency Jakarta INDONESIA
IE Central Bank and Financial Services Authority Dublin IRELAND
IL Israel Securities Authority Jerusalem ISRAEL
IM Financial Supervision Commission Douglas ISLE OF MAN
IN Securities and Exchange Board of India (SEBI) Mumbai INDIA
IT Commissione Nazionale per le Società e la Borsa Roma ITALY
JE Jersey Financial Services Commission St. Helier JERSEY
JM Financial Services Commission Kingston JAMAICA
JO Jordan Securities Commission Amman JORDAN
JP Financial Services Agency Tokyo JAPAN
KE Capital Markets Authority Nairobi KENYA
KG State Agency for Financial Surveillance and Accounting Bishkek KYRGYZ REPUBLIC
KR Financial Services Commission/Financial Supervisory Service (FSC/FSS) Seoul KOREA
KZ Financial Supervision Agency Almaty KAZAKHSTAN, REPUBLIC OF
LK Securities and Exchange Commission Colombo SRI LANKA
LT Lithuanian Securities Commission Vilnius LITHUANIA
LU Commission de surveillance du secteur financier Luxembourg LUXEMBOURG, GRAND DUCHY OF
MA Conseil déontologique des valeurs mobilières Rabat MOROCCO
ME Securities Commission of the Republic of Montenegro Podgorica MONTENEGRO
MK Securities and Exchange Commission Skopje FORMER YUGOSLAV REPUBLIC OF MACEDONIA
MN Financial Regulatory Commission Ulaanbaatar MONGOLIA
MT Malta Financial Services Authority Attard MALTA
MU Financial Services Commission Port-Louis MAURITIUS, REPUBLIC OF
MW Reserve Bank of Malawi Blantyre MALAWI
MX Comisión Nacional Bancaria y de Valores México MEXICO
MY Securities Commission Kuala Lumpur MALAYSIA
NG Securities and Exchange Commission Lagos NIGERIA
NL The Netherlands Authority for the Financial Markets Amsterdam NETHERLANDS, THE
NO Kredittilsynet Oslo NORWAY
NZ Securities Commission Wellington NEW ZEALAND
OM Capital Market Authority Muscat OMAN, SULTANATE OF
PA Comisión Nacional de Valores Panama PANAMA, REPUBLIC OF
PE Comisión Nacional Supervisora de Empresas y Valores Lima PERU
PG Securities Commission Port Moresby PAPUA NEW GUINEA
PH Securities and Exchange Commission Manila PHILIPPINES
PK Securities and Exchange Commission Islamabad PAKISTAN
PL Financial Supervision Authority Warsaw POLAND
PT Comissão do Mercado de Valores Mobiliários Lisboa PORTUGAL
RO Romanian National Securities Commission Bucharest ROMANIA
RS Securities Commission Novi Beograd SERBIA, REPUBLIC OF
RU Federal Financial Markets Service of Russia Moscow RUSSIA
SE Finansinspektionen Stockholm SWEDEN
SG Monetary Authority of Singapore Singapore SINGAPORE
SI Securities Market Agency Ljubljana SLOVENIA
SK The National Bank of Slovakia Bratislava SLOVAK REPUBLIC
SV Superintendencia de Valores San Salvador EL SALVADOR
TH Securities and Exchange Commission Bangkok THAILAND
TN Conseil du marché financier Tunis TUNISIA
TR Capital Markets Board Ankara TURKEY
TT Trinidad and Tobago Securities and Exchange Commission Port of Spain TRINIDAD AND TOBAGO
TW Financial Supervisory Commission Taiwan CHINESE TAIPEI
TZ Capital Markets and Securities Authority Dar Es Salaam TANZANIA
UA Securities and Stock Market State Commission Kyiv UKRAINE
UG Capital Markets Authority Kampala UGANDA
US U.S. Securities and Exchange Commissio Washington, D.C. UNITED STATES OF AMERICA
US-AK Alaska Division of Banking, Securities & Corporations Juneau UNITED STATES OF AMERICA
US-AL Alabama Securities Commission Montgomery UNITED STATES OF AMERICA
US-AR Arkansas Securities Department Little Rock UNITED STATES OF AMERICA
US-AZ Arizona Corporation Commission, Securities Division Phoenix UNITED STATES OF AMERICA
US-CA California Securities Regulation Division Sacramento UNITED STATES OF AMERICA
US-CO Colorado Department of Regulatory Agencies (Division of Securities) Denver UNITED STATES OF AMERICA
US-CT State of Connecticut, Department of Banking, Division of Securities Hartford County UNITED STATES OF AMERICA
US-DC Department of Insurance, Securities and Banking (DISB) Washington, D.C. UNITED STATES OF AMERICA
US-DE Delaware, Department of Justice, Division of Securities Wilmington UNITED STATES OF AMERICA
US-FL Florida, Office of Financial Regulation, Division of Securities Tallahassee UNITED STATES OF AMERICA
US-GA Georgia Secretary of State, Securities Division Atlanta UNITED STATES OF AMERICA
US-HI Hawaii, Department of Commerce & Consumer Affairs, Securities Branch Honolulu UNITED STATES OF AMERICA
US-IA Iowa Insurance Division: Securities & Regulated Industries Bureau Des Moines UNITED STATES OF AMERICA
US-ID Idaho, Department of Finance, Securities Section Boise UNITED STATES OF AMERICA
US-IL Illinois Secretary of State, Securities Department Springfield UNITED STATES OF AMERICA
US-IN Indiana Secretary of State, Securities Division Indianapolis UNITED STATES OF AMERICA
US-KS Kansas, Office of the Securities Commissioner Topeka UNITED STATES OF AMERICA
US-KY Kentucky: Department of Financial Institutions (DFI) Frankfort UNITED STATES OF AMERICA
US-LA State of Louisiana, Office of Financial Institutions, Securities Division Metairie UNITED STATES OF AMERICA
US-MA Massachusetts Securities Division, Secretary of the Commonwealth Boston UNITED STATES OF AMERICA
US-MD Maryland Attorney General – Securities Division Baltimore UNITED STATES OF AMERICA
US-ME Department of Financial Regulation, Office of Securities, State of Maine Augusta UNITED STATES OF AMERICA
US-MI Office of Financial and Insurance Services, Division of Securities Lansing UNITED STATES OF AMERICA
US-MN Minnesota Department of Commerce, Division of Securities Saint Paul UNITED STATES OF AMERICA
US-MO Missouri, Secretary of State, Securities Division Jefferson City UNITED STATES OF AMERICA
US-MS Mississippi Secretary of State, Business Regulation & Enforcement Division Jackson UNITED STATES OF AMERICA
US-MT Montana State Auditor’s Office, Securities Department Helena UNITED STATES OF AMERICA
US-NC North Carolina Securities Division Raleigh UNITED STATES OF AMERICA
US-ND North Dakota Securities Department Bismarck UNITED STATES OF AMERICA
US-NE State of Nebraska: Department of Banking and Finance (NDBF), Bureau of Securities Lincoln UNITED STATES OF AMERICA
US-NH New Hampshire, Bureau of Securities Regulation, Department of State Concord UNITED STATES OF AMERICA
US-NJ New Jersey, Department of Law and Public Safety, Bureau of Securities Newark UNITED STATES OF AMERICA
US-NM New Mexico, Regulation & Licensing Dept, Securities Division Santa Fe UNITED STATES OF AMERICA
US-NV Nevada Securities Center Las Vegas UNITED STATES OF AMERICA
US-NY State of New York, Investor Protection and Securities Bureau New York UNITED STATES OF AMERICA
US-OH Ohio, Department of Commerce, Division of Securities Columbus UNITED STATES OF AMERICA
US-OK Oklahoma Securities Commission, Department of Securities Oklahoma City UNITED STATES OF AMERICA
US-OR Oregon, Division of Finance and Corporate Securities (DFCS) Salem UNITED STATES OF AMERICA
US-PA Pennsylvania Securities Commission, Eastgate Office Building Harrisburg UNITED STATES OF AMERICA
US-RI State of Rhode Island, Department of Business Regulation Providence UNITED STATES OF AMERICA
US-SC South Carolina Attorney General, Securities Division Columbia UNITED STATES OF AMERICA
US-SD South Dakota, Division of Securities Pierre UNITED STATES OF AMERICA
US-TN Tennessee, Department of Commerce & Insurance, Securities Division Nashville UNITED STATES OF AMERICA
US-TX Texas State Securities Board Austin UNITED STATES OF AMERICA
US-UT State of Utah Division of Securities Salt Lake City UNITED STATES OF AMERICA
US-VA Virginia Division of Securities and Retail Franchising Richmond UNITED STATES OF AMERICA
US-VT Department of Banking, Insurance, Securities & Health Care Administration (BISHCA) Montpelier UNITED STATES OF AMERICA
US-WA Washington State Department of Financial Institutions (DFI), Securities Division Olympia UNITED STATES OF AMERICA
US-WI State of Wisconsin Department of Financial Institutions (WDFI) Madison UNITED STATES OF AMERICA
US-WV West Virginia, Department of Financial Institutions, Division of Securities Charleston UNITED STATES OF AMERICA
US-WY Wyoming, Secretary of State, Securities Division Cheyenne UNITED STATES OF AMERICA
UY Banco Central del Uruguay Montevideo URUGUAY
UZ Center for Coordination and Control over Functioning of Securities Market Tashkent UZBEKISTAN, REPUBLIC OF
VE Comisión Nacional de Valores Caracas VENEZUELA
VG British Virgin Islands Financial Services Commission Tortola BRITISH VIRGIN ISLANDS
VN State Securities Commission Hanoi VIETNAM
ZA Financial Services Board Pretoria SOUTH AFRICA
ZM Securities and Exchange Commission Lusaka ZAMBIA

Comment créer sa start-up ?

La jeune-pousse ou startup (ou start-up) qui vient de l’anglais startup company est une entreprise récemment formée, généralement jusqu’à son introduction en bourse. L’encyclopédie wikipédia renseigne sur le terme et sur son historique mais elle ne nous dit pas : Comment créer sa start-up ?

Une idée brillante

Tout le monde peut avoir des idées brillantes. Seulement, peu de gens ont des idées brillantes qui soient réalisables dans le monde réel.

Le meilleur moyen de fixer ses idées est de pouvoir répondre à ces questions :

  • Y a t-il un besoin essentiel à combler ?
  • ce besoin peut-il supporter une activité rentable ?
  • y a t-il de la concurrence sur ce marché ? Si oui, en quoi votre idée donne-t-elle un avantage aux utilisateurs que les concurrents n’offrent pas ?
  • est-ce que le produit/service est techniquement réalisable ?
  • est-ce qu’il est légal ?
  • est-ce sans risque ?
  • ce service est-il durable, peut-il être entretenu sur de longues années?
  • les coûts d’investissement(de départ) sont-ils en rapport avec la réalité du marché ?
  • La « période de retour sur investissement » est-elle assez courte pour s’investir dans l’activité ?
  • es ce que le produit pourra être reproduit en une ligne de produit similaires ou compatibles plus tard, si le produit originel est un succès ?
  • est-ce que vous pouvez protéger votre produit avec un brevet ou un droit de la propriété intellectuelle ?
  • le produit viole t-il la propriété intellectuelle de quelqu’un ?
  • toutes les matières entrant dans la conception sont-elles facilement disponibles

Le business plan

Il sert à prendre conscience des décisions et des étapes nécessaires à la réalisation du plan. Un bon business-plan est compréhensible aussi bien par les partenaires et les employés que par les investisseurs et capitalise la quintessence des idées de votre business. Autant dire qu’il doit être clair, concis, complet et cohérent pour être crédible. Il doit mettre en avant ce qui a été accompli et ce qu’il reste à faire. C’est donc un document obligatoire pour tout entrepreneur sérieux qui veut réussir.

Comprendre votre business!

L’analyse de la situation est décomposable en 3 parties qui permettent de prendre conscience de l’environnement dans lequel s’immergera votre entreprise, quels seront les facteurs de succès et d’échec.

1. Le Consommateur

2. La place de votre entreprise

3. La Concurrence

Le Consommateur et sa relation avec le produit

pour comprendre le consommateur et sa relation avec le produit/serveice, vous devez répondre aux questions suivantes :

Qui est le consommateur ?

  • Comment vit-il ?
  • Quel est son âge ?
  • Quel sont ses revenus ?
  • Quel est son niveau d’éducation ?
  • Combien y a t-il de consommateurs potentiels ?
  • Quel besoin ce produit satisfait-il ?
  • Comment le produit sera-t-il utilisé ?
  • Quels sont les autres utilisations du produit ?
  • Combien le consommateur va-t-il acheter d’unités ?
  • Si c’est un service, le consommateur a-t-il besoin d’être présent lorsque le service est fourni ?
  • Où le consommateur peut-il apprendre sur ce service ?
  • Qui veut, en fait, acheter le produit (mère, père, enfant ?)
  • Qui va influer sur la décision ?
  • Combien le consommateur est-il prêt à payer ?
  • De combien le prix pourra-t-il changer avant d’avoir un impact sur la décision d’achat ?

Essayer de trouver les réponses, après cela, vous aurez véritablement compris votre consommateur et votre produit/service.

La place de votre entreprise ou commencer votre activité

Répondez aux questions suivantes :

  • Quel est le coût total d’acquisition du domaine ?
  • Quel sont les coûts de maintenance ?
  • Avez vous assez d’espace ?
  • Est-ce que le lieu peut prendre en compte une bouffée soudaine de visiteurs (trafic)
  • Est-ce que le lieu est populaire ?
  • Quels sont les autres sites situés à proximité ? Complètent-ils votre business?
  • Y a-t-il une protection contre l’incendie ?
  • Est-ce que les outils de base sont disponibles à un coût raisonnable ?
  • Allez vous transporter des produit dans d’autres lieux ? Les voies sont elles sûres ?
  • Quels est l’histoire de l’endroit ?

Cela vous donnera un bon jugement.

La Concurrence

Les questions suivantes servent à analyser la concurrence.

  • Quels sont vos concurrents potentiels ?
  • Quels sont leurs qualités et quels sont leur défauts ?
  • Quels sont leur consommateurs ?
  • Pourquoi un consommateur achèterait chez vous plutôt que chez eux ?
  • Quel est le volume des ventes des concurrents ?
  • Quels sont les parts de marché des concurrents ?
  • Y a t-il moyen de racheter votre concurrent ? (franchise ou absorption)
  • Comment est positionné chaque compétiteur sur le marché ?
  • Quels sont leurs images de marque ?
  • Comment la concurrence fait-elle pour promouvoir ses produit/services ?
  • Qui sont les fournisseurs de chaque concurrent?
  • Y a t-il un nouveau concurrent qui se fait une place dans cette branche ?
  • Quels sont les qualités et les défaut de management de chaque concurrent ?
  • Est-ce que les concurrents sont bien financé ?
  • Comment sont-ils positionnés ? La concurrence est-elle rude ?
  • Est-ce que les développements technologiques affectent les concurrents ? Sont-ils mieux armés face à cela que vous ne l’êtes?
  • Comment sont notées la qualité, l’apparence, la taille du service/produit, etc?
  • Quelles garanties donnent t-il ?
  • Y a un concurrent qui a des droits exclusifs sur le marché ?
  • Quels sont leur heures d’ouverture ?
  • Quel est la saturation des autres concurrents ? Y a t’il de la place pour un autre acteur ?

Essayez de trouvez les réponses avant de lancer votre business.

Quels sont vos objectifs?

Cet exercice a pour but d’évaluer votre motivation personnelle et d’essayer d’y répondre. Si elle n’est pas suffisante, alors il faut l’améliorer ou passer le projet à quelqu’un de plus intéressé.

Quels sont vos besoins et vos buts ? Plus que le besoin d’argent, y a-t-il un besoin de reconnaissance, de réalisation, etc ? Si vous n’êtes pas intéressé, ce n’es pas la peine de perdre votre temps et celui d’autres personnes. Donc, posez vous les questions suivantes :

  • Quel est votre motivation pour lancer cette affaire ?
  • Quels sont les risques ?
  • Combien de temps comptez vous vous engager ?
  • Quel est le temps raisonnable pour atteindre vos objectifs ?
  • Quand vos objectifs personnels seront -il atteints ?
  • Serez vous capable de « survivre » en cas d’échec ?

Comment prendre la bonne décision

Il y a cinq types de décisions à prendre :

  • les décision légales (statuts juridique : SA, SARL, EURL etc)
  • les décisions à caractère humain (les employées, le recrutement, la motivation)
  • les décisions de production (qualité, coûts, matériels, logiciels etc)
  • les décisions d’achat (financement, assurance, opportunité, stockage, obsolescence, casse)
  • les décisions de vente (coûts, demande, objectifs)

Estimer le capital requis

Maintenant que vous avez une bonne idée de votre business, il va falloir lancer votre activité. Mais avant, il faut trouver des investisseurs pour régler les frais de lancement (phase de démarrage).

Restez ouvert à toute intervention extérieure. C’est le maître-mot pour ne pas manquer une opportunité. Prévoyez plus que ce dont vous avez besoin afin de pallier aux imprévus. Déterminez les coûts pour chaque phase. Faites le point à chaque phase. N’oubliez pas que la plupart des banques attendent que vous soyez rentable avant de vous prêter de l’argent. Venez donc avec des relevés de comptes (bilan, compte de résultats etc )

Comment rassembler les capitaux requis

Vous avez beaucoup plus de chances de recevoir de l’argent si vous avez un business plan complet lorsque vous approchez des investisseurs potentiels. Il convertit votre thèse idéaliste en proposition sérieuse et réfléchie.

Soyez préparé à recevoir des rejets massifs et des tournures administratives lentes. Vous allez devoir rencontrer une multitudes de personnes et être cohérent en discours et répétitif. Être capable d’accrocher votre lecteur en une phrase pour ne plus le perdre.

En allant à une banque, soyez préparé aux questions suivantes :

  • Comment l’argent sera-t-il employé ?
  • Comment l’argent sera-t-il remboursé ?
  • Quelles seront les répercussions de votre action ?
  • Êtes-vous une personne de confiance ?
  • Avez-vous l’expérience suffisante pour ce type de business?
  • Vos employées et vos managers ont-ils « les épaules assez larges » ?
  • Quels sont les prospects sur le long terme ?

Votre business plan doit tenir en 12 pages, pas plus. Ayez une introduction accrocheuse. Et donnez vos coordonnées !

Voilà l’essentiel. N’oubliez pas de compléter ce guide pour les autres entrepreneurs qui vous succéderont afin d’améliorer leur chances de succès ! Bonne chance !

Liens externes

http://www.indiahowto.com/how-to-start-company.html