Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passage d'API Légifrance bêta à Légifrance prod #17

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions codeislow.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ def legifrance_auth():


def spaces_remover(string):
return re.sub(" {2,}", " ", string)
without_spaces = re.sub(" {2,}", " ", string)
without_newlines = re.sub("\n", "", without_spaces)
return without_newlines


# Ouverture du fichier utilisateur
Expand Down Expand Up @@ -163,7 +165,7 @@ def get_article_id(article_number, code_name):
}

response = session.post(
"https://api.piste.gouv.fr/dila/legifrance-beta/lf-engine-app/search",
"https://api.piste.gouv.fr/dila/legifrance/lf-engine-app/search",
headers=headers,
json=data,
)
Expand All @@ -182,7 +184,7 @@ def get_article_id(article_number, code_name):
def get_article_content(article_id):
data = {"id": article_id}
response = session.post(
"https://api.piste.gouv.fr/dila/legifrance-beta/lf-engine-app/consult/getArticle",
"https://api.piste.gouv.fr/dila/legifrance/lf-engine-app/consult/getArticle",
headers=headers,
json=data,
)
Expand Down Expand Up @@ -247,7 +249,7 @@ def epoch_converter(epoch):
"CESEDA": r"\s*(?:du Code de l'entrée et du séjour des étrangers et du droit d'asile|CESEDA|du CESEDA)",
"CGCT": r"\s*(?:du Code général des collectivités territoriales|CGCT|du CGCT)",
"CPCE": r"\s*(?:du Code des postes et des communications électroniques|CPCE|du CPCE)",
"CENV": r"\s*(?:du Code de l'environnement|C. envir.|CE |du CE )",
"CENV": r"\s*(?:du Code de l'environnement|C. envir.|C. env.)",
"CJA": r"\s*(?:du Code de justice administrative|CJA|du CJA)",
}

Expand Down Expand Up @@ -279,6 +281,11 @@ def root():
return static_file("index.html", root=".")


@app.route("/favicon.ico")
def get_favicon():
return static_file('favicon.ico')


# Actions à effectuer à l'upload du document de l'utilisateur
@app.route("/upload", method="POST")
def do_upload():
Expand Down
Binary file added favicon.ico
Binary file not shown.
10 changes: 5 additions & 5 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
</head>
<body>
<div class="w3-container w3-blue-grey">
<h1> Code is low</h1>
<h5> Un programme expérimental par <a href="http://www.enetter.fr" target="_blank" rel="noopener">E. Netter</a> (v. 0.8) - codeislow [at] email.enetter.fr </h5>
<p> <small> Source : <a href="https://www.dila.premier-ministre.gouv.fr/" target="_blank" rel="noopener">DILA</a> - Données <a href="http://legifrance.gouv.fr">Légifrance</a> exploitées en temps réel sous <a href="https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf" rel="noopener" target="_blank">licence ouverte 2.0</a>. </small> </p>
<h1> Code is low (v. 0.81)</h1>
<h5> Par <a href="http://www.enetter.fr" target="_blank" rel="noopener">Emmanuel Netter</a>, professeur de droit - <a href="https://cv.archives-ouvertes.fr/emmanuel-netter" target="_blank" rel="noopener">Publications</a> - <a href="https://www.linkedin.com/in/emmanuel-netter/">LinkedIn</a> - codeislow [at] email.enetter.fr </h5>
<p> <small> <a href="https://github.com/emnetter/codeislow" target="_blank" rel="noopener">Code source</a> - Données <a href="http://legifrance.gouv.fr">Légifrance</a> publiées par la <a href="https://www.dila.premier-ministre.gouv.fr/" target="_blank" rel="noopener">DILA</a>, exploitées en temps réel sous <a href="https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf" rel="noopener" target="_blank">licence ouverte 2.0</a>. </small> </p>
</div>
<br>
<form class ="w3-container" action="/upload" method="post" enctype="multipart/form-data">
Expand Down Expand Up @@ -71,7 +71,7 @@ <h4> Politique de confidentialité </h4>

<p>Conformément <a href="https://github.com/emnetter/codeislow" target="_blank" rel="noopener">au code source public</a>, votre document est copié dans un fichier provisoire uniquement le temps d'être traité, puis supprimé (ligne "os.remove") avant même l'affichage des résultats. Au cas où la suppression échouerait en raison d'un bug, les fichiers sont automatiquement détruits par Heroku toutes les 24h, et le développeur s'engage à ne pas en prendre connaissance. Si vous souhaitez cependant qu'il examine votre document afin de comprendre pourquoi un examen a échoué, vous pouvez choisir de lui adresser, à l'adresse email située en haut de page. Il s'engage alors à ne l'exploiter à aucune autre fin puis à la détruire. L'échange entre votre navigateur et le serveur doit être chiffré. Si votre navigateur présente un cadenas ouvert ou indique que la connexion n'est pas sécurisée, il s'agit d'un dysfonctionnement et l'outil ne devrait pas être utilisé.</p>

<p>Il est également possible de préférer à cette application web une exécution locale du <a href="https://github.com/emnetter/codeislow">code source</a> sur votre propre système informatique. C'est le mode vivement recommandé pour le cas où votre document contiendrait des données confidentielles, particulièrement sensibles, ou soumises au secret professionnel. Rapprochez-vous de la personne responsable de vos systèmes d'information. L'ouverture d'un <a href="https://developer.aife.economie.gouv.fr/">compte développeur PISTE</a> (rapide et gratuite) sera alors nécessaire.</p>
<p>Il est également possible de préférer à cette application web une exécution locale du <a href="https://github.com/emnetter/codeislow">code source</a> sur votre propre système informatique. C'est le mode vivement recommandé pour le cas où votre document contiendrait des données confidentielles, particulièrement sensibles, ou soumises au secret professionnel. Rapprochez-vous de la personne responsable de vos systèmes d'information. L'ouverture d'un <a href="https://developer.aife.economie.gouv.fr/">compte développeur PISTE</a> (rapide et gratuite) sera alors nécessaire. Suivez <a href="https://github.com/emnetter/codeislow" target="_blank" rel="noopener">ces instructions</a>. </p>

<p>Les droits qui vous sont reconnus par le RGPD et la LIL <a href="https://enetter.fr/la-personne/chapitre-1-lidentite-numerique/section-2-la-protection-de-lidentite-numerique/ii-la-gestion-personnalisee-accessible-aux-individus/b-en-aval-de-la-collecte-des-donnees/">vous sont présentés</a> par l'auteur sur son site de chercheur en droit.</p>

Expand All @@ -93,7 +93,7 @@ <h4> Codes actuellement testés [formes abrégées reconnues] </h4> </button>
<li> Code de commerce [C. com.] </li>
<li> Code de la consommation [C. conso.] </li>
<li> Code de l'entrée et du séjour des étrangers et du droit d'asile [CESEDA] </li>
<li> Code de l'environnement [C. envir., CE]</li>
<li> Code de l'environnement [C. envir., C. env.]</li>
<li> Code général des collectivités territoriales [CGCT] </li>
<li> Code de justice administrative [CJA]</li>
<li> Code pénal [C. pén.] </li>
Expand Down
10 changes: 5 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
bottle==0.12.23
bottle==0.12.25
python-docx==0.8.11
python-dotenv==0.20.0
python-dotenv==1.0.0
odfpy==1.4.1
requests==2.27.1
pdfminer.six==20220524
urllib3~=1.26.11
requests==2.31.0
pdfminer.six==20221105
urllib3==2.0.3
PyPDF2~=2.10.2