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é).