Nouveau service app/services/reglages_acces.py (patron llm_config/sso_config : ligne unique en base qui prime sur la variable INSCRIPTION_LOCALE_OUVERTE) : réglage d'administration « inscription locale ouverte », fermée par défaut (décision de Bruno : les comptes naissent dans le Hub), réversible via GET/PUT /api/admin/reglages-acces.
Fermée : POST /auth/register → 403 ; GET /auth/register → page de refus propre en français nommant le Hub Dracodev (lien dérivé de l'hôte via draco_urls.hub_url()) ; onglet Register retiré de l'écran de connexion (avis Hub à la place) ; boutons « Get started » de l'accueil remplacés par le lien Hub.
La connexion des comptes existants (locaux et draco) n'est jamais affectée — vérifié par tests, ouvert comme fermé.
L'échec du formulaire local (401) suggère désormais la voie centrale : « Si votre compte a été créé dans le Hub Dracodev, connectez-vous avec le bouton « Login with ObsiGate (SSO) »… ». Aucune logique d'authentification ne change.
Version / tests
7.85.5 (main déployé : 7.85.4 ; aucune PR ouverte ne revendiquait ce numéro — la PR #54 en vol vise 7.85.3 et ne touche aucun fichier d'authentification ; seul recouvrement : VERSION/CHANGELOG.md).
tests/test_reglages_acces.py : 12 tests nouveaux, verts. Suites voisines (test_app, test_v67_sso, test_fusion_draco, test_hub_roles) : identiques à l'arbre vierge (1 échec préexistant test_webhooks_crud, sans lien). Le harnais de test ouvre explicitement l'inscription pour les suites historiques qui créent leurs comptes par /auth/register (conftest, commenté).
Comparaison à l'arbre vierge (ajout final) : suite complète -n 4 — vierge : 36 échecs préexistants / 1589 passés (connecteurs, MCP, coffre, llm_config, webhooks — aucun lié à l'auth) ; branche phase 1+correctif harnais : les 17 échecs supplémentaires initialement introduits (5 register/landing de test_app, 12 de test_v66_agent_api) venaient des fixtures locales de ces deux fichiers, qui masquent celle de conftest — corrigés par le commit « tests: ouvrir explicitement l'inscription dans les fixtures locales… » (31fe0c1). Vérification finale : test_app.py + test_v66_agent_api.py entiers en série = 228 passés, seul échec test_webhooks_crud (préexistant, dans la liste vierge).
Phase 1 du programme « compte partout / porte centrale unique » (cartes fusion #146 et #144). **Aucune fusion — sur l'ordre de Bruno.**
## #146 — inscription locale fermée par réglage
- Nouveau service `app/services/reglages_acces.py` (patron `llm_config`/`sso_config` : ligne unique en base qui prime sur la variable `INSCRIPTION_LOCALE_OUVERTE`) : réglage d'administration « inscription locale ouverte », **fermée par défaut** (décision de Bruno : les comptes naissent dans le Hub), réversible via `GET`/`PUT /api/admin/reglages-acces`.
- Fermée : `POST /auth/register` → 403 ; `GET /auth/register` → page de refus propre en français nommant le **Hub Dracodev** (lien dérivé de l'hôte via `draco_urls.hub_url()`) ; onglet Register retiré de l'écran de connexion (avis Hub à la place) ; boutons « Get started » de l'accueil remplacés par le lien Hub.
- La connexion des comptes existants (locaux et draco) n'est jamais affectée — vérifié par tests, ouvert comme fermé.
## #144 (part Flowdeck)
- L'échec du formulaire local (401) suggère désormais la voie centrale : « Si votre compte a été créé dans le Hub Dracodev, connectez-vous avec le bouton « Login with ObsiGate (SSO) »… ». Aucune logique d'authentification ne change.
## Version / tests
- **7.85.5** (main déployé : 7.85.4 ; aucune PR ouverte ne revendiquait ce numéro — la PR #54 en vol vise 7.85.3 et ne touche aucun fichier d'authentification ; seul recouvrement : `VERSION`/`CHANGELOG.md`).
- `tests/test_reglages_acces.py` : **12 tests nouveaux, verts**. Suites voisines (test_app, test_v67_sso, test_fusion_draco, test_hub_roles) : identiques à l'arbre vierge (1 échec préexistant `test_webhooks_crud`, sans lien). Le harnais de test ouvre explicitement l'inscription pour les suites historiques qui créent leurs comptes par `/auth/register` (conftest, commenté).
**Comparaison à l'arbre vierge (ajout final)** : suite complète `-n 4` — vierge : 36 échecs préexistants / 1589 passés (connecteurs, MCP, coffre, llm_config, webhooks — aucun lié à l'auth) ; branche phase 1+correctif harnais : les 17 échecs supplémentaires initialement introduits (5 register/landing de `test_app`, 12 de `test_v66_agent_api`) venaient des **fixtures locales** de ces deux fichiers, qui masquent celle de conftest — corrigés par le commit « tests: ouvrir explicitement l'inscription dans les fixtures locales… » (31fe0c1). Vérification finale : `test_app.py` + `test_v66_agent_api.py` entiers en série = 228 passés, seul échec `test_webhooks_crud` (préexistant, dans la liste vierge).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Phase 1 du programme « compte partout / porte centrale unique » (cartes fusion #146 et #144). Aucune fusion — sur l'ordre de Bruno.
#146 — inscription locale fermée par réglage
app/services/reglages_acces.py(patronllm_config/sso_config: ligne unique en base qui prime sur la variableINSCRIPTION_LOCALE_OUVERTE) : réglage d'administration « inscription locale ouverte », fermée par défaut (décision de Bruno : les comptes naissent dans le Hub), réversible viaGET/PUT /api/admin/reglages-acces.POST /auth/register→ 403 ;GET /auth/register→ page de refus propre en français nommant le Hub Dracodev (lien dérivé de l'hôte viadraco_urls.hub_url()) ; onglet Register retiré de l'écran de connexion (avis Hub à la place) ; boutons « Get started » de l'accueil remplacés par le lien Hub.#144 (part Flowdeck)
Version / tests
VERSION/CHANGELOG.md).tests/test_reglages_acces.py: 12 tests nouveaux, verts. Suites voisines (test_app, test_v67_sso, test_fusion_draco, test_hub_roles) : identiques à l'arbre vierge (1 échec préexistanttest_webhooks_crud, sans lien). Le harnais de test ouvre explicitement l'inscription pour les suites historiques qui créent leurs comptes par/auth/register(conftest, commenté).Comparaison à l'arbre vierge (ajout final) : suite complète
-n 4— vierge : 36 échecs préexistants / 1589 passés (connecteurs, MCP, coffre, llm_config, webhooks — aucun lié à l'auth) ; branche phase 1+correctif harnais : les 17 échecs supplémentaires initialement introduits (5 register/landing detest_app, 12 detest_v66_agent_api) venaient des fixtures locales de ces deux fichiers, qui masquent celle de conftest — corrigés par le commit « tests: ouvrir explicitement l'inscription dans les fixtures locales… » (31fe0c1). Vérification finale :test_app.py+test_v66_agent_api.pyentiers en série = 228 passés, seul échectest_webhooks_crud(préexistant, dans la liste vierge).