Librairie enDI pour la gestion des encaissements
======================================================
NB : À parir de la version 2.0, cette librairie ne supporte plus python 2
Cette librairie a pour objectif de fournir un ensemble cohérent pour la gestion
des encaissements, ce afin de répondre aux exigences de la loi de finance 2018.
Le texte suivant `http://bofip.impots.gouv.fr/bofip/10691-PGP` décrit plus en
détail le besoin à couvrir
Elle fonctionne comme suit :
- Les opérations d'encaissement sont effectuées au travers d'une API publique
- Pour chaque opération d'encaissement, une entrée est écrite dans le journal
Le journal est le garant de l'intégrité des opérations d'encaissement.
Activation du module
---------------------
L'api publique est configurable dans enDI au travers du fichier de
configuration .ini.
Assurez-vous que la librairie endi_payment est bien dans les endi.includes
.. code-block:: console
endi.includes = ...
...
endi_payment
Configurez le service endi.interfaces.IPaymentRecordService
.. code-block:: console
endi.interfaces.IPaymentRecordService = endi_payment.public.PaymentService
Configurez les journaux de 'endi_payment'. Voir la documentation sur le module
python logging pour le détail : https://docs.python.org/2/library/logging.html
ainsi que les exemples dans le fichier development.ini.sample.
Configurez le service de journalisation
endi_payment.interfaces.IPaymentRecordHistoryService à utiliser.
endi_payment propose deux services de journalisation
HistoryLogService : Service par défaut, prévu pour le mode développement, se
content de journaliser les actions sans détails.
HistoryDBService : Journalise les actions effectuées dans une base de données
spécifiques (pas forcément sur le même serveur mysql)
HistoryDBService
------------------
Pour activer la journalisation détaillée dans une base de données spécifiques
ajouter la ligne suivante dans la section [app:endi] du fichier .ini
.. code-block:: console
endi_payment.interfaces.IPaymentRecordHistoryService = endi_payment.history.endi_payment.history.HistoryDBService
Créer une nouvelle base de données, vous pouvez utiliser l'utilitaire
./tools/add_payment_database.sh fournit dans le repository endi.
.. code-block:: console
cd endi/
./tools/add_payment_database.sh
# Suivez les instructions
Puis saisissez les informations de connexion de la nouvelle base de données dans
la section [app:endi] du fichier .ini
.. code-block:: console
endi_payment_db.url = mysql://endi_payment:endi_payment@localhost/endi_payment?charset=utf8
Archivage
-----------
Afin de certifier l'historique des actions sur les encaissements, endi_payment
permet l'utilisation d'un service d'archivage.
Version locale, ajouter la ligne suivante à la configuration .ini du service
endi dans la section [app:endi]
.. code-block:: console
endi_payment.interfaces.IPaymentArchiveService=endi_payment.archive.FileArchiveService
endi_payment_archive_storage_path=<chemin sur disque pour le stockage des journaux>
La version locale fournie une solution acceptable de certification des journaux
d'encaissement.
Afin d'obtenir une solution plus endurcie, on préfèrera l'utilisation d'un
service distant avec un tiers certifié.
Une configuration complète contient donc les informations suivantes
.. code-block::
endi.includes =
....
endi_payment
# Accès à la bdd de traitement des paiements
endi_payment_db.url = mysql://endi_payment:endi_payment@localhost/endi_payment?charset=utf8
# Le service qui sera utilisé depuis endi pour agir sur les encaissements
endi.interfaces.IPaymentRecordService = endi_payment.public.PaymentService
# Le service qui sera utilisé par endi_payment pour stocker l'historique des actions d'encaissement
endi_payment.interfaces.IPaymentRecordHistoryService = endi_payment.history.HistoryDBService
# Le service en charge de la génération d'une archive avec un peu de certification d'intégrité des journaux
endi_payment.interfaces.IPaymentArchiveService = endi_payment.archive.FileArchiveService
# Le chemin utilisé par le service d'archivage pour le stockage sur disque
endi_payment_archive_storage_path = /var/endi/files/treasury/payment_storage
Consultation des journaux
--------------------------
Si le service HistoryDBService est utilisé, endi_payment ajoute automatiquement
une entrée dans le menu Comptabilité d'enDI permettant la consultation du
journal des modifications apportées aux encaissements.
Raw data
{
"_id": null,
"home_page": "https://framagit.org/endi/endi_payment",
"name": "endi-payment",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "web wsgi bfg pylons pyramid endi",
"author": "Majerti",
"author_email": "equipe@majerti.fr",
"download_url": "https://files.pythonhosted.org/packages/13/3c/4d879ddf6d2faf27e04abd66fd5087055b209b433ecbd1ebb7253d95f1e6/endi_payment-2.5.1.tar.gz",
"platform": null,
"description": "Librairie enDI pour la gestion des encaissements\n======================================================\n\nNB : \u00c0 parir de la version 2.0, cette librairie ne supporte plus python 2\n\nCette librairie a pour objectif de fournir un ensemble coh\u00e9rent pour la gestion\ndes encaissements, ce afin de r\u00e9pondre aux exigences de la loi de finance 2018.\nLe texte suivant `http://bofip.impots.gouv.fr/bofip/10691-PGP` d\u00e9crit plus en\nd\u00e9tail le besoin \u00e0 couvrir\n\nElle fonctionne comme suit :\n\n- Les op\u00e9rations d'encaissement sont effectu\u00e9es au travers d'une API publique\n- Pour chaque op\u00e9ration d'encaissement, une entr\u00e9e est \u00e9crite dans le journal\n\nLe journal est le garant de l'int\u00e9grit\u00e9 des op\u00e9rations d'encaissement.\n\nActivation du module\n---------------------\n\nL'api publique est configurable dans enDI au travers du fichier de\nconfiguration .ini.\n\nAssurez-vous que la librairie endi_payment est bien dans les endi.includes\n\n.. code-block:: console\n\n endi.includes = ...\n ...\n endi_payment\n\nConfigurez le service endi.interfaces.IPaymentRecordService\n\n.. code-block:: console\n\n endi.interfaces.IPaymentRecordService = endi_payment.public.PaymentService\n\nConfigurez les journaux de 'endi_payment'. Voir la documentation sur le module\npython logging pour le d\u00e9tail : https://docs.python.org/2/library/logging.html\nainsi que les exemples dans le fichier development.ini.sample.\n\n\nConfigurez le service de journalisation\nendi_payment.interfaces.IPaymentRecordHistoryService \u00e0 utiliser.\n\nendi_payment propose deux services de journalisation\n\n\n HistoryLogService : Service par d\u00e9faut, pr\u00e9vu pour le mode d\u00e9veloppement, se\n content de journaliser les actions sans d\u00e9tails.\n\n HistoryDBService : Journalise les actions effectu\u00e9es dans une base de donn\u00e9es\n sp\u00e9cifiques (pas forc\u00e9ment sur le m\u00eame serveur mysql)\n\nHistoryDBService\n------------------\n\nPour activer la journalisation d\u00e9taill\u00e9e dans une base de donn\u00e9es sp\u00e9cifiques\najouter la ligne suivante dans la section [app:endi] du fichier .ini\n\n.. code-block:: console\n\n endi_payment.interfaces.IPaymentRecordHistoryService = endi_payment.history.endi_payment.history.HistoryDBService\n\nCr\u00e9er une nouvelle base de donn\u00e9es, vous pouvez utiliser l'utilitaire\n./tools/add_payment_database.sh fournit dans le repository endi.\n\n.. code-block:: console\n\n cd endi/\n ./tools/add_payment_database.sh\n # Suivez les instructions\n\nPuis saisissez les informations de connexion de la nouvelle base de donn\u00e9es dans\nla section [app:endi] du fichier .ini\n\n.. code-block:: console\n\n endi_payment_db.url = mysql://endi_payment:endi_payment@localhost/endi_payment?charset=utf8\n\n\nArchivage\n-----------\n\nAfin de certifier l'historique des actions sur les encaissements, endi_payment\npermet l'utilisation d'un service d'archivage.\n\nVersion locale, ajouter la ligne suivante \u00e0 la configuration .ini du service\nendi dans la section [app:endi]\n\n.. code-block:: console\n\n endi_payment.interfaces.IPaymentArchiveService=endi_payment.archive.FileArchiveService\n endi_payment_archive_storage_path=<chemin sur disque pour le stockage des journaux>\n\nLa version locale fournie une solution acceptable de certification des journaux\nd'encaissement.\n\nAfin d'obtenir une solution plus endurcie, on pr\u00e9f\u00e8rera l'utilisation d'un\nservice distant avec un tiers certifi\u00e9.\n\n\nUne configuration compl\u00e8te contient donc les informations suivantes\n\n\n.. code-block::\n\n endi.includes =\n ....\n endi_payment\n\n # Acc\u00e8s \u00e0 la bdd de traitement des paiements\n endi_payment_db.url = mysql://endi_payment:endi_payment@localhost/endi_payment?charset=utf8\n\n # Le service qui sera utilis\u00e9 depuis endi pour agir sur les encaissements\n endi.interfaces.IPaymentRecordService = endi_payment.public.PaymentService\n\n # Le service qui sera utilis\u00e9 par endi_payment pour stocker l'historique des actions d'encaissement\n endi_payment.interfaces.IPaymentRecordHistoryService = endi_payment.history.HistoryDBService\n\n # Le service en charge de la g\u00e9n\u00e9ration d'une archive avec un peu de certification d'int\u00e9grit\u00e9 des journaux\n endi_payment.interfaces.IPaymentArchiveService = endi_payment.archive.FileArchiveService\n\n # Le chemin utilis\u00e9 par le service d'archivage pour le stockage sur disque\n endi_payment_archive_storage_path = /var/endi/files/treasury/payment_storage\n\n\nConsultation des journaux\n--------------------------\n\nSi le service HistoryDBService est utilis\u00e9, endi_payment ajoute automatiquement\nune entr\u00e9e dans le menu Comptabilit\u00e9 d'enDI permettant la consultation du\njournal des modifications apport\u00e9es aux encaissements.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "endi_payment",
"version": "2.5.1",
"project_urls": {
"Homepage": "https://framagit.org/endi/endi_payment"
},
"split_keywords": [
"web",
"wsgi",
"bfg",
"pylons",
"pyramid",
"endi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ae8d3564dd9655ad5c4e3cc6755d3f7bec84e05ce1fbf9436a8b393190a7b817",
"md5": "b91383901202036b156f2586469f5731",
"sha256": "3845706b9a35d1b88b5297df6ec15f9b8f4e8ca4577428c114079580044efd04"
},
"downloads": -1,
"filename": "endi_payment-2.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b91383901202036b156f2586469f5731",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 35437,
"upload_time": "2024-02-20T10:27:35",
"upload_time_iso_8601": "2024-02-20T10:27:35.652217Z",
"url": "https://files.pythonhosted.org/packages/ae/8d/3564dd9655ad5c4e3cc6755d3f7bec84e05ce1fbf9436a8b393190a7b817/endi_payment-2.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "133c4d879ddf6d2faf27e04abd66fd5087055b209b433ecbd1ebb7253d95f1e6",
"md5": "9d39f58dbf1b53610dbfaf8e1e6c0c32",
"sha256": "0ca846d94e6621b99eede619c858a3a2bb28684e7a0460209740b54e223dee26"
},
"downloads": -1,
"filename": "endi_payment-2.5.1.tar.gz",
"has_sig": false,
"md5_digest": "9d39f58dbf1b53610dbfaf8e1e6c0c32",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28732,
"upload_time": "2024-02-20T10:27:38",
"upload_time_iso_8601": "2024-02-20T10:27:38.099497Z",
"url": "https://files.pythonhosted.org/packages/13/3c/4d879ddf6d2faf27e04abd66fd5087055b209b433ecbd1ebb7253d95f1e6/endi_payment-2.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-20 10:27:38",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "endi-payment"
}