Commit Graph

  • aa108ab13f feat(field-tech): app Capacitor native (geofence Transistorsoft + scan MLKit) + CI louispaulb 2026-06-08 19:47:27 -0400
  • 98458861c3 feat(dispatch): capacité AM/PM, durées additives, capture terrain (/field), sync techs louispaulb 2026-06-08 19:47:21 -0400
  • ebad7066d6 feat(dispatch/assign): vue date DUE, confirm Quasar, carte→liste louispaulb 2026-06-07 22:46:33 -0400
  • 3d65b994e5 feat(dispatch): fermer ticket (unitaire + lot), tri ASC/DESC, batch PHP louispaulb 2026-06-07 22:40:26 -0400
  • 4abce6fd66 feat(dispatch): pont d'écriture legacy + adresses/coords/carte/UX Planification louispaulb 2026-06-07 22:32:00 -0400
  • 4a3dc01938 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
  • 29054c49c2 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
  • 34b10e0a1e Planification : carte de journée INTERACTIVE (Mapbox GL) — itinéraire routier réel + zoom/déplacement louispaulb 2026-06-07 17:44:22 -0400
  • 1673f7cd9a Pont : import basé sur l'ADRESSE DE SERVICE (delivery), pas la facturation (compte) louispaulb 2026-06-07 17:36:17 -0400
  • de496f8405 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
  • ab5eceb961 Conformité : repli « centre du code postal / ville » pour les unmatched restants (statut 'area') louispaulb 2026-06-07 17:14:41 -0400
  • ed651d3ce9 Campings : gestion du registre + réapplication self-service depuis Ops louispaulb 2026-06-07 17:07:15 -0400
  • e278d0d7b3 Campings : registre + géoloc de remplacement FIXE sur tous les lots (1405 corrigés) louispaulb 2026-06-07 17:04:03 -0400
  • 5d4f66108d 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
  • fbf584f02f Phase 1 (hygiène) : utils partagés + logique pure testable + observabilité erp + 1ers tests louispaulb 2026-06-07 10:36:41 -0400
  • fc95a6cd4f Optimisation (consolidation helpers address) + doc Vision/modularisation louispaulb 2026-06-07 01:28:54 -0400
  • 72d23665b2 Page Ops « Conformité des adresses » — source de vérité unique pour résoudre le backlog louispaulb 2026-06-07 01:06:55 -0400
  • d17da8c40c SL normalisation passe 2 : récupération GPS par numéro+ville (sans contrainte postale) louispaulb 2026-06-06 16:19:37 -0400
  • ef6a993e6b Normalisation AQ des 17k Service Locations (lien RQA + statut, adresse originale préservée) louispaulb 2026-06-06 15:59:21 -0400
  • ccad864165 Recherche d'adresses : base LOCALE (Postgres ERPNext) au lieu du Supabase cloud externe louispaulb 2026-06-06 15:46:47 -0400
  • 60dc095f56 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
  • e14026ae23 Pont legacy : coords GPS fiables (delivery→SL→RQA→Mapbox) + routage routier réel (Mapbox Matrix) louispaulb 2026-06-06 14:43:34 -0400
  • 22fbb81d3e 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
  • faea3b0c1a 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
  • d96e7be672 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
  • 482cc948b3 refactor(planif): clic progressbar → timeline éditable Dispatch (tech+jour) au lieu du popup maison louispaulb 2026-06-06 13:19:59 -0400
  • be222d005e 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
  • 8707cd7c2e 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
  • 5eb1e587da feat(planif): tri du panneau flottant « Jobs à assigner » (groupe/compétence/date/ville/priorité) louispaulb 2026-06-06 12:48:44 -0400
  • 510f8c10e0 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
  • 2631ed9199 feat(dispatch): couleur ticket = couleur skill + fil complet du ticket + tri pool (date/ville/priorité) louispaulb 2026-06-06 12:37:45 -0400
  • b492e30971 feat(dispatch): réconciliation + heartbeat + détails ticket dans Ops + couleurs panneau roster louispaulb 2026-06-06 11:50:21 -0400
  • 971366fbb8 docs: cadre best-practices « ne rien échapper » + automatisation closed-loop (tailored stack TARGO) louispaulb 2026-06-06 11:34:10 -0400
  • 7f22647ce4 feat(dispatch): bouton « Activer STB (Ministra) » — lien d'activation TV extrait du ticket legacy (Phase 1) louispaulb 2026-06-06 11:20:09 -0400
  • dab1281953 feat(dispatch): bouton « Répondre dans legacy » (lien reply_ticket.php du tech) louispaulb 2026-06-06 10:30:32 -0400
  • 5e32f5933a feat(dispatch): pastille couleur par type + badge « en retard » dans le pool & le détail louispaulb 2026-06-06 10:19:03 -0400
  • 3c17805770 feat(dispatch): coloriage cartes par type legacy + n° ticket dans le détail louispaulb 2026-06-06 10:05:45 -0400
  • 30d8b0b29c feat(dispatch): pont legacy(osTicket)→Dispatch Job pour les tickets « Tech Targo » louispaulb 2026-06-06 09:33:53 -0400
  • 90f7237312 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
  • f7343f6e0e roster(planif/dispatch): On-Hold bloqué, alerte hors-quart, deep-link Dispatch, aviser client (#58) louispaulb 2026-06-06 09:13:17 -0400
  • e33dd8e83a roster(planif): assignation drag-drop + timeline ressource + occupation + nettoyage roster/planif-assign-timeline louispaulb 2026-06-05 15:50:17 -0400
  • d128adf152 Garde: 2 horaires par règle — semaine (soir 17h-minuit) vs fin de semaine (8h-minuit) louispaulb 2026-06-04 22:33:07 -0400
  • 42eac0101b Garde: fix « 0 assignations » — rétrocompat des règles sans steps/anchor louispaulb 2026-06-04 22:29:57 -0400
  • 9e47e28e2b Garde: moteur fiable — séquence d'étapes {tech, weeks} + semaine d'ancrage (parcours déterministe) louispaulb 2026-06-04 22:15:50 -0400
  • 9ec829fc6f Planification: marquer une absence d'1 jour depuis la grille (touche A + menu) louispaulb 2026-06-04 22:02:39 -0400
  • a60a9bee91 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
  • 8bd3047d96 Garde: presets Soirs de semaine/Fin de semaine (combinables) + rotation par semaine (défaut) + aperçu louispaulb 2026-06-04 21:47:04 -0400
  • 2e5ef6d001 Roster publish: diff au lieu de wipe+recreate → publication quasi instantanée louispaulb 2026-06-04 21:20:03 -0400
  • ca82cfed9f 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
  • b00217e53e Garde: séquence de rotation éditable — doublons permis + remplacer un tech par position louispaulb 2026-06-04 21:01:42 -0400
  • ae60e60f9a Garde: dept libre + liste techs complète + réordonner la rotation + éditer + 2 sem. consécutives louispaulb 2026-06-04 20:53:26 -0400
  • fedaf53a3b Planification: drapeau « longue durée » sur absence (maternité/invalidité = à remplacer) louispaulb 2026-06-04 20:31:39 -0400
  • d6c4e05488 Planification: rotation de garde par département (récurrence + rotation) louispaulb 2026-06-04 20:27:24 -0400
  • 15276c89ff Planification: modèle par défaut (★) appliqué en 1 clic louispaulb 2026-06-04 20:23:40 -0400
  • 1459ae6506 Planification: application de modèle consciente des absences (permanent vs vacances) louispaulb 2026-06-04 20:16:05 -0400
  • 5e15ed5b8b Planification: menu de case court (2 raccourcis + slider en haut) — Appliquer toujours atteignable louispaulb 2026-06-04 19:55:32 -0400
  • ac957b251b Planification: Suppr/Backspace pour vider les cases sélectionnées (ou la case active) louispaulb 2026-06-04 19:46:04 -0400
  • bb337db14f Planification: hachuré = ABSENT (congé/pause), garde = pointillé ambre (sur appel hors heures) louispaulb 2026-06-04 19:43:47 -0400
  • 2260a302b3 Planification: contour 1px foncé autour de la bande de disponibilité (vs fond du timeline) louispaulb 2026-06-04 19:36:07 -0400
  • 5376cbb14e Planification: fix slider d'ajustement (menu) — sélection de texte + resize continu louispaulb 2026-06-04 19:29:57 -0400
  • 23a2e527cd Planification: barre de temps pâle + barre de statut opaque vert→orange (occupation) louispaulb 2026-06-04 19:22:05 -0400
  • 0b8ebf3b8f 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
  • 1aefd0fdec 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
  • b05ee54f92 Planification: ne montrer que les presets nommés + coller multi-cases fiable + fix Cmd+C/V louispaulb 2026-06-04 19:04:37 -0400
  • ed8ef3bbc6 Planification: fix menu (régression cellHours) + copier/coller + slider d'ajustement dans le menu louispaulb 2026-06-04 17:24:07 -0400
  • 0cf14ec978 Planification: copier-coller de cases + créneaux custom (slider q-range) + auto-nommage louispaulb 2026-06-04 16:02:15 -0400
  • ea4d91400d Planification: cellule sans icônes — juste intervalle + timeline louispaulb 2026-06-04 15:55:02 -0400
  • 054deb7b97 Roster: la garde ne compte PAS comme heures travaillées (mise en dispo) louispaulb 2026-06-04 15:52:01 -0400
  • 63c19b8b92 Planification: axe timeline adaptatif + intervalle texte + modèles triés par usage louispaulb 2026-06-04 15:48:47 -0400
  • ebb440b5d8 Roster: quart de Garde (on_call) = réserve d'urgence, jamais offert au booking louispaulb 2026-06-04 15:37:34 -0400
  • f0d6e9fffe Planification: micro-timeline 24h, multi-shift, neutre/coloré, label h utilisées + icône période louispaulb 2026-06-04 15:27:32 -0400
  • 2f868133d5 Planification: mini-timeline positionnée (fenêtre réelle du shift + blocs pris) louispaulb 2026-06-04 15:21:04 -0400
  • fd5c83d367 Planification: taux d'occupation par cellule (jobs assignés / heures du shift) louispaulb 2026-06-04 15:13:27 -0400
  • 96a76812d6 Copilote: agit vraiment sur les absences (gerer_absence + IROPS rematch) + gig dispo louispaulb 2026-06-04 14:43:03 -0400
  • ee71f69adc Ops RDV+Copilote: vue agent (semaine/jour + hold), file À recontacter, réglages #56 louispaulb 2026-06-04 14:28:14 -0400
  • d94623e58a Booking #56: politique de créneaux offerts + holds temporaires louispaulb 2026-06-04 14:19:42 -0400
  • 20ba2a327e Booking /book: grille semaine → jour → Matin/Après-midi (se situer dans le temps) louispaulb 2026-06-04 14:04:08 -0400
  • fa696fb8e9 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
  • b77e251e8e Reschedule: endpoint aviser-client (lien /book + SMS Twilio + statut 'À reporter') + file 'À reporter' + outil copilote louispaulb 2026-06-04 13:28:45 -0400
  • a5270f8749 Ops: authFetch robuste — reconnexion auto sur session Authentik expirée louispaulb 2026-06-04 12:20:01 -0400
  • 535c2f13bd Ops cohérence: composants partagés TechSelect (autosuggest) + SkillSelect (chips) louispaulb 2026-06-04 11:57:58 -0400
  • b2176c54b0 Copilote roster: outils d'action (marquer_indisponibilite + reassigner_job) louispaulb 2026-06-04 11:57:33 -0400
  • 7bcca6e5ca Ops: page Copilote dispatch (chat + voix + sélecteur de politique) louispaulb 2026-06-04 11:09:16 -0400
  • 5f7cca60aa Copilote roster (Gemini Flash, function-calling) + politique de reprise configurable louispaulb 2026-06-04 11:08:26 -0400
  • 0f99f771e4 docs: déploiement Karrio (expédition multi-transporteurs self-hosted) + sources louispaulb 2026-06-04 10:25:36 -0400
  • 70f02c8c85 Store: prix barré par produit via champ Item.store_regular_price louispaulb 2026-06-03 21:55:57 -0400
  • 98b43fd36f Store: catalogue live depuis ERPNext (GET /store/catalog) louispaulb 2026-06-03 21:23:01 -0400
  • ae9c93d515 Boutique matériel — page modèle /store (staging, self-contained Vue 3) louispaulb 2026-06-03 20:09:47 -0400
  • fe4825d93b Wizard: section Installation (palier financé) à l'étape Items louispaulb 2026-06-03 19:20:04 -0400
  • c176c51fbb 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
  • a3679e5b4a 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
  • 735de73fde 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
  • d05494d4d2 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
  • 8c7f14c00a Contrat résidentiel: conformité CRTC 2026-43 (fin du clawback) louispaulb 2026-06-03 18:05:56 -0400
  • f2d1c00462 Site: texte Actualités révisé + template courriel gift natif (FR) louispaulb 2026-06-03 16:42:52 -0400
  • 1a4c45662a Roster AI (planification) + prise de rendez-vous client louispaulb 2026-06-03 16:42:44 -0400
  • 9f2d56359f docs: spec module Shifts (intégré dispatch, sans paie) louispaulb 2026-06-02 18:06:19 -0400
  • 7f8382496e feat(ops): Email Queue admin page (view/delete/purge ERPNext outbound) louispaulb 2026-06-02 17:29:33 -0400
  • be81a7ef0b fix(legacy-report): treat accounts with a company name as commercial louispaulb 2026-06-02 06:33:25 -0400
  • eb0d8b1010 chore(legacy): reusable targeted refresh of report tables from live billing DB louispaulb 2026-06-01 23:03:21 -0400