<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>encadre, branch HEAD</title>
<subtitle>Encadre, petit framework web Python (Flask) : contrôleurs en greffons, validation, tests
</subtitle>
<entry>
<id>b2b190b8bd209be83ccbe820c9b2407931d39a3a</id>
<published>2026-10-17T20:15:48Z</published>
<updated>2026-10-17T20:15:48Z</updated>
<title>Ne plus suivre les fichiers compilés (__pycache__, *.pyc) ni build/ et dist/</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/b2b190b8bd209be83ccbe820c9b2407931d39a3a.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit b2b190b8bd209be83ccbe820c9b2407931d39a3a
parent 038c0ecc7a9757e3197b1ebd39054281493c14ce
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Sat, 17 Oct 2026 16:15:48 -0400

Ne plus suivre les fichiers compilés (__pycache__, *.pyc) ni build/ et dist/

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01NezW9k9RsGdD9Po82BD4Vv

</content>
</entry>
<entry>
<id>038c0ecc7a9757e3197b1ebd39054281493c14ce</id>
<published>2026-10-17T20:15:31Z</published>
<updated>2026-10-17T20:15:31Z</updated>
<title>Tests internes réparés (unittest au lieu de nose) ; version 0.3.2</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/038c0ecc7a9757e3197b1ebd39054281493c14ce.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 038c0ecc7a9757e3197b1ebd39054281493c14ce
parent 9fe5e43f881e39d59f051d93bf0a3725d9177dd0
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Sat, 17 Oct 2026 16:15:31 -0400

Tests internes réparés (unittest au lieu de nose) ; version 0.3.2

- Encadre(None) refonctionne : sans moteur configuré, le constructeur ne
  crée pas de framework (cassé depuis 1783a7a « Expose framework », qui
  créait le moteur dans __init__) ; les applications configurées ne
  changent pas.
- make tests : unittest + coverage (nose ne marche plus depuis Python
  3.12, module imp retiré) ; extra « test » sans nose.
- get_controllers_tsts ne recopie plus testcase_cls (unittest le prenait
  pour un test) ; TestFramework.send_bytes referme le fichier comme
  send_file.
- Test ajouté pour Hello_3.dividebyzero.

35 tests OK, sans avertissement (DeprecationWarning et ResourceWarning en
erreur) ; galva charge ses 531 routes avec ce code.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01NezW9k9RsGdD9Po82BD4Vv

</content>
</entry>
<entry>
<id>9fe5e43f881e39d59f051d93bf0a3725d9177dd0</id>
<published>2026-10-17T18:41:39Z</published>
<updated>2026-10-17T18:43:30Z</updated>
<title>README : présentation courte, liens vers la documentation et le dépôt</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/9fe5e43f881e39d59f051d93bf0a3725d9177dd0.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 9fe5e43f881e39d59f051d93bf0a3725d9177dd0
parent 522339056484160655dba898047c77e56a5af6ae
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Sat, 17 Oct 2026 14:41:39 -0400

README : présentation courte, liens vers la documentation et le dépôt

L&#39;ancien README décrivait un setup.py et montait ses exemples au mauvais
endroit ; la documentation à jour est sur https://schurger.org/pages/encadre.html.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01NezW9k9RsGdD9Po82BD4Vv

</content>
</entry>
<entry>
<id>522339056484160655dba898047c77e56a5af6ae</id>
<published>2026-10-17T17:43:15Z</published>
<updated>2026-10-17T17:43:15Z</updated>
<title>pyproject : URL du projet sur git.schurger.org</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/522339056484160655dba898047c77e56a5af6ae.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 522339056484160655dba898047c77e56a5af6ae
parent 617304f7cf65b98d89e8d9b07f0dd4f0fad315d3
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Sat, 17 Oct 2026 13:43:15 -0400

pyproject : URL du projet sur git.schurger.org

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01NezW9k9RsGdD9Po82BD4Vv

</content>
</entry>
<entry>
<id>617304f7cf65b98d89e8d9b07f0dd4f0fad315d3</id>
<published>2026-09-18T12:42:10Z</published>
<updated>2026-09-18T12:42:10Z</updated>
<title>flask: keep pending Set-Cookie on flask.g, not on the shared framework.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/617304f7cf65b98d89e8d9b07f0dd4f0fad315d3.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 617304f7cf65b98d89e8d9b07f0dd4f0fad315d3
parent 38668bb4e59540d028ae0d273fc5eb395ed4d248
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Fri, 18 Sep 2026 08:42:10 -0400

flask: keep pending Set-Cookie on flask.g, not on the shared framework.

With uwsgi threads=2 the framework singleton&#39;s _cookies list was shared
by concurrent requests: a /auth/refresh rotating user B&#39;s refresh cookie
could be flushed into the response of an unrelated request from user A,
whose device then refreshed as B (drivers seeing another driver&#39;s
orders, tablets &#39;changing user&#39; without any login).

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;

</content>
</entry>
<entry>
<id>38668bb4e59540d028ae0d273fc5eb395ed4d248</id>
<published>2026-01-16T14:11:58Z</published>
<updated>2026-01-16T14:11:58Z</updated>
<title>Updated for python 3.13.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/38668bb4e59540d028ae0d273fc5eb395ed4d248.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 38668bb4e59540d028ae0d273fc5eb395ed4d248
parent b94b51815585146842f1e2e31816ae668d36e6a8
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Fri, 16 Jan 2026 09:11:58 -0500

Updated for python 3.13.

</content>
</entry>
<entry>
<id>b94b51815585146842f1e2e31816ae668d36e6a8</id>
<published>2025-12-26T18:04:13Z</published>
<updated>2025-12-26T18:04:13Z</updated>
<title>Set python version according to entry points way to works.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/b94b51815585146842f1e2e31816ae668d36e6a8.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit b94b51815585146842f1e2e31816ae668d36e6a8
parent 920c1d3bb4c73ece4f2433cb911454e0d3e857bc
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Fri, 26 Dec 2025 13:04:13 -0500

Set python version according to entry points way to works.

</content>
</entry>
<entry>
<id>920c1d3bb4c73ece4f2433cb911454e0d3e857bc</id>
<published>2025-12-26T17:38:35Z</published>
<updated>2025-12-26T17:38:35Z</updated>
<title>Converted to pyproject.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/920c1d3bb4c73ece4f2433cb911454e0d3e857bc.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 920c1d3bb4c73ece4f2433cb911454e0d3e857bc
parent 29d5f7c338af1ab93ccf2549835b03bdebc8dade
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Fri, 26 Dec 2025 12:38:35 -0500

Converted to pyproject.

</content>
</entry>
<entry>
<id>29d5f7c338af1ab93ccf2549835b03bdebc8dade</id>
<published>2025-07-08T13:22:52Z</published>
<updated>2025-07-08T13:22:52Z</updated>
<title>Exposed form.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/29d5f7c338af1ab93ccf2549835b03bdebc8dade.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 29d5f7c338af1ab93ccf2549835b03bdebc8dade
parent 42910f647aaf4a58b6368a088e945899bedfc81e
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Tue,  8 Jul 2025 09:22:52 -0400

Exposed form.

</content>
</entry>
<entry>
<id>42910f647aaf4a58b6368a088e945899bedfc81e</id>
<published>2025-05-17T17:49:19Z</published>
<updated>2025-05-17T17:49:19Z</updated>
<title>Allow file uploads.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/42910f647aaf4a58b6368a088e945899bedfc81e.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 42910f647aaf4a58b6368a088e945899bedfc81e
parent 8e1b70e97eddfa0381158f3f0b1ac35e2fc32d13
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Sat, 17 May 2025 13:49:19 -0400

Allow file uploads.

</content>
</entry>
<entry>
<id>8e1b70e97eddfa0381158f3f0b1ac35e2fc32d13</id>
<published>2025-03-12T15:06:10Z</published>
<updated>2025-03-12T15:06:10Z</updated>
<title>Bumped version.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/8e1b70e97eddfa0381158f3f0b1ac35e2fc32d13.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 8e1b70e97eddfa0381158f3f0b1ac35e2fc32d13
parent 500e5134123b798bbd27e73e12f3bc56d653fca9
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 12 Mar 2025 16:06:10 +0100

Bumped version.

</content>
</entry>
<entry>
<id>500e5134123b798bbd27e73e12f3bc56d653fca9</id>
<published>2025-03-12T15:05:57Z</published>
<updated>2025-03-12T15:05:57Z</updated>
<title>Get the right variables when method is decorated.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/500e5134123b798bbd27e73e12f3bc56d653fca9.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 500e5134123b798bbd27e73e12f3bc56d653fca9
parent 7c4b4265c744faffa1a13de094b874f7155c5c27
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 12 Mar 2025 16:05:57 +0100

Get the right variables when method is decorated.

</content>
</entry>
<entry>
<id>7c4b4265c744faffa1a13de094b874f7155c5c27</id>
<published>2025-03-12T14:10:33Z</published>
<updated>2025-03-12T14:10:33Z</updated>
<title>Added cryptography dependency for SSL support.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/7c4b4265c744faffa1a13de094b874f7155c5c27.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 7c4b4265c744faffa1a13de094b874f7155c5c27
parent 92d87fbbfd8d266a6e0756fcad9ffd6b15e5e26a
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 12 Mar 2025 15:10:33 +0100

Added cryptography dependency for SSL support.

</content>
</entry>
<entry>
<id>92d87fbbfd8d266a6e0756fcad9ffd6b15e5e26a</id>
<published>2025-03-12T09:19:13Z</published>
<updated>2025-03-12T09:19:13Z</updated>
<title>Fixed ssl_context.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/92d87fbbfd8d266a6e0756fcad9ffd6b15e5e26a.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 92d87fbbfd8d266a6e0756fcad9ffd6b15e5e26a
parent ae988182f8c3e28416cefed0c2b0f3096f9b27ac
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 12 Mar 2025 10:19:13 +0100

Fixed ssl_context.

</content>
</entry>
<entry>
<id>ae988182f8c3e28416cefed0c2b0f3096f9b27ac</id>
<published>2025-03-12T09:14:58Z</published>
<updated>2025-03-12T09:14:58Z</updated>
<title>Allow ssl_context from env.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/ae988182f8c3e28416cefed0c2b0f3096f9b27ac.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit ae988182f8c3e28416cefed0c2b0f3096f9b27ac
parent 8e60cdba6f40a11ec1b765546ae2093779dd3f72
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 12 Mar 2025 10:14:58 +0100

Allow ssl_context from env.

</content>
</entry>
<entry>
<id>8e60cdba6f40a11ec1b765546ae2093779dd3f72</id>
<published>2025-03-12T09:08:54Z</published>
<updated>2025-03-12T09:08:54Z</updated>
<title>Allow kwargs for serve.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/8e60cdba6f40a11ec1b765546ae2093779dd3f72.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 8e60cdba6f40a11ec1b765546ae2093779dd3f72
parent 1783a7a4a601dc83a0218d45e376383b034132b7
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 12 Mar 2025 10:08:54 +0100

Allow kwargs for serve.

</content>
</entry>
<entry>
<id>1783a7a4a601dc83a0218d45e376383b034132b7</id>
<published>2025-03-07T13:08:42Z</published>
<updated>2025-03-07T13:08:42Z</updated>
<title>Expose framework.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/1783a7a4a601dc83a0218d45e376383b034132b7.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 1783a7a4a601dc83a0218d45e376383b034132b7
parent e6da3cfd64654b1344f1f4d8a0a083cb63746214
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Fri,  7 Mar 2025 14:08:42 +0100

Expose framework.

</content>
</entry>
<entry>
<id>e6da3cfd64654b1344f1f4d8a0a083cb63746214</id>
<published>2025-02-27T09:37:07Z</published>
<updated>2025-02-27T09:37:07Z</updated>
<title>Line too long.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/e6da3cfd64654b1344f1f4d8a0a083cb63746214.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit e6da3cfd64654b1344f1f4d8a0a083cb63746214
parent 22240022d29b386c6b7afdcb9513976eb818cad6
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Thu, 27 Feb 2025 10:37:07 +0100

Line too long.

</content>
</entry>
<entry>
<id>22240022d29b386c6b7afdcb9513976eb818cad6</id>
<published>2025-02-26T21:24:02Z</published>
<updated>2025-02-26T21:24:02Z</updated>
<title>Bumped version.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/22240022d29b386c6b7afdcb9513976eb818cad6.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 22240022d29b386c6b7afdcb9513976eb818cad6
parent 70130d628c3cf8b4ee5c63395501135342282ccf
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 26 Feb 2025 22:24:02 +0100

Bumped version.

</content>
</entry>
<entry>
<id>70130d628c3cf8b4ee5c63395501135342282ccf</id>
<published>2025-02-25T12:17:35Z</published>
<updated>2025-02-25T12:17:35Z</updated>
<title>Don&#39;t route controller class starting with &#39;_&#39;, added some logging.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/70130d628c3cf8b4ee5c63395501135342282ccf.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 70130d628c3cf8b4ee5c63395501135342282ccf
parent 93a352a62b2a279869336c9118f9d95cc894b8f2
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Tue, 25 Feb 2025 13:17:35 +0100

Don&#39;t route controller class starting with &#39;_&#39;, added some logging.

</content>
</entry>
<entry>
<id>93a352a62b2a279869336c9118f9d95cc894b8f2</id>
<published>2025-02-20T16:32:16Z</published>
<updated>2025-02-20T16:32:16Z</updated>
<title>Update Makefile after rename.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/93a352a62b2a279869336c9118f9d95cc894b8f2.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 93a352a62b2a279869336c9118f9d95cc894b8f2
parent a9d80d185f5de3686b450e9a3e4d466e55b68f0b
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Thu, 20 Feb 2025 11:32:16 -0500

Update Makefile after rename.

</content>
</entry>
<entry>
<id>a9d80d185f5de3686b450e9a3e4d466e55b68f0b</id>
<published>2025-02-20T16:31:34Z</published>
<updated>2025-02-20T16:31:34Z</updated>
<title>Renamed.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/a9d80d185f5de3686b450e9a3e4d466e55b68f0b.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit a9d80d185f5de3686b450e9a3e4d466e55b68f0b
parent 19716fbc6735b0183ae7c8dfc4400bb8c65f7e03
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Thu, 20 Feb 2025 11:31:34 -0500

Renamed.

</content>
</entry>
<entry>
<id>19716fbc6735b0183ae7c8dfc4400bb8c65f7e03</id>
<published>2025-02-20T16:10:22Z</published>
<updated>2025-02-20T16:10:22Z</updated>
<title>Cleanup.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/19716fbc6735b0183ae7c8dfc4400bb8c65f7e03.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 19716fbc6735b0183ae7c8dfc4400bb8c65f7e03
parent b713446f491b99a0dfcc1224fe86cf58baa1e3a9
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Thu, 20 Feb 2025 11:10:22 -0500

Cleanup.

</content>
</entry>
<entry>
<id>b713446f491b99a0dfcc1224fe86cf58baa1e3a9</id>
<published>2025-02-19T22:17:53Z</published>
<updated>2025-02-19T22:17:53Z</updated>
<title>Added JWT.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/b713446f491b99a0dfcc1224fe86cf58baa1e3a9.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit b713446f491b99a0dfcc1224fe86cf58baa1e3a9
parent df46500ce6590b8a04f92ca297341822b8b43eaf
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 19 Feb 2025 17:17:53 -0500

Added JWT.

</content>
</entry>
<entry>
<id>df46500ce6590b8a04f92ca297341822b8b43eaf</id>
<published>2025-02-19T22:17:10Z</published>
<updated>2025-02-19T22:17:10Z</updated>
<title>Cleanup.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/df46500ce6590b8a04f92ca297341822b8b43eaf.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit df46500ce6590b8a04f92ca297341822b8b43eaf
parent 8c1af7cdbba2750cb2424c03318fef5251443568
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Wed, 19 Feb 2025 17:17:10 -0500

Cleanup.

</content>
</entry>
<entry>
<id>8c1af7cdbba2750cb2424c03318fef5251443568</id>
<published>2024-12-17T17:54:00Z</published>
<updated>2024-12-17T17:54:00Z</updated>
<title>Imported.</title>
<link rel="alternate" type="text/html" href="https://git.schurger.org/encadre/commit/8c1af7cdbba2750cb2424c03318fef5251443568.html" />
<author>
<name>Jean Schurger</name>
<email>jean@schurger.org</email>
</author>
<content>commit 8c1af7cdbba2750cb2424c03318fef5251443568
Author: Jean Schurger &lt;jean@schurger.org&gt;
Date:   Tue, 17 Dec 2024 12:54:00 -0500

Imported.

</content>
</entry>
</feed>
