# Gigafibre Platform Strategy ## Vision unifiée par département — Inspiré Calix CommandIQ / SmartTown > Avril 2026 — Document de planification stratégique --- ## 1. Inventaire des applications actuelles ### Applications à CONSERVER (core platform) | App | URL | Rôle | Stack | |-----|-----|------|-------| | **ERPNext v16** | erp.gigafibre.ca | Source de vérité (clients, facturation, équipement, tickets) | Python/PostgreSQL | | **Targo Ops** | erp.gigafibre.ca/ops/ | Console opérations internes (dispatch, clients, tickets, réseau) | Vue 3 / Quasar PWA | | **Targo Hub** | msg.gigafibre.ca | Backend API, SSE temps réel, SMS, vision AI, magic links, page mobile tech | Node.js 20 | | **Client Portal** | client.gigafibre.ca | Self-service client (factures, support, catalogue) | Vue 3 / Quasar PWA | | **Website** | www.gigafibre.ca | Site vitrine marketing, vérification d'adresse | React / Vite | | **Authentik (Client)** | id.gigafibre.ca | SSO clients et staff | Docker | | **Traefik** | — | Reverse proxy, TLS, routing | Docker | | **n8n** | n8n.gigafibre.ca | Workflows automatisés (SMS, email, webhooks) | Docker | ### Applications à RETIRER (legacy / redondantes) | App | URL | Raison du retrait | Fonctionnalités à migrer | Statut migration | |-----|-----|-------------------|-------------------------|-----------------| | **dispatch-app** (legacy) | dispatch.gigafibre.ca | Remplacé par Ops `/dispatch` + page mobile `/t/{token}` | ~~Timeline dispatch~~ ✅, ~~Mobile tech~~ ✅, ~~Magic links~~ ✅, Catalogue équipement dans mobile ✅, Scan barcode ✅ | **Prêt à retirer** | | **Targo Field App** | (apps/field/) | Remplacé par page mobile lightweight `/t/{token}` servi par targo-hub | ~~Job list~~ ✅, ~~Job detail~~ ✅, ~~Scan barcode~~ ✅, ~~Diagnostic~~ (à évaluer) | **Prêt à retirer** | | **Oktopus CE** (TR-069 ACS) | oss.gigafibre.ca | ⚠️ Fait du TR-369 — pas d'alternative connue pour big data CPE temps réel | — | **Conserver** | ### Applications à NE PAS RETIRER | App | Raison | |-----|--------| | **Authentik (Staff)** auth.targo.ca | Activement utilisé — remplacement impossible à court terme | | **Legacy DB** (MariaDB) | Migration incomplète (~20/160 tables). Données critiques encore exclusives : comptabilité, soumissions, accords, télécom, projets, consommation, fibre/IP | | **Oktopus CE** | Seule solution TR-369 pour statut temps réel et big data des CPE clients | ### Applications PARALLÈLES (hors scope Gigafibre FSM) | App | Rôle | Note | |-----|------|------| | **Targo Backend/Frontend** | RH/Feuilles de temps employés Targo | Projet séparé, pas de chevauchement | | **Infra-Map-Vue** | Cartographie fibre topologique (poteaux, routes optiques) | À intégrer éventuellement dans Ops comme module réseau | | **Device Monitor** | Monitoring devices (prototype) | Fonctionnalités à absorber par targo-hub OLT/SNMP | --- ## 2. Fonctionnalités par département ### MARKETING — Segmentation dynamique et ventes contextuelles > *"Patterns and contextual signals are analyzed to dynamically segment audiences and identify upsell and cross-sell opportunities."* **Données disponibles dans ERPNext aujourd'hui :** - Historique de facturation (115K+ factures) — panier moyen, ancienneté, churn risk - Tickets de support (242K+) — fréquence des appels, types de problèmes récurrents - Équipement installé (7 500+) — âge du modem, capacité Wi-Fi, nombre d'appareils - Abonnements actifs (21K+) — services manquants (pas de TV, pas de VoIP) - Données réseau (OLT, signal optique, débit) — qualité de service réelle **Stratégie upsell/cross-sell contextuelle :** | Signal contextuel | Action marketing | Canal | |-------------------|-----------------|-------| | Client avec Internet seulement + ticket "lenteur Wi-Fi" | Proposer routeur Wi-Fi 6 mesh + bornes extérieures | SMS personnalisé via Twilio | | Client sans TV + visionnement Netflix détecté (DPI/QoS) | Offrir IPTV bundle à prix réduit | Email via Mailjet + bannière portail | | Client avec ancien modem (>3 ans) | Upgrade gratuit vers ONT dernière gen | Notification push portail client | | Client avec >3 tickets/mois | Offrir Support Prioritaire (10$/mois) | Appel proactif CSR | | Déménagement détecté (changement adresse) | Offrir installation complète maison intelligente | Visite tech + catalogue domotique | | Client fidèle >5 ans, 0 ticket | Programme fidélité : caméra d'entrée offerte | Lettre personnalisée + portail | **Modules à développer :** | Module | Description | Où | |--------|-------------|-----| | **Segment Engine** | Requêtes ERPNext automatisées qui tagguent les clients par segment (à risque, upsell TV, upgrade Wi-Fi, fidèle, nouveau) | n8n workflow + ERPNext Custom Script | | **Campaign Manager** | Interface dans Ops pour créer/envoyer des campagnes SMS/email ciblées par segment | Ops app — nouveau module `/campaigns` | | **Smart Banners** | Bannières contextuelles dans le portail client basées sur le profil | Client Portal — composant dynamique | | **QR Modem → Offre** | QR code sur le modem → URL → détecte le client → affiche offres personnalisées | targo-hub page servie (comme `/t/{token}`) | **Produits domotique à offrir :** - Bornes Wi-Fi extérieures (mesh outdoor) - Caméras d'entrée connectées (Doorbell IP) - Thermostats intelligents - Détecteurs de fumée/CO connectés - Serrures intelligentes - Hub domotique Zigbee/Z-Wave --- ### OPERATIONS — Proactivité et résolution automatique > *"Operations agent workforce works around the clock to proactively uncover and resolve issues, reducing outages and improving the subscriber experience."* **Monitoring proactif actuel :** - OLT SNMP polling (targo-hub `olt-snmp.js`) — signal optique, statut ONU - GenieACS TR-069 — paramètres CPE, reboots, firmware - Traccar GPS — position techniciens en temps réel **Vision proactive à implémenter :** | Détection | Action automatique | Notification | |-----------|-------------------|-------------| | Signal optique ONU dégradé (<-25 dBm) | Créer ticket prioritaire + dispatch auto tech le plus proche | SMS client : "Nous avons détecté un problème, un technicien est en route" | | ONT hors ligne >30 min (pas panne secteur) | Vérifier statut OLT, si OK → créer ticket | SMS client : "Votre connexion semble interrompue, nous investiguons" | | Wi-Fi congestionné (>20 clients, canal saturé) | Push config optimale via TR-069 (changement canal auto) | Notification portail : "Nous avons optimisé votre Wi-Fi" | | Latence >50ms vers gateway | Alert dispatch + diagnostic réseau auto | Rien (résolution silencieuse si possible) | | Firmware CPE obsolète | Schedule mise à jour nocturne via GenieACS | Email : "Mise à jour de sécurité appliquée" | | Panne OLT (multiple ONU down) | Créer incident majeur, notifier tous clients affectés en masse | SMS masse : "Panne détectée dans votre secteur, résolution en cours" | **Modules existants vs à développer :** | Module | Statut | Prochaine étape | |--------|--------|----------------| | Dispatch Timeline (drag-drop, Gantt) | ✅ Complet | — | | Tags/Compétences (match auto) | ✅ Complet | — | | Horaires + RRULE (garde, shifts) | ✅ Complet | — | | Publication SMS + magic links | ✅ Complet | — | | Page mobile tech lightweight | ✅ Complet | — | | Scan barcode + gestion équipement | ✅ Complet | — | | Pool d'offres Uber-style | ✅ Complet | — | | Confirmation unassign jobs publiés | ✅ Complet | — | | OLT SNMP monitoring | ✅ Basique | Ajouter alertes automatiques | | Proactive ticket creation | ❌ À faire | n8n workflow : SNMP alert → create Issue | | Auto-dispatch (matching algo) | ❌ À faire | Algorithme basé sur tags + distance + charge | | Outage detection + mass notify | ❌ À faire | Corréler ONU down par OLT → SMS masse | | CPE auto-config via TR-069 | ❌ À faire | GenieACS presets + targo-hub proxy | --- ### SERVICE — Intelligence contextuelle pour CSR et résolution au premier appel > *"Specialized service agents share best practices and contextual insights to CSRs to solve problems faster and on the first call."* **Données contextuelles disponibles pour le CSR (dans Ops app) :** - Historique complet du client (tickets, factures, paiements) - Équipement installé avec diagnostics en temps réel (signal, Wi-Fi, devices connectés) - Notes des techniciens sur les visites précédentes - Statut réseau du secteur (panne en cours ?) - Historique des interventions sur cette adresse **Outils d'aide CSR à développer :** | Outil | Description | Impact | |-------|-------------|--------| | **Client Context Card** | Vue unifiée en 1 écran : abo actifs, dernier ticket, équipement, santé réseau, paiements en retard | Réduction temps d'appel de 40% | | **Diagnostic Auto** | Bouton "Diagnostiquer" sur la fiche client → lance ping, speedtest, check signal ONU, vérifie firmware | Résolution 1er appel +30% | | **Knowledge Base contextuelle** | Suggestions automatiques basées sur le type de problème : "Ce client a un HG8245H → vérifier le port LAN 4 connu pour défaillance" | Partage best practices | | **Script d'appel guidé** | Flow interactif : symptôme → questions → diagnostic → solution → escalation si nécessaire | Uniformité du service | | **Historique interactions** | Timeline unifiée : appels, SMS, emails, visites tech, modifications de compte | Contexte complet | **État actuel vs cible :** | Fonctionnalité | Statut | |---------------|--------| | Fiche client avec équipement et tickets | ✅ Ops `/clients/:id` | | Détail équipement avec diagnostic OLT | ✅ EquipmentDetail.vue | | Envoi SMS/email depuis Ops | ✅ Via targo-hub/Twilio | | Historique thread de tickets | ✅ Ops tickets module | | Diagnostic auto (1 clic) | ❌ À intégrer (GenieACS + SNMP) | | Suggestions contextuelles AI | ❌ À faire (Gemini sur historique tickets similaires) | | Scripts d'appel guidés | ❌ À faire | --- ### SUBSCRIBER — L'intelligence du support dans les mains du client > *"Subscriber agents extend the reach of support organizations directly to subscribers with personalized upsell opportunities, optimization techniques, and outage information through the subscriber's app."* **Portail client actuel (client.gigafibre.ca) :** - ✅ Consultation factures et historique - ✅ Paiement Stripe - ✅ Création/suivi de tickets - ✅ Catalogue produits avec panier - ✅ Auth SSO (id.gigafibre.ca) **Fonctionnalités Subscriber à ajouter :** | Feature | Description | Priorité | |---------|-------------|----------| | **QR Code sur modem** | Étiquette QR collée sur le modem → URL `msg.gigafibre.ca/q/{mac}` → identifie le compte → envoie token SMS/email au propriétaire → accès gestion compte | 🔴 Haute | | **Dashboard santé réseau** | Vitesse actuelle, latence, uptime 30 jours, appareils connectés | 🔴 Haute | | **Contrôle parental (langage naturel)** | "Bloquer TikTok pour les enfants après 21h" → traduit en règles TR-069 → push au routeur | 🟡 Moyenne | | **Notifications outage** | Push/SMS automatique quand panne détectée dans le secteur, avec ETA résolution | 🔴 Haute | | **Optimisation Wi-Fi** | Conseils personnalisés : "Votre routeur est dans le sous-sol, déplacez-le au rez-de-chaussée pour +40% de couverture" | 🟡 Moyenne | | **Self-diagnostic** | Bouton "Tester ma connexion" → speedtest + vérification signal → rapport | 🔴 Haute | | **Offres personnalisées** | Bannières contextuelles : "Ajoutez la TV IPTV à votre forfait pour 20$/mois" basé sur profil | 🟡 Moyenne | | **Gestion appareils** | Liste des appareils connectés, renommer, bloquer, prioritiser | 🟡 Moyenne | | **Historique consommation** | Graphique de bande passante utilisée par jour/semaine/mois | 🟢 Basse | --- ## 3. QR Code Modem — Flow technique détaillé Le QR code sur le modem est un game-changer pour l'expérience client. Flow : ``` ┌─────────────────────────────────────────────────────────┐ │ ÉTIQUETTE QR SUR LE MODEM │ │ URL: msg.gigafibre.ca/q/{MAC_ADDRESS} │ └──────────────────────┬──────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ targo-hub GET /q/{mac} │ │ 1. Lookup Service Equipment par MAC │ │ 2. Trouver le Customer lié │ │ 3. Récupérer téléphone/email du Customer │ │ 4. Envoyer OTP 6 chiffres par SMS (Twilio) │ │ 5. Afficher page : "Code envoyé au 514-***-**89" │ └──────────────────────┬──────────────────────────────────┘ │ Client entre le code OTP ▼ ┌─────────────────────────────────────────────────────────┐ │ POST /q/{mac}/verify { otp: "123456" } │ │ 1. Vérifier OTP (Redis, TTL 5 min) │ │ 2. Générer JWT session (24h) │ │ 3. Servir page subscriber : │ │ - Santé réseau (signal, vitesse, uptime) │ │ - Appareils connectés │ │ - Contrôle parental │ │ - Offres personnalisées │ │ - Lien vers portail complet (client.gigafibre.ca) │ └─────────────────────────────────────────────────────────┘ ``` **Avantages :** - Zéro mot de passe à retenir - Accessible même par des clients non technologiques - Le QR est physiquement chez le client → preuve de possession - Upsell contextuel immédiat (le client est devant son modem) - Support proactif : "Votre signal est faible, voulez-vous un diagnostic ?" --- ## 4. Architecture cible — Plateforme unifiée ``` ┌─────────────────────────┐ │ www.gigafibre.ca │ Marketing │ (React — vitrine) │ Vérification adresse └────────────┬────────────┘ │ ┌────────────────────────────┼────────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────┐ ┌──────────────────┐ ┌──────────────────┐ │ Ops │ │ Client Portal │ │ Mobile Tech │ │ App │ │ (Vue/Quasar) │ │ /t/{token} │ │ (PWA) │ │ client.gigafibre│ │ (HTML pur) │ │ │ │ │ │ │ │ Dispatch│ │ Factures │ │ Jobs du jour │ │ Clients │ │ Paiements │ │ Scan barcode │ │ Tickets │ │ Support │ │ GPS navigation │ │ Réseau │ │ Catalogue │ │ Status update │ │ Campagns│ │ QR Modem portal │ │ Équipement CRUD │ └────┬────┘ └────────┬─────────┘ └────────┬─────────┘ │ │ │ └─────────────────────────┼─────────────────────────────┘ │ ┌──────────▼──────────┐ │ targo-hub │ │ (Node.js 20) │ │ │ │ SSE temps réel │ │ SMS (Twilio) │ │ Vision AI (Gemini) │ │ Magic links / OTP │ │ OLT SNMP polling │ │ QR modem → auth │ │ TR-069 proxy │ │ Segment engine │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ ERPNext v16 │ │ (PostgreSQL) │ │ │ │ Customers 6,600+ │ │ Invoices 115K+ │ │ Equipment 7,500+ │ │ Tickets 242K+ │ │ Subscriptions 21K+ │ └──────────┬──────────┘ │ ┌────────────────┼────────────────┐ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ GenieACS │ │ Traccar │ │ id.giga │ │ TR-069 │ │ GPS │ │ Authentik │ │ 7,500 CPE│ │ 46 techs │ │ SSO │ └──────────┘ └──────────┘ └──────────┘ ``` --- ## 5. Plan de retrait des applications legacy ### Phase 1 — Immédiat (avril 2026) | Action | Risque | Validation | |--------|--------|-----------| | Retirer **dispatch-app** du docker-compose apps | Bas — toutes les features sont dans Ops + /t/{token} | Vérifier que les magic links SMS pointent vers msg.gigafibre.ca/t/ | | Retirer le container **apps-dispatch-frontend-1** | Bas | Confirmer qu'aucun bookmark/lien externe pointe vers dispatch.gigafibre.ca | | Supprimer le repo dispatch-app de la CI | Aucun | — | ### Phase 2 — Court terme (mai 2026) | Action | Risque | Validation | |--------|--------|-----------| | Retirer **apps/field/** du monorepo | Bas — /t/{token} couvre tout | Comparer features field vs /t/{token} | | Migrer **auth.targo.ca** → **id.gigafibre.ca** pour n8n et Hub | Moyen — tester les flows n8n | Tester chaque workflow n8n post-migration | | Éteindre **legacy-db** MariaDB | Bas — migration 100% complétée | Garder un dump SQL en backup | | Évaluer retrait **Oktopus CE** vs intégration GenieACS | Moyen | Comparer fonctionnalités monitoring | ### Phase 3 — Moyen terme (été 2026) | Action | Risque | Validation | |--------|--------|-----------| | Absorber **device-monitor** dans targo-hub OLT SNMP | Bas | Vérifier couverture fonctionnelle | | Intégrer **infra-map-vue** comme module Ops `/network/map` | Moyen | iframe ou migration Vue | | Unifier **Targo Backend** avec targo-hub (si pertinent) | Élevé — évaluer | Audit des fonctionnalités RH | --- ## 6. Métriques de succès par département | Département | KPI | Cible | |-------------|-----|-------| | **Marketing** | Taux de conversion upsell via portail/SMS | 5% des clients ciblés | | **Marketing** | Revenu additionnel par client (ARPU lift) | +8$/mois moyen | | **Operations** | Tickets proactifs (créés avant appel client) | 30% des incidents réseau | | **Operations** | Temps moyen de résolution dispatch | <4h (actuellement ~8h) | | **Service** | Résolution au premier appel (FCR) | 75% (actuellement ~55%) | | **Service** | Temps moyen d'appel CSR | <6 min (actuellement ~10 min) | | **Subscriber** | Adoption portail self-service | 40% des clients actifs | | **Subscriber** | Réduction appels support via self-diagnostic | -25% volume appels | --- ## 7. Analyse concurrentielle ### Gaiia (gaiia.com) — Comparable principal Canadian-founded (2021), YC-backed, $13.2M Series A. 40+ ISP customers. | Gaiia Module | Gigafibre Status | |---|---| | Workforce & Scheduling | Done (dispatch PWA) | | Field Service App | Done (/t/{token} mobile) | | Billing & Revenue | ERPNext (basic) | | Customer Portal | Not built | | Online Checkout | Not built | | Network Monitoring | Oktopus CE + OLT SNMP | | Workflow Builder | n8n | ### Avantages Gigafibre vs Gaiia - Self-hosted / souverain (pas de frais par abonné) - Full ERP (accounting, HR, inventory inclus) - Dispatch board avancé (lasso, undo, auto-dispatch, route optimization) - Open source — offrable à d'autres ISPs ### Gaps à combler (vs Gaiia) - Customer portal self-service - Online checkout (Gaiia rapporte 6x conversion) - Billing proration (mid-cycle changes) - Auto travel time on dispatch ### Industrie — Matrice comparative | Feature | Gaiia | Odoo FS | Zuper | Salesforce FS | Gigafibre | |---|---|---|---|---|---| | Target | ISP-specific | General | Telecom | Enterprise | ISP custom | | Self-hosted | No | Yes | No | No | Yes | | Pricing | Per-subscriber | $30/user | $50/user | $200/user | Free (OSS) | | Dispatch drag-drop | Yes | Yes | Yes | Yes | Yes | | GPS real-time | Yes | Limited | Yes | Yes | Yes (WS) | | Equipment tracking | Yes | Yes | Yes | Yes | Yes | | Customer portal | Yes | Yes | Yes | Yes | Not yet | | Online checkout | Yes | No | No | No | Not yet | --- *Document vivant — dernière mise à jour : 12 avril 2026*