Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Ocaz, le logiciel des petits marchands de véhicules d'occasion (La Réunion), utilisable sur téléphone et sur PC.
planning dans les données) servent toujours au Tableau de bord et aux offres.plaque (voir plus bas).
Dans une reprise, « Scanner la carte grise » (photo ou image) lit la carte sur l'appareil avec Tesseract (gratuit,
scan.js) : plaque (A), VIN (E), date de 1re mise en circulation (B), marque (D.1), modèle (D.3), cylindrée (P.1),
puissance (P.2 en kW → ch), énergie (P.3), puissance fiscale (P.6), places (S.1), CO2 (V.7). La plaque lue lance
ensuite la recherche par plaque pour compléter, et la photo est rangée dans les documents du véhicule.
Une fois la reprise validée, sa fiche propose Modifier, Rentrer en stock ou Annuler la reprise. « Rentrer en stock »
(entree.js) ouvre une page Photos, Informations (reprises de la reprise, champs vides en jaune), Options (cases à
cocher par catégorie, pré-cochées d'après la boîte, l'énergie, les places et le nom de la version) et Vente (prix
d'achat, prix de vente, entrée en stock, livre de police). Les options cochées remplissent « Options et équipements ».
Photos (visionneuse.js) : elles défilent au doigt sur téléphone et avec les flèches (ou ← →) sur ordinateur, dans les cartes
du Stock, des Partenaires et sur la fiche ; sur la fiche, un appui ouvre le plein écran.
Cadrage (cadrage.js) : chaque photo ajoutée est cadrée sur le véhicule au format 4:3 (reconnaissance d'objets
COCO-SSD sur l'appareil, servie depuis vendor/ : poids réduits en 8 bits, 5 Mo, gardés hors ligne). Si le véhicule
déborde, la photo est dézoomée et les bords remplis par la photo floutée. « Cadrer » sur une photo permet de
déplacer, zoomer ou dézoomer à la main. Le cadrage est enregistré dans la photo : site public, réseau et PDF en profitent.Ce dépôt est l'appli des pros, à l'adresse ocaz.re. Le site public (véhicules du réseau, vitrines des garages, integrer.js,
pages légales, rejoindre, outils) est dans le dépôt SITE-VITRINE- (ex-ocaz, ex-CRM-ZX), à l'adresse reseau.ocaz.re.
robots.txt interdit tout, et chaque page a <meta name="robots" content="noindex">.
Aucun lien du site public ne mène ici : Anthony envoie lui-même l'adresse aux pros. La vraie protection reste la connexion./apporteur sans connexion renvoie vers la connexion (plus d'inscription en ligne : voir « Comptes et droits »).https://reseau.ocaz.re/.ocaz.re : 404.html renvoie toute autre adresse (/reseau, /vitrine?g=…,
pages légales…) vers reseau.ocaz.re, et integrer.js reste ici pour les codes déjà collés sur des sites de garages.admin.html (/admin), où il arrive
directement à la connexion. Identifiant court admin (table crm_identifiants), mot de passe de départ admin à changer avant le lancement.12345678.crm_entreprises.config, lu par droits.js) : réseau Ocaz (+ commission), dépôt-vente, achat-revente.
Achat-revente seul : pas d'onglet Dépôt vente. Dépôt-vente seul : pas d'onglet Reprise, Stock limité aux véhicules partenaires.
Le Stock a toujours un sous-onglet Partenaires (véhicules partagés par les autres garages du réseau).depotvente.js) : En stock / Réservés / Vendus (+ À compléter). Nouveau dépôt en 4 étapes :
client, véhicule, prix et commission (validable dès cette étape), documents (CNI, carte grise, justificatif de domicile, RIB),
téléversés ou photographiés l'un après l'autre sur téléphone (scan.js, lecture automatique Tesseract chargée à la demande).administratif.js) : toute la paperasse. À faire (déclarations d'achat et de cession au SIV sous 15 jours,
CT de moins de 6 mois, factures à éditer, mandats qui expirent, reversements, W garage et assurance qui arrivent à échéance),
Véhicules (dossier de chaque véhicule : livre de police, cession, déclaration d'achat, CT, bon de commande, facture),
Registres (livre de police, factures et export comptable, mandats) et Garage (habilitations, échéances, documents du garage).
Champs ajoutés : daSiv, cessionSiv, ctDate sur les véhicules, parametres.administratif pour le garage. Pas de SQL à lancer.apporteur.html, gratuit, compte créé par l'administrateur) : contrat signé en ligne à la première connexion,
Suivi leads (en cours, clos, terminés), Tableau de bord (commissions, ventes, leads en souffrance, taux de transformation),
Réseau (choisir un véhicule et envoyer un client, avec son accord RGPD et une reprise éventuelle), Paramètres (infos, RIB,
factures de commission, contrat). Démo : identifiant apporteur, mot de passe test.revision).Appli web statique (HTML, CSS, JavaScript, sans build), hébergeable gratuitement sur GitHub Pages.
Les données de chaque garage sont dans Supabase (une ligne JSON par garage, table crm_entreprises, voir sync.js),
avec une copie dans le navigateur (localStorage) ; tout passe par l'objet db dans app.js.
sw.js garde une copie de l'appli sur l'appareil : elle s'ouvre depuis cette copie, sans redemander chaque fichier au serveur.version.json change à chaque mise en ligne : l'action GitHub .github/workflows/version.yml le réécrit toute seule
après chaque fusion dans main (commit « Version publiée … » du robot). Ne pas le modifier à la main.maj.js lit version.json toutes les 5 minutes : nouvelle version → bandeau « Mettre à jour ». À l'ouverture, si la copie
du téléphone est plus ancienne que la version en ligne, elle est jetée et l'appli se recharge tout de suite.chargerScript dans app.js) : qrcode.js, demo.js,
et dans vendor/ le PDF et l'Excel ; la lecture des documents (Tesseract) vient d'internet.Pour l'essayer en local : ouvrir index.html dans un navigateur.
Le fichier CNAME (contenu : ocaz.re) relie ce dépôt au domaine (zone DNS OVH : 4 A sur @ vers GitHub Pages, www en CNAME).
main, / (root) ; Custom domain = ocaz.re ; Enforce HTTPS.
Le domaine doit d'abord être retiré des réglages Pages du dépôt ocaz (un domaine ne peut servir qu'un dépôt).https://ocaz.re, Redirect URLs https://ocaz.re/**.
Les données gardées dans le navigateur dépendent de l'adresse : en changeant d'adresse, il faut se reconnecter une fois.CRMZX. L'adresse et la clé publique sont dans config.js (clé publique, faite pour être visible).supabase.sql crée ou met à jour toute la base et peut être relancé sans risque (SQL Editor > Run).crm_entreprises, protégée par les règles d'accès (RLS).
Quand deux appareils modifient en même temps, la synchronisation fusionne fiche par fiche (sync.js).plaque)supabase/functions/plaque/index.ts interroge le fournisseur (immatriculationapi.com conseillé, 0,20 € la recherche ;
ou une API plaque RapidAPI). La clé est un secret Supabase, jamais dans l'appli ni dans ce dépôt.PLAQUE_UTILISATEUR (immatriculationapi.com) ou PLAQUE_RAPIDAPI_CLE (+ PLAQUE_RAPIDAPI_HOST),
et PLAQUE_LIMITE_MOIS (30 recherches payantes par garage et par mois par défaut).crm_plaque_cache.supabase.sql.plaque, coller index.ts,
décocher « Verify JWT » (la fonction vérifie elle-même le compte connecté).