Bienvenue dans la documentation utilisateur de la plateforme de la passerelle DELTIC. Cette plateforme permet de gérer les passerelles entre les solutions utilisées par l'entreprise DELTIC.
L’application as pour but de gérer les liens entre les logiciels des clients de la société DELTIC
💡 GitHub : [ici](https://github.com/Mhivelin/passerelle_deltic)-
Se connecter sur l’invite de commande du serveur (cf : 👀)
-
Cloner le dépôt :
git clone https://github.com/Mhivelin/passerelle_deltic
-
Changer de répertoire courant pour aller dans le dépôt :
cd passerelle_deltic
-
Créer un fichier .env ✏️
nano app/.env
Avec les valeurs suivantes :
🚨 Remplacer les valeurs temporaires par les bonnes informations puis sauvegarder (ctrl + s) puis fermer (ctrl + x)
💡 comment trouver l’adresse IP ? `ip a`ADMIN_USERNAME=nomadmin ADMIN_PASSWORD=motdepasseadmin SECRET_KEY=cléesecurisée JWT_SECRET_KEY=cléesecurisée IP=adresseipdelhote
-
Lancer le container docker
sudo docker compose up -d
Voila votre application est lancée ✅ vous pouvez la retrouver sur le port 5000 de votre serveur.
-
en cas de problème, défilez ce menu ou vérifiez si une solution n’est pas apporté dans Problèmes Courants et Solutions
Avant d'installer des logiciels, il est important de mettre à jour les paquets de votre système Debian.
bashCopy code sudo apt update sudo apt upgrade -y
Git est nécessaire pour cloner le dépôt du projet.
bashCopy code sudo apt install git -y
Docker est utilisé pour exécuter l'application dans un container.
bashCopy code sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
bashCopy code curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
bashCopy code echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
bashCopy code sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y
bashCopy code sudo docker run hello-world
Docker Compose est utilisé pour gérer les services de l'application.
bashCopy code sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
bashCopy code docker-compose --version
Clonez le dépôt contenant le code source de l'application.
bashCopy code git clone https://github.com/Mhivelin/passerelle_deltic cd passerelle_deltic
Créez un fichier
.env
avec les variables nécessaires.bashCopy code nano app/.env
Ajoutez les valeurs suivantes dans le fichier
.env
:bashCopy code ADMIN_USERNAME=nomadmin ADMIN_PASSWORD=motdepasseadmin SECRET_KEY=cléesecurisée JWT_SECRET_KEY=cléesecurisée IP=adresseipdelhote
Sauvegardez (Ctrl + S) et fermez (Ctrl + X) l'éditeur.
Utilisez Docker Compose pour lancer l'application.
bashCopy code docker-compose up -d
Voilà, votre application est maintenant configurée et en cours d'exécution sur une machine Debian. Vous pouvez accéder à l'application via l'adresse IP spécifiée.
🚨 Problèmes Courants et Solutions
💡 Comment se connecter au serveur OVH ?-
Obtenir les Informations de Connexion 🔐
Vous aurez besoin des informations suivantes pour vous connecter au serveur Debian :
- L'adresse IP :
vps-43199aa1.vps.ovh.net
- Le nom d'utilisateur :
debian
- Le mot de passe de l'utilisateur ou la clé SSH privée si vous utilisez l'authentification par clé publique. disponible sur
LastPass
- L'adresse IP :
-
Installer un Client SSH 🧑💻
- Vous pouvez utiliser PuTTY, un client SSH populaire pour Windows.
- Téléchargez PuTTY depuis le site officiel.
- Installez PuTTY en suivant les instructions d'installation.
-
Se connecter au la VM 🔌
- Ouvrez PuTTY.
- Dans
Host Name (or IP address)
entrerdebian@vps-43199aa1.vps.ovh.net
- cliquer sur
open
(puis surAccept
seulement pour la première utilisation) - entrer le mot de passe (trouvé sur LastPass) 🚨 Attention, pour des raison de sécurité, les caractères tapé ne s’affichent pas 🚨
- Se rendre dans les paramètres en haut a droite ⚙️
- Cliquer sur
Ajouter un utilisateur
dansGestion des utilisateurs
➕ - Entrer le nouveau nom d’utilisateur et le mot de passe 🖍️
- Se reconnecter a l’application (avec l’ancien ou le nouvel utilisateur) 🔓
Nom | ❔Comment l’obtenir ? |
---|---|
Zeendoc_Login | |
Zeendoc_URL_Client | |
Zeendoc_CPassword | |
Zeendoc_CLASSEUR |
Nom | ❔Comment l’obtenir ? |
---|---|
Client ID | Option 1 : Obtenu par le client lors de la mise en place de son logiciel EBP |
Option 2 : Demander a l’intégrateur | |
Client Secret | Option 1 : Obtenu par le client lors de la mise en place de son logiciel EBP |
Option 2 : Demander a l’intégrateur | |
Subscription Key | Disponible sur le lien suivant : https://developpeurs.ebp.com/profile |
Se connecter avec le compte du client | |
identifiants de connexion | |
(mail + mot de passe) | Option 1 : Le client fournis ces identifiants |
Option 2 : le client participe à l’installation |
Nom | ❔Comment l’obtenir ? |
---|---|
Sellsy Client ID
Sellsy Client Secret | 1. 👀 Se rendre sur https://www.sellsy.com/developer/api-v2 2. ➕ Créer un nouvel accès API de type Personnel (le nom de l’accès n’impactera pas la suite). 3. ❌ Ne pas cocher l’accès délégué. 4. ✅ laisser toutes les autorisation cochée 5. 🛟 Enregistrer. 🚨Attention, les information qui s’affiche maintenant ne seront plus visible par la suite donc penser a bien les enregistrer dans LastPass par exemple🚨 |
💡 pour ajouter un client a la passerelle, vous aurez besoin de quelques informations au préalable.Il existe deux version de cette Passerelle, la version
Date
qui remonte la date 📆 du dernier paiement et la versionstatut
qui remonte simplement l’information de paiement ✅
- Cliquer sur “Ajouter un client” pour se rendre sur la page d’ajout d’un client.
- Entrer le nom du client et valider en cliquant sur ajouter.
- Sur la page d’accueil, cliquer sur détail puis sur “connecter une passerelle”.
- choisir la passerelle “remontée de paiement” et cliquer sur ajouter.
- Sur la page d’accueil, cliquer sur détail puis sur "Ajouter/modifier des champs requis”.
- remplir les champs
EBP_Client_ID
EBP_Client_Secret
EBP_Subscription_Key
Zeendoc_Login
Zeendoc_URL_Client
Zeendoc_CPassword
puis cliquer sur ajouter. - retourner sur “Ajouter/modifier des champs requis” et cliquer sur “Se connecter à EBP :
Connexion
” - Apres la redirection :
- OPTION 1 : Page de connexion d’ebp : se connecter avec les identifiants de connexion du client
- OPTION 2 : Page d’erreur 404 : les information renseigné dans
EBP_Client_ID
ouEBP_Client_Secret
ouEBP_Subscription_Key
sont erronée. - OPTION 3 : connexion au mauvais compte : en cas de connexion automatique a un autre compte EBP, refaire la manip en navigation privée
- retourner sur “Ajouter/modifier des champs requis” et sélectionner
Dossier EBP
Classeur Zeendoc
INDEX_STATUT_PAIEMENT
etINDEX_NUM_PIECE
puis ajouter. - Vérifier le bon fonctionnement sur le logiciel zeendoc
- Bravo 😀 !!
sequenceDiagram
participant Passerelle
participant EBP
participant Zeendoc
Passerelle->>EBP: Se connecter à l'API EBP
EBP-->>Passerelle: Authentification réussie
Passerelle->>EBP: Récupérer les documents payés
EBP-->>Passerelle: Document payé
Passerelle->>Zeendoc: Se connecter à l'API Zeendoc
Zeendoc-->>Passerelle: Authentification réussie
loop Pour chaque document payé
Passerelle->>Zeendoc: Rechercher le document par référence
Zeendoc-->>Passerelle: Détails du document
Passerelle->>Zeendoc: Mettre à jour l'index de paiement à "payé"
Zeendoc-->>Passerelle: Confirmation de mise à jour
end
sequenceDiagram
participant Passerelle
participant Sellsy
participant Zeendoc
Passerelle->>Sellsy: Se connecter à l'API Sellsy
Sellsy-->>Passerelle: Authentification réussie
Passerelle->>Sellsy: Récupérer les documents payés
Sellsy-->>Passerelle: Document payé
loop Pour chaque document payé
Passerelle->>Sellsy: Récuperer les information de paiement
Sellsy-->>Passerelle: information de paiement
Passerelle->>Zeendoc: Se connecter à l'API Zeendoc
Zeendoc-->>Passerelle: Authentification réussie
Passerelle->>Zeendoc: Rechercher le document par référence facture
Zeendoc-->>Passerelle: Détails du document
Passerelle->>Zeendoc: Mettre à jour l'index de paiement à la date récuperée
Zeendoc-->>Passerelle: Confirmation de mise à jour
end
classDiagram
class CLIENT {
INTEGER idClient
TEXT Username
PRIMARY KEY(idClient)
}
class LOGICIEL {
INTEGER IdLogiciel
TEXT LibLogiciel
PRIMARY KEY(IdLogiciel)
}
class PASSERELLE {
INTEGER IdPasserelle
TEXT LibPasserelle
PRIMARY KEY(IdPasserelle)
}
class CHAMPS {
INTEGER IdChamp
TEXT lib_champ
TEXT nomTable
INTEGER IdPasserelle
INTEGER IdLogiciel
PRIMARY KEY(IdChamp)
FOREIGN KEY(IdPasserelle) REFERENCES PASSERELLE(IdPasserelle)
FOREIGN KEY(IdLogiciel) REFERENCES LOGICIEL(IdLogiciel)
}
class PASSERELLE_CLIENT {
INTEGER IdPasserelleClient
INTEGER IdPasserelle
INTEGER idClient
PRIMARY KEY(IdPasserelleClient)
FOREIGN KEY(IdPasserelle) REFERENCES PASSERELLE(IdPasserelle)
FOREIGN KEY(idClient) REFERENCES CLIENT(idClient)
}
class CONNECT_LOGICIEL {
INTEGER IdLogiciel
INTEGER IdPasserelle
NUMERIC IsSource
PRIMARY KEY(IdLogiciel, IdPasserelle)
FOREIGN KEY(IdLogiciel) REFERENCES LOGICIEL(IdLogiciel)
FOREIGN KEY(IdPasserelle) REFERENCES PASSERELLE(IdPasserelle)
}
class CHAMP_PASSERELLE {
INTEGER IdChamp
INTEGER IdPasserelleClient
TEXT Valeur
PRIMARY KEY(IdChamp, IdPasserelleClient)
FOREIGN KEY(IdChamp) REFERENCES CHAMPS(IdChamp)
FOREIGN KEY(IdPasserelleClient) REFERENCES PASSERELLE_CLIENT(IdPasserelleClient)
}
CLIENT --> PASSERELLE_CLIENT : idClient
LOGICIEL --> CHAMPS : IdLogiciel
PASSERELLE --> CHAMPS : IdPasserelle
PASSERELLE --> PASSERELLE_CLIENT : IdPasserelle
LOGICIEL --> CONNECT_LOGICIEL : IdLogiciel
PASSERELLE --> CONNECT_LOGICIEL : IdPasserelle
CHAMPS --> CHAMP_PASSERELLE : IdChamp
PASSERELLE_CLIENT --> CHAMP_PASSERELLE : IdPasserelleClient