Classification Zones - Le Circographe
Date: 2025-01-27
Base: docs/BUSINESS_LOGIC.md
🟢 Zone 1 (Stable) - Tests immédiats requis
🟡 Zone 2 (En cours) - Tests après stabilisation
🔵 Zone 3 (Future) - Pas de code, pas de tests
🟢 Zone 1: Comportement Défini
Model
Tests Existants?
Action
Priorité
User
✅ Oui
Compléter si gaps
🔴 Haute
Person
✅ Oui
Compléter si gaps
🔴 Haute
Membership
✅ Oui
Compléter si gaps
🔴 Haute
Payment
✅ Oui
Compléter si gaps
🔴 Haute
PaymentLine
✅ Oui
Compléter si gaps
🔴 Haute
MembershipType
✅ Oui
Compléter si gaps
🔴 Haute
BookOfEntry
✅ Oui
Compléter si gaps
🔴 Haute
Model
Tests Existants?
Action
Priorité
Event
✅ Partiel
Ajouter tests edge cases
🟡 Moyenne
SubscriptionPlan
❌ Non
Tests critiques
🔴 Haute
AccountClaim
❌ Non
Tests workflow
🟡 Moyenne
Attendance
❌ Non
Tests logique quotidienne
🟡 Moyenne
Model
Tests Existants?
Action
Priorité
MemberNumberHistory
❌ Non
Tests audit
🔵 Basse
PaymentAuditLog
❌ Non
Tests audit
🔵 Basse
Model
Raison
Tests Quand?
AttendanceList
Logique quotidienne à finaliser
Après validation
UserService
Service wrapper, usage incertain
Après clarification
🔵 Zone 3: Future / Non Prioritaire
Model
Statut
Blog, Tag, TagBlog
CMS basique, pas critique
PriceCatalog, PriceEntry
Tarification, non urgent
EventAttendee
Legacy?
Session
Rails system
🟢 Zone 1: Fonctionnels et Testés
Service
Usage
Tests?
Action
MemberManagementService
✅ Utilisé partout
✅ Oui
Maintenir
People::PaymentCreator
✅ Critical
✅ Oui
Maintenir
People::MembershipUpgrader
✅ Critical
✅ Oui
Maintenir
Admin::PaymentsService
✅ Utilisé
❌ Non
Ajouter tests
People::NewsletterSignup
✅ Utilisé
❌ Non
Ajouter tests
🟡 Zone 2: Fonctionnels mais Non Testés
Service
Usage
Raison Zone 2
Tests Quand?
Web::UserRegistration
✅ Utilisé
Workflow complexe, peut évoluer
Après stabilisation
People::Register
⚠️ Existe
Orchestrateur CRM (à surveiller)
Tests de régression
People::PaymentCreator
⚠️ Existe
Interface unique paiements
Tests People
People::PaymentUpdater
⚠️ Existe
Interface unique paiements
Tests People
People::PaymentCanceller
⚠️ Existe
Interface unique paiements
Tests People
People::PaymentRestorer
⚠️ Existe
Interface unique paiements
Tests People
People::AccountLinker
⚠️ Existe
CRM merge ponctuel
Tests People
UserManagement::UserDeleter
⚠️ Existe
Logique soft-delete
Après stabilisation
People::AccountMerger
⚠️ Existe
Fusion CRM ponctuelle
Tests People
EventManagement::EventCreator
⚠️ Existe
Référencé
Après stabilisation
EventManagement::EventUpdater
⚠️ Existe
CRUD standard
Après stabilisation
EventManagement::EventDeleter
⚠️ Existe
CRUD standard
Après stabilisation
🔵 Zone 3: Non Implémenté / Future
Service
Statut
People::PaymentRefund (à concevoir)
Future
Operations in app/services/admin/operations/
Non utilisées
Controllers Classification
Admin Controllers (CRUD Essentiels)
Controller
Usage
Tests?
Action
Admin::UsersController
🔴 Critique
❌ Non
Tests urgent
Admin::MembershipsController
🔴 Critique
❌ Non
Tests urgent
Admin::PaymentsController
🔴 Critique
❌ Non
Tests urgent
Admin::EventsController
🔴 Critique
❌ Non
Tests urgent
Admin::DashboardController
🔴 Home
❌ Non
Tests régression
Public Controllers (Authentification)
Controller
Usage
Tests?
Action
SessionsController
🔴 Login
❌ Non
Tests urgent
RegistrationsController
🔴 Signup
❌ Non
Tests urgent
CheckoutController
🔴 Payment
❌ Non
Tests urgent
Controller
Raison
AccountClaimsController
Workflow à finaliser
PasswordsController
Feature à stabiliser
Admin::SubscriptionPlansController
Configuration en cours
Admin::MemberNumbersController
Admin access
Tous autres admin controllers
CRUD standard
🔵 Zone 3: Non Prioritaire
Controller
Raison
HomeController, PagesController
Simple
EventsController (public), BlogsController
Affichage
ContactsController
Form simple
Admin::BlogsController
CMS non critique
Admin::AttendancesController, Admin::AttendanceListsController
Logique en exploration
Plan d'Action Prioritaire
Phase 1: Protection Critique (Semaine 1-2)
Objectif: 40% coverage, focus sur business critique
Controllers Zone 1 Urgents
Estimation: 9 specs critiques
Phase 2: Complet Zone 1 (Semaine 3-4)
Objectif: 60% coverage, Zone 1 complète
Controllers Zone 1 Restants
Estimation: +15 specs
Phase 3: Zone 2 Progressive (Semaine 5+)
Objectif: Stabiliser Zone 2 → Zone 1
Stabiliser Services Zone 2
Estimation: +18 specs (progressif)
Gaps Critiques Identifiés
Code Mort / Inconsistances
❌ Références à services inexistants:
Services dans app/services/admin/operations/ - Non utilisés
Action: Audit et nettoyage
🔴 Immédiat (Zone 1 Critique)
SubscriptionPlan model
Admin controllers: Users, Payments, Memberships, Events
Public controllers: Sessions, Registrations, Checkout
Admin::PaymentsService service
🟡 Court Terme (Zone 1 Restant)
AccountClaim, Attendance models
Autres admin controllers
People::NewsletterSignup
🔵 Moyen Terme (Zone 2 → 1)
Services en exploration
Features en cours
CMS, Pricing, Features future
Prochaine Revue: Après Phase 1