LICENSE
README.md
forge.py
pyproject.toml
core/__init__.py
core/api_routes_loader.py
core/application.py
core/forge.py
core/runtime_error_logger.py
core/runtime_error_markdown.py
core/runtime_errors.py
core/auth/__init__.py
core/auth/audit.py
core/auth/email.py
core/auth/exceptions.py
core/auth/password.py
core/auth/rate_limit.py
core/auth/reset.py
core/auth/session.py
core/auth/tokens.py
core/auth/user.py
core/database/__init__.py
core/database/connection.py
core/database/db.py
core/database/sql_loader.py
core/database/transaction.py
core/forms/__init__.py
core/forms/exceptions.py
core/forms/fields.py
core/forms/form.py
core/http/__init__.py
core/http/helpers.py
core/http/request.py
core/http/response.py
core/http/router.py
core/i18n/__init__.py
core/i18n/exceptions.py
core/i18n/translator.py
core/mail/__init__.py
core/mail/config.py
core/mail/exceptions.py
core/mail/log.py
core/mail/mailer.py
core/mail/message.py
core/mail/smtp.py
core/mail/templates.py
core/mail/transports.py
core/modules/__init__.py
core/modules/discovery.py
core/modules/files.py
core/modules/manifest.py
core/modules/registry.py
core/modules/remove.py
core/modules/routes.py
core/mvc/__init__.py
core/mvc/controller/__init__.py
core/mvc/controller/base_controller.py
core/mvc/controller/registry.py
core/mvc/model/__init__.py
core/mvc/model/exceptions.py
core/mvc/model/validator.py
core/mvc/view/__init__.py
core/mvc/view/pagination.py
core/security/__init__.py
core/security/api_auth.py
core/security/csp.py
core/security/decorators.py
core/security/hashing.py
core/security/middleware.py
core/security/session.py
core/sessions/__init__.py
core/sessions/contract.py
core/sessions/file_store.py
core/sessions/keys.py
core/sessions/manager.py
core/sessions/mariadb_store.py
core/sessions/memory_store.py
core/templating/__init__.py
core/templating/contracts.py
core/templating/manager.py
core/uploads/__init__.py
core/uploads/exceptions.py
core/uploads/image.py
core/uploads/manager.py
core/uploads/media_gallery.py
core/uploads/media_repository.py
core/uploads/rate_limit.py
core/uploads/storage.py
core/uploads/validators.py
core/validation/__init__.py
core/validation/decorators.py
core/validation/exceptions.py
forge_cli/__init__.py
forge_cli/auth.py
forge_cli/deploy.py
forge_cli/doctor.py
forge_cli/errors.py
forge_cli/front.py
forge_cli/help.py
forge_cli/i18n.py
forge_cli/mail.py
forge_cli/modules.py
forge_cli/output.py
forge_cli/project_audit.py
forge_cli/project_check.py
forge_cli/project_config.py
forge_cli/project_profiles.py
forge_cli/public_contact.py
forge_cli/public_form.py
forge_cli/public_list.py
forge_cli/public_page.py
forge_cli/public_show.py
forge_cli/sync_landing.py
forge_cli/uploads.py
forge_cli/docs/__init__.py
forge_cli/docs/quarkdown.py
forge_cli/entities/__init__.py
forge_cli/entities/db_apply.py
forge_cli/entities/db_init.py
forge_cli/entities/make_crud.py
forge_cli/entities/make_entity.py
forge_cli/entities/make_relation.py
forge_cli/entities/migrations.py
forge_cli/entities/model.py
forge_cli/entities/relations.py
forge_cli/entities/validation.py
forge_cli/entities/crud/__init__.py
forge_cli/entities/crud/context.py
forge_cli/entities/crud/controller_builder.py
forge_cli/entities/crud/form_builder.py
forge_cli/entities/crud/model_builder.py
forge_cli/entities/crud/relations_loader.py
forge_cli/entities/crud/utils.py
forge_cli/entities/crud/views_builder.py
forge_cli/starters/__init__.py
forge_cli/starters/_exceptions.py
forge_cli/starters/builder.py
forge_cli/starters/file_ops.py
forge_cli/starters/registry.py
forge_cli/starters/relations.py
forge_cli/starters/route_ops.py
forge_cli/starters/scaffold.py
forge_cli/starters/data/auth-mfa/routes.py.snippet
forge_cli/starters/data/auth-mfa/starter.json
forge_cli/starters/data/auth-mfa/files/mvc/controllers/auth_controller.py
forge_cli/starters/data/auth-mfa/files/mvc/controllers/mfa_challenge_controller.py
forge_cli/starters/data/carnet-contacts/relations.json
forge_cli/starters/data/carnet-contacts/routes.py.snippet
forge_cli/starters/data/carnet-contacts/starter.json
forge_cli/starters/data/carnet-contacts/entities/contact.json
forge_cli/starters/data/carnet-contacts/entities/ville.json
forge_cli/starters/data/carnet-contacts/files/mvc/controllers/contact_controller.py
forge_cli/starters/data/carnet-contacts/files/mvc/controllers/ville_controller.py
forge_cli/starters/data/carnet-contacts/files/mvc/forms/__init__.py
forge_cli/starters/data/carnet-contacts/files/mvc/forms/contact_form.py
forge_cli/starters/data/carnet-contacts/files/mvc/models/contact_model.py
forge_cli/starters/data/carnet-contacts/files/mvc/models/ville_model.py
forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/form.html
forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/index.html
forge_cli/starters/data/carnet-contacts/files/mvc/views/contact/show.html
forge_cli/starters/data/carnet-contacts/files/mvc/views/layouts/app.html
forge_cli/starters/data/carnet-contacts/files/mvc/views/ville/index.html
forge_cli/starters/data/carnet-contacts/files/scripts/seed_villes.py
forge_cli/starters/data/communes-sejours/routes.py.snippet
forge_cli/starters/data/communes-sejours/starter.json
forge_cli/starters/data/communes-sejours/files/mvc/controllers/communes_sejours_controller.py
forge_cli/starters/data/communes-sejours/files/mvc/entities/relations.json
forge_cli/starters/data/communes-sejours/files/mvc/entities/commune/commune.json
forge_cli/starters/data/communes-sejours/files/mvc/entities/demande_sejour/demande_sejour.json
forge_cli/starters/data/communes-sejours/files/mvc/entities/hebergement/hebergement.json
forge_cli/starters/data/communes-sejours/files/mvc/entities/proprietaire/proprietaire.json
forge_cli/starters/data/communes-sejours/files/mvc/forms/__init__.py
forge_cli/starters/data/communes-sejours/files/mvc/forms/demande_sejour_form.py
forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_proprietaire_subject.txt
forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_proprietaire_text.txt
forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_visiteur_subject.txt
forge_cli/starters/data/communes-sejours/files/mvc/mail/templates/communes_sejours/demande_visiteur_text.txt
forge_cli/starters/data/communes-sejours/files/mvc/views/public/communes_sejours/hebergements_index.html
forge_cli/starters/data/communes-sejours/files/mvc/views/public/communes_sejours/hebergements_show.html
forge_cli/starters/data/communes-sejours/files/mvc/views/public/communes_sejours/home.html
forge_cli/starters/data/communes-sejours/files/seed/communes.json
forge_cli/starters/data/communes-sejours/files/seed/demandes_sejour.json
forge_cli/starters/data/communes-sejours/files/seed/hebergements.json
forge_cli/starters/data/communes-sejours/files/seed/proprietaires.json
forge_cli/starters/data/communes-sejours/files/translations/fr.json
forge_cli/starters/data/contact-simple/contact.json
forge_cli/starters/data/contact-simple/starter.json
forge_cli/starters/data/suivi-comportement-eleves/relations.json
forge_cli/starters/data/suivi-comportement-eleves/routes.py.snippet
forge_cli/starters/data/suivi-comportement-eleves/starter.json
forge_cli/starters/data/suivi-comportement-eleves/entities/cours.json
forge_cli/starters/data/suivi-comportement-eleves/entities/eleve.json
forge_cli/starters/data/suivi-comportement-eleves/entities/observation_cours.json
forge_cli/starters/data/suivi-comportement-eleves/entities/utilisateur.json
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/auth_controller.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/cours_controller.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/eleve_controller.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/observation_cours_controller.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/controllers/suivi_controller.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/auth_model.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/cours_model.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/eleve_model.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/models/observation_cours_model.py
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/auth/login.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/cours/index.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/cours/show.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/eleve/index.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/eleve/show.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/layouts/app.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/edit.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/new.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/observations/show.html
forge_cli/starters/data/suivi-comportement-eleves/files/mvc/views/suivi/dashboard.html
forge_cli/starters/data/suivi-comportement-eleves/files/scripts/create_auth_user.py
forge_cli/starters/data/suivi-comportement-eleves/files/scripts/seed_suivi.py
forge_cli/starters/data/utilisateurs-auth/routes.py.snippet
forge_cli/starters/data/utilisateurs-auth/starter.json
forge_cli/starters/data/utilisateurs-auth/entities/utilisateur.json
forge_cli/starters/data/utilisateurs-auth/files/mvc/controllers/auth_controller.py
forge_cli/starters/data/utilisateurs-auth/files/mvc/controllers/dashboard_controller.py
forge_cli/starters/data/utilisateurs-auth/files/mvc/models/auth_model.py
forge_cli/starters/data/utilisateurs-auth/files/mvc/views/auth/login.html
forge_cli/starters/data/utilisateurs-auth/files/mvc/views/dashboard/index.html
forge_cli/starters/data/utilisateurs-auth/files/mvc/views/dashboard/profil.html
forge_cli/starters/data/utilisateurs-auth/files/mvc/views/layouts/app.html
forge_cli/starters/data/utilisateurs-auth/files/scripts/create_auth_user.py
forge_mvc.egg-info/PKG-INFO
forge_mvc.egg-info/SOURCES.txt
forge_mvc.egg-info/dependency_links.txt
forge_mvc.egg-info/entry_points.txt
forge_mvc.egg-info/requires.txt
forge_mvc.egg-info/top_level.txt
integrations/__init__.py
integrations/jinja2/__init__.py
integrations/jinja2/renderer.py
tests/test_api_auth.py
tests/test_api_controller_conventions.py
tests/test_api_doc.py
tests/test_api_json_response.py
tests/test_api_routes.py
tests/test_app_stability_contract.py
tests/test_application.py
tests/test_auth_admin_cli.py
tests/test_auth_admin_roles_cli.py
tests/test_auth_admin_ux.py
tests/test_auth_app.py
tests/test_auth_audit.py
tests/test_auth_audit_controller.py
tests/test_auth_audit_propagate_001.py
tests/test_auth_audit_resilience_001.py
tests/test_auth_audit_table.py
tests/test_auth_cli.py
tests/test_auth_cli_to_login_e2e.py
tests/test_auth_default_align_001.py
tests/test_auth_email_verification.py
tests/test_auth_hash_migration_001.py
tests/test_auth_mfa_challenge.py
tests/test_auth_mfa_contract.py
tests/test_auth_mfa_login_challenge.py
tests/test_auth_mfa_ratelimit_001.py
tests/test_auth_mfa_recovery_codes.py
tests/test_auth_mfa_recovery_table.py
tests/test_auth_mfa_revalidation.py
tests/test_auth_mfa_revalidation_identity_001.py
tests/test_auth_mfa_session_persistence_001.py
tests/test_auth_mfa_table.py
tests/test_auth_mfa_totp.py
tests/test_auth_mfa_totp_replay_001.py
tests/test_auth_password.py
tests/test_auth_password_reset.py
tests/test_auth_password_reset_complete.py
tests/test_auth_rate_limit.py
tests/test_auth_rate_limit_table.py
tests/test_auth_session.py
tests/test_auth_session_hardening.py
tests/test_auth_session_helpers.py
tests/test_auth_token_table.py
tests/test_auth_tokens.py
tests/test_auth_user_contract.py
tests/test_auth_user_jinja.py
tests/test_auth_user_rbac.py
tests/test_auth_user_rbac_resolver.py
tests/test_auth_user_rbac_route.py
tests/test_auth_user_table.py
tests/test_cli_entrypoint.py
tests/test_cli_errors.py
tests/test_cli_help.py
tests/test_cli_recovery.py
tests/test_concurrency_session_001.py
tests/test_crud_bulk_actions_audit.py
tests/test_crud_bulk_delete.py
tests/test_crud_export_audit.py
tests/test_crud_export_csv.py
tests/test_crud_filter_doc.py
tests/test_crud_filter_whitelist_001.py
tests/test_crud_filters.py
tests/test_crud_filters_htmx.py
tests/test_crud_htmx.py
tests/test_crud_rbac_ui.py
tests/test_crud_sort.py
tests/test_csp_completeness_001.py
tests/test_csp_harden_001.py
tests/test_csp_nonce_001.py
tests/test_database_helpers.py
tests/test_deploy_cli.py
tests/test_deploy_prod_security_doc.py
tests/test_doc_15min.py
tests/test_doc_app_complete.py
tests/test_doc_contribute.py
tests/test_doc_deploy_advanced.py
tests/test_doc_module_author.py
tests/test_doc_starter_author.py
tests/test_doc_structure.py
tests/test_docs_config.py
tests/test_doctor.py
tests/test_e2e_cli.py
tests/test_e2e_mariadb.py
tests/test_e2e_module.py
tests/test_e2e_non_overwrite.py
tests/test_e2e_starter.py
tests/test_e2e_upload_http.py
tests/test_entity_db_apply.py
tests/test_entity_db_init.py
tests/test_entity_form_field.py
tests/test_entity_json_validation.py
tests/test_entity_list_filter.py
tests/test_entity_media_declaration.py
tests/test_entity_model_cli.py
tests/test_entity_relations.py
tests/test_entity_sync_command.py
tests/test_forge_new.py
tests/test_forms.py
tests/test_forms_advanced_fields.py
tests/test_forms_date_fields.py
tests/test_forms_file_field.py
tests/test_forms_from_request_files.py
tests/test_forms_image_field.py
tests/test_forms_public_api.py
tests/test_forms_relation_field.py
tests/test_forms_slug_field.py
tests/test_forms_textarea_field.py
tests/test_front_css_contract.py
tests/test_front_js_init.py
tests/test_front_layout_contract.py
tests/test_hashing.py
tests/test_health_endpoint_001.py
tests/test_http_e2e_001.py
tests/test_i18n_cache_001.py
tests/test_i18n_cli.py
tests/test_i18n_core.py
tests/test_i18n_jinja.py
tests/test_json.py
tests/test_landing_post_2_2_refresh.py
tests/test_license_metadata.py
tests/test_lts_policy.py
tests/test_mail.py
tests/test_mail_cli.py
tests/test_mail_log.py
tests/test_mail_message.py
tests/test_mail_templates.py
tests/test_mail_transports.py
tests/test_mailer.py
tests/test_make_crud.py
tests/test_make_crud_empty_states.py
tests/test_make_crud_htmx_delete.py
tests/test_make_crud_htmx_pagination.py
tests/test_make_crud_htmx_search.py
tests/test_make_crud_many_to_many.py
tests/test_make_crud_media.py
tests/test_make_crud_media_alt.py
tests/test_make_crud_media_context.py
tests/test_make_crud_media_destroy.py
tests/test_make_crud_media_gallery_add.py
tests/test_make_crud_media_gallery_context.py
tests/test_make_crud_media_gallery_delete.py
tests/test_make_crud_media_gallery_multiupload.py
tests/test_make_crud_media_gallery_order.py
tests/test_make_crud_media_runtime.py
tests/test_make_crud_pagination.py
tests/test_make_crud_partials.py
tests/test_make_crud_rbac.py
tests/test_make_crud_search.py
tests/test_make_crud_sort.py
tests/test_make_entity_command.py
tests/test_make_public_contact.py
tests/test_make_public_form.py
tests/test_make_public_i18n.py
tests/test_make_public_list.py
tests/test_make_public_list_media.py
tests/test_make_public_page.py
tests/test_make_public_show.py
tests/test_make_relation_command.py
tests/test_media_attach.py
tests/test_media_delete.py
tests/test_media_entity.py
tests/test_media_gallery.py
tests/test_media_integration.py
tests/test_media_repository.py
tests/test_media_route.py
tests/test_middleware.py
tests/test_migration_guide.py
tests/test_migrations.py
tests/test_module_cli.py
tests/test_module_discovery.py
tests/test_module_files.py
tests/test_module_install.py
tests/test_module_manifest.py
tests/test_module_registry.py
tests/test_module_remove_001.py
tests/test_module_routes.py
tests/test_output.py
tests/test_package_metadata.py
tests/test_packaging.py
tests/test_pagination.py
tests/test_profile_differentiation_001.py
tests/test_project_audit.py
tests/test_project_check.py
tests/test_project_profiles.py
tests/test_public_templates.py
tests/test_rbac_authorization.py
tests/test_rbac_jinja.py
tests/test_rbac_models.py
tests/test_rbac_security.py
tests/test_rbac_sql.py
tests/test_relations_many_to_many.py
tests/test_relations_ordered.py
tests/test_request_body.py
tests/test_response.py
tests/test_roadmap_unified.py
tests/test_router.py
tests/test_runtime_errors_jsonl.py
tests/test_runtime_errors_markdown.py
tests/test_security_cache_headers.py
tests/test_security_cookies.py
tests/test_security_cookies_host_prefix.py
tests/test_security_csrf_constant_time_001.py
tests/test_security_csrf_http.py
tests/test_security_headers.py
tests/test_security_rbac_audit.py
tests/test_security_upload_rate_limit.py
tests/test_security_uploads_audit.py
tests/test_serve_static.py
tests/test_session.py
tests/test_session_file_store_001.py
tests/test_session_mariadb_store_001.py
tests/test_session_store_contract_001.py
tests/test_sessions_contract_integration_001.py
tests/test_sql_loader.py
tests/test_starter_cli.py
tests/test_starter_communes_sejours.py
tests/test_stats_admin.py
tests/test_stats_events.py
tests/test_stats_schema.py
tests/test_stats_tracking.py
tests/test_sync_landing.py
tests/test_templating.py
tests/test_tls_defaults_001.py
tests/test_tpl_components.py
tests/test_tpl_doc.py
tests/test_tpl_flash.py
tests/test_tpl_layouts.py
tests/test_uploads.py
tests/test_uploads_image.py
tests/test_validation_decorators.py
tests/test_validator.py
tests/test_workflow_jinja.py
tests/test_workflow_status.py
tests/test_workflow_transitions.py