Skip to content

EDOF Parse csv file that list all the offers of a French school to generate xml file that will feed government CPF new App

License

Notifications You must be signed in to change notification settings

73k05/cpf-app-xml-generator

Repository files navigation

CPF EDOF générateur de fichier XML

Les citoyens français ont la possibilité d'utiliser leur Compte Professionel de Formation (CPF) pour se former auprés d'organismes certifiants. Afin de retrouver la liste des formations de votre organisme (OF) sur la plateforme (et par conséquent l'application) proposée par l'Espace des Organismes de Formation (EDOF) du gouvernement il est nécessaire de générer un fichier XML.

preview of app on store

Si vous êtes organisme de formation, cette page est faite pour vous!

Ce projet contient le code serveur BO développé en Python avec un petit front designé avec Bootstrap. Les sources permettent de déployer un petit Site Web grâce à la librairie Flask. Cette plateforme est hébergée sur votre ordinateur en local ou en ligne sur un serveur VPS par exemple. Une fois le serveur déployé très simplement, il suffit de téléverser un fichier CSV contenant toutes les formations EDOF lignes par ligne de votre Organisme de Formation. Chaque formation correspond à une ligne du fichier CSV et chaque colonne est une balise du fichier XML qui sera généré en sortie.

preview of app on store

Parse csv file that list all the offers of a French school to generate xml file that will feed government CPF new App. https://play.google.com/store/apps/details?id=fr.icdc.sl6.app Mon compte formation

Installation

Install dependencies

pip3 install -r requirements.txt

Start server

DEV Without SSL

This command should be enough to start the serveur and test locally:

python3 __main__.py -d "./upload" --password "*" --env DEV > server.log

PROD With SSL (PROD: Advanced Users)

python3 restart.py

Or

python3 __main__.py --ssl -d "./upload" --password "*" --env PROD > server.log

XSD validation

Always validate your generated XML file before submitting it to EDOF: https://www.freeformatter.com/xml-validator-xsd.html

Server fault restart

Sometimes the server crashes for some reason, we periodically restart it with crontab. Add this line to crontab -e

00 */8 * * * /bin/bash -l -c 'currentDate=`date +"\%Y-\%m-\%d"`;cd /root/cpf-app-xml-generator; cp logs/server.log logs/`echo $currentDate`.log;python3 restart.py > logs/server.log 2>&1 &'

Certificates (PROD: Advanced Users)

Use LetsEncrypt to create certificates on your machine: https://certbot.eff.org/instructions?ws=other&os=ubuntufocal Then modify config/config.ini file to update paths:

CERTIFICATE_PATH = /etc/letsencrypt/live/*/fullchain.pem
PRIVATE_KEY_PATH = /etc/letsencrypt/live/*/privkey.pem         

Open and save input file

Use trame.csv to base your example and open/save with utf-8 encoding. Ouput xml file will be iso-8859-1 encoded. Please use libreoffice to edit trame.csv and not office

Open

open trame.csv

Save

save tram.csv

UpDog is used to serve & upload files (Advanced Users)

Version 1.4 Python 3.10.6 MIT License

updog

Updog is a replacement for Python's SimpleHTTPServer. It allows uploading and downloading via HTTP/S, can set ad hoc SSL certificates and use HTTP basic auth.

Updog screenshot

Usage

updog [-d DIRECTORY] [-p PORT] [--password PASSWORD] [--ssl]

Argument Description
-d DIRECTORY, --directory DIRECTORY Root directory [Default=.]
-p PORT, --port PORT Port to serve [Default=9090]
--password PASSWORD Use a password to access the page. (No username)
--ssl Enable transport encryption via SSL
--version Show version
-h, --help Show help

About

EDOF Parse csv file that list all the offers of a French school to generate xml file that will feed government CPF new App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published