Commit Graph

  • 815146b70b Planification grille : retrait de l'axe de temps + la bande n'intercepte plus le clic/drag de la cellule main louispaulb 2026-06-07 18:02:39 -0400
  • 2665a6a2da Planification éditeur journée : déplacements en pointillés + clic pin = détails + clic ligne = recentre carte louispaulb 2026-06-07 17:50:52 -0400
  • 307fb4cea5 Planification : carte de journée INTERACTIVE (Mapbox GL) — itinéraire routier réel + zoom/déplacement louispaulb 2026-06-07 17:44:22 -0400
  • d56800805e Pont : import basé sur l'ADRESSE DE SERVICE (delivery), pas la facturation (compte) louispaulb 2026-06-07 17:36:17 -0400
  • f804c2b49d Pont : géoloc camping (fixe) sur les Dispatch Jobs — l'adresse de service ≠ résidence du client louispaulb 2026-06-07 17:30:11 -0400
  • 2b9a863d39 Conformité : repli « centre du code postal / ville » pour les unmatched restants (statut 'area') louispaulb 2026-06-07 17:14:41 -0400
  • ec6a317933 Campings : gestion du registre + réapplication self-service depuis Ops louispaulb 2026-06-07 17:07:15 -0400
  • d6453757d1 Campings : registre + géoloc de remplacement FIXE sur tous les lots (1405 corrigés) louispaulb 2026-06-07 17:04:03 -0400
  • 50d877b49f Planification : minimap du territoire (pins+tracé) dans l'éditeur de journée + retrait du sélecteur priorité louispaulb 2026-06-07 16:54:53 -0400
  • 48c2f53d18 Phase 1 (hygiène) : utils partagés + logique pure testable + observabilité erp + 1ers tests louispaulb 2026-06-07 10:36:41 -0400
  • f33f7a6309 Optimisation (consolidation helpers address) + doc Vision/modularisation louispaulb 2026-06-07 01:28:54 -0400
  • 27bbcf43d0 Page Ops « Conformité des adresses » — source de vérité unique pour résoudre le backlog louispaulb 2026-06-07 01:06:55 -0400
  • 0edf2fe3df SL normalisation passe 2 : récupération GPS par numéro+ville (sans contrainte postale) louispaulb 2026-06-06 16:19:37 -0400
  • 912359f38b Normalisation AQ des 17k Service Locations (lien RQA + statut, adresse originale préservée) louispaulb 2026-06-06 15:59:21 -0400
  • a510ac3848 Recherche d'adresses : base LOCALE (Postgres ERPNext) au lieu du Supabase cloud externe louispaulb 2026-06-06 15:46:47 -0400
  • b6831a1e48 Pont legacy : géocodage RQA via la recherche TRIGRAM (RPC search_addresses) + garde-fou anti-faux-positif louispaulb 2026-06-06 15:05:14 -0400
  • 2c3d7e9814 Pont legacy : coords GPS fiables (delivery→SL→RQA→Mapbox) + routage routier réel (Mapbox Matrix) louispaulb 2026-06-06 14:43:34 -0400
  • 0298f414ed feat(planif): éditeur journée = planificateur de tournée (heures recalculées, pas d'overlap, RDV verrouillables, détails) louispaulb 2026-06-06 13:56:26 -0400
  • bae6771b34 feat(planif): éditeur journée — réordonnancement fiable (flèches+drop) + durée éditable (min) + temps de transport louispaulb 2026-06-06 13:41:28 -0400
  • c9fbbdbe9e feat(planif): éditeur de JOURNÉE contextuel au clic sur le progressbar (drag-drop réordonner + retirer) louispaulb 2026-06-06 13:29:55 -0400
  • 455a66aeb9 refactor(planif): clic progressbar → timeline éditable Dispatch (tech+jour) au lieu du popup maison louispaulb 2026-06-06 13:19:59 -0400
  • b7b7da783b feat(dispatch): date d'ouverture + MàJ en tête du détail ticket (mouseover) pour juger la fermeture louispaulb 2026-06-06 13:07:15 -0400
  • c8377a208a fix(dispatch): pont lisait un réplica figé (avril) + auto-fermeture des DJ dont le ticket legacy est closed louispaulb 2026-06-06 13:03:10 -0400
  • a7a428f261 feat(planif): tri du panneau flottant « Jobs à assigner » (groupe/compétence/date/ville/priorité) louispaulb 2026-06-06 12:48:44 -0400
  • 368e22d57e feat(planif): blocs cellule colorés par compétence + menu réordonner/re-prioriser au clic sur le progressbar louispaulb 2026-06-06 12:44:22 -0400
  • 5e57b72a8f feat(dispatch): couleur ticket = couleur skill + fil complet du ticket + tri pool (date/ville/priorité) louispaulb 2026-06-06 12:37:45 -0400
  • 6f709dd8e1 feat(dispatch): réconciliation + heartbeat + détails ticket dans Ops + couleurs panneau roster louispaulb 2026-06-06 11:50:21 -0400
  • 8b23367939 docs: cadre best-practices « ne rien échapper » + automatisation closed-loop (tailored stack TARGO) louispaulb 2026-06-06 11:34:10 -0400
  • 4b377eb887 feat(dispatch): bouton « Activer STB (Ministra) » — lien d'activation TV extrait du ticket legacy (Phase 1) louispaulb 2026-06-06 11:20:09 -0400
  • 15976342e4 feat(dispatch): bouton « Répondre dans legacy » (lien reply_ticket.php du tech) louispaulb 2026-06-06 10:30:32 -0400
  • 67395cd35e feat(dispatch): pastille couleur par type + badge « en retard » dans le pool & le détail louispaulb 2026-06-06 10:19:03 -0400
  • dadda9fd49 feat(dispatch): coloriage cartes par type legacy + n° ticket dans le détail louispaulb 2026-06-06 10:05:45 -0400
  • 70bf25ea84 feat(dispatch): pont legacy(osTicket)→Dispatch Job pour les tickets « Tech Targo » louispaulb 2026-06-06 09:33:53 -0400
  • c4de33d448 roster(planif): chip compteur « N hors quart » dans la barre (signal hebdo des jobs assignés sans quart publié) louispaulb 2026-06-06 09:15:16 -0400
  • bc5bb06794 roster(planif/dispatch): On-Hold bloqué, alerte hors-quart, deep-link Dispatch, aviser client (#58) louispaulb 2026-06-06 09:13:17 -0400
  • f1204ed459 roster(planif): assignation drag-drop + timeline ressource + occupation + nettoyage roster/planif-assign-timeline louispaulb 2026-06-05 15:50:17 -0400
  • 70c89b2cea Garde: 2 horaires par règle — semaine (soir 17h-minuit) vs fin de semaine (8h-minuit) louispaulb 2026-06-04 22:33:07 -0400
  • 0320c8716f Garde: fix « 0 assignations » — rétrocompat des règles sans steps/anchor louispaulb 2026-06-04 22:29:57 -0400
  • e454e3f276 Garde: moteur fiable — séquence d'étapes {tech, weeks} + semaine d'ancrage (parcours déterministe) louispaulb 2026-06-04 22:15:50 -0400
  • 761498d65c Planification: marquer une absence d'1 jour depuis la grille (touche A + menu) louispaulb 2026-06-04 22:02:39 -0400
  • 58253d2e2f Garde: génération sur un HORIZON multi-semaines (évènement récurrent) au lieu d'une seule semaine louispaulb 2026-06-04 21:58:15 -0400
  • 2b71d1c78c Garde: presets Soirs de semaine/Fin de semaine (combinables) + rotation par semaine (défaut) + aperçu louispaulb 2026-06-04 21:47:04 -0400
  • b9d4d46d1c Roster publish: diff au lieu de wipe+recreate → publication quasi instantanée louispaulb 2026-06-04 21:20:03 -0400
  • 16325ed967 Garde: la rotation avance par jour de garde (la séquence continue sur les jours affichés) louispaulb 2026-06-04 21:17:25 -0400
  • d0ab57b1b5 Garde: séquence de rotation éditable — doublons permis + remplacer un tech par position louispaulb 2026-06-04 21:01:42 -0400
  • 05b5b16a5d Garde: dept libre + liste techs complète + réordonner la rotation + éditer + 2 sem. consécutives louispaulb 2026-06-04 20:53:26 -0400
  • fe60eeb485 Planification: drapeau « longue durée » sur absence (maternité/invalidité = à remplacer) louispaulb 2026-06-04 20:31:39 -0400
  • 8d946daf8d Planification: rotation de garde par département (récurrence + rotation) louispaulb 2026-06-04 20:27:24 -0400
  • 060ee578c3 Planification: modèle par défaut (★) appliqué en 1 clic louispaulb 2026-06-04 20:23:40 -0400
  • cdd72856a4 Planification: application de modèle consciente des absences (permanent vs vacances) louispaulb 2026-06-04 20:16:05 -0400
  • 9261692c7f Planification: menu de case court (2 raccourcis + slider en haut) — Appliquer toujours atteignable louispaulb 2026-06-04 19:55:32 -0400
  • ece0ccb6ff Planification: Suppr/Backspace pour vider les cases sélectionnées (ou la case active) louispaulb 2026-06-04 19:46:04 -0400
  • 89a366d197 Planification: hachuré = ABSENT (congé/pause), garde = pointillé ambre (sur appel hors heures) louispaulb 2026-06-04 19:43:47 -0400
  • 021417f29f Planification: contour 1px foncé autour de la bande de disponibilité (vs fond du timeline) louispaulb 2026-06-04 19:36:07 -0400
  • 5ad17c0d19 Planification: fix slider d'ajustement (menu) — sélection de texte + resize continu louispaulb 2026-06-04 19:29:57 -0400
  • 94c7566dd3 Planification: barre de temps pâle + barre de statut opaque vert→orange (occupation) louispaulb 2026-06-04 19:22:05 -0400
  • d7867e2a62 Planification: cellule = barre de dispo seule sur une échelle de temps (règle horaire en-tête) louispaulb 2026-06-04 19:18:38 -0400
  • 738d315785 Planification: barre de dispo dégradée par l'heure (bleu matin → violet soir), fini les lettres louispaulb 2026-06-04 19:12:27 -0400
  • 142ce45755 Planification: ne montrer que les presets nommés + coller multi-cases fiable + fix Cmd+C/V louispaulb 2026-06-04 19:04:37 -0400
  • 7f6d314cc0 Planification: fix menu (régression cellHours) + copier/coller + slider d'ajustement dans le menu louispaulb 2026-06-04 17:24:07 -0400
  • c2f3e4d666 Planification: copier-coller de cases + créneaux custom (slider q-range) + auto-nommage louispaulb 2026-06-04 16:02:15 -0400
  • dfefd7822f Planification: cellule sans icônes — juste intervalle + timeline louispaulb 2026-06-04 15:55:02 -0400
  • 17d8442b98 Roster: la garde ne compte PAS comme heures travaillées (mise en dispo) louispaulb 2026-06-04 15:52:01 -0400
  • 72845e2057 Planification: axe timeline adaptatif + intervalle texte + modèles triés par usage louispaulb 2026-06-04 15:48:47 -0400
  • 1ab9f64b48 Roster: quart de Garde (on_call) = réserve d'urgence, jamais offert au booking louispaulb 2026-06-04 15:37:34 -0400
  • 049897e021 Planification: micro-timeline 24h, multi-shift, neutre/coloré, label h utilisées + icône période louispaulb 2026-06-04 15:27:32 -0400
  • 341c8e5a64 Planification: mini-timeline positionnée (fenêtre réelle du shift + blocs pris) louispaulb 2026-06-04 15:21:04 -0400
  • 49795f858b Planification: taux d'occupation par cellule (jobs assignés / heures du shift) louispaulb 2026-06-04 15:13:27 -0400
  • 88b2702489 Copilote: agit vraiment sur les absences (gerer_absence + IROPS rematch) + gig dispo louispaulb 2026-06-04 14:43:03 -0400
  • 43c67e3a18 Ops RDV+Copilote: vue agent (semaine/jour + hold), file À recontacter, réglages #56 louispaulb 2026-06-04 14:28:14 -0400
  • 7f3ad56188 Booking #56: politique de créneaux offerts + holds temporaires louispaulb 2026-06-04 14:19:42 -0400
  • 69ad35b9bc Booking /book: grille semaine → jour → Matin/Après-midi (se situer dans le temps) louispaulb 2026-06-04 14:04:08 -0400
  • 42c07d36f2 Fix reschedule: notify-reschedule désassigne (vide date/heure/tech, status open) → /book repropose des créneaux louispaulb 2026-06-04 13:56:20 -0400
  • 097e0566ec Reschedule: endpoint aviser-client (lien /book + SMS Twilio + statut 'À reporter') + file 'À reporter' + outil copilote louispaulb 2026-06-04 13:28:45 -0400
  • 5d371a2a8b Ops: authFetch robuste — reconnexion auto sur session Authentik expirée louispaulb 2026-06-04 12:20:01 -0400
  • 1f47ee4eae Ops cohérence: composants partagés TechSelect (autosuggest) + SkillSelect (chips) louispaulb 2026-06-04 11:57:58 -0400
  • 412b6f49a6 Copilote roster: outils d'action (marquer_indisponibilite + reassigner_job) louispaulb 2026-06-04 11:57:33 -0400
  • 79d160b9f1 Ops: page Copilote dispatch (chat + voix + sélecteur de politique) louispaulb 2026-06-04 11:09:16 -0400
  • d1bd268a32 Copilote roster (Gemini Flash, function-calling) + politique de reprise configurable louispaulb 2026-06-04 11:08:26 -0400
  • 3a90dafb9f docs: déploiement Karrio (expédition multi-transporteurs self-hosted) + sources louispaulb 2026-06-04 10:25:36 -0400
  • a855e11476 Store: prix barré par produit via champ Item.store_regular_price louispaulb 2026-06-03 21:55:57 -0400
  • 5807d58913 Store: catalogue live depuis ERPNext (GET /store/catalog) louispaulb 2026-06-03 21:23:01 -0400
  • 87949f933d Boutique matériel — page modèle /store (staging, self-contained Vue 3) louispaulb 2026-06-03 20:09:47 -0400
  • 37f4d5a941 Wizard: section Installation (palier financé) à l'étape Items louispaulb 2026-06-03 19:20:04 -0400
  • e2104c93f2 Wizard: 2 cases génériques Prix marketing / Prix original (barré) sur toutes les lignes + aperçu client WYSIWYG louispaulb 2026-06-03 18:31:54 -0400
  • 4b2e6fb698 Install: prix barré 360$ → 240$ (ancre de valeur) + 'financement crédité chaque mois 24 mois' dans contrat + portail signup louispaulb 2026-06-03 18:22:22 -0400
  • 7267a27cda Portail self-service abonnement (staging /signup): stepper épuré Forfait→Coordonnées→Récap→Confirmation, catalogue réel, capture Lead louispaulb 2026-06-03 18:16:19 -0400
  • 6ff4a324ca Récap contrat: détail mensuel (forfait + financement install − rabais nouveau client = net), install offerte tant qu'abonné louispaulb 2026-06-03 18:08:08 -0400
  • 45c31e555f Contrat résidentiel: conformité CRTC 2026-43 (fin du clawback) louispaulb 2026-06-03 18:05:56 -0400
  • ba76b8f3cc Site: texte Actualités révisé + template courriel gift natif (FR) louispaulb 2026-06-03 16:42:52 -0400
  • f4138cdd75 Roster AI (planification) + prise de rendez-vous client louispaulb 2026-06-03 16:42:44 -0400
  • d8366ab0be docs: spec module Shifts (intégré dispatch, sans paie) louispaulb 2026-06-02 18:06:19 -0400
  • 21e2c846bf feat(ops): Email Queue admin page (view/delete/purge ERPNext outbound) louispaulb 2026-06-02 17:29:33 -0400
  • c4bf18fdcb fix(legacy-report): treat accounts with a company name as commercial louispaulb 2026-06-02 06:33:25 -0400
  • b01cf19db6 chore(legacy): reusable targeted refresh of report tables from live billing DB louispaulb 2026-06-01 23:03:21 -0400
  • bde7a5ef67 feat(ops): Ville column in overpriced-internet report (sort + filter by city) louispaulb 2026-06-01 22:44:34 -0400
  • 105b0b2a51 feat(ops): per-address competitor column via Québec IHV open data louispaulb 2026-06-01 22:40:47 -0400
  • 76573f58e9 fix(website): rewrite garbled "Notre histoire — 2005" section louispaulb 2026-06-01 22:15:33 -0400
  • 5bc42bda9f fix(cogeco-checker): disable browser cache to rule it out as 401 cause louispaulb 2026-06-01 21:47:19 -0400
  • 68ba64c47b feat(ops): assisted Cogeco spot-check on overpriced-internet report louispaulb 2026-06-01 21:24:36 -0400