🔒 bcPRISME

Connectez-vous au Dashboard

Mot de passe oublie ?

Connexion perdue. Reconnexion en cours...

Tableau de bord

Connexion...
Clients
--
Total enregistres
Articles en stock
--
Produits actifs
Ventes recentes
--
Derniers 30 jours
Version API
--
--

Ventes par secteur

Top marques vendues

Dernieres ventes

Chargement...

Liste des clients

Chargement...

Repartition par secteur

Stock par marque (top 15)

Articles en stock

Chargement...

Historique des ventes

Chargement...

Travaux disponibles

Chargement...

Bons cadeaux

Chargement...

Cross-tabulation Marque x Taille

🤖 Assistant IA Non configure

Assistant IA bcPRISME

Posez des questions sur vos donnees : stock, ventes, clients, atelier...

L'IA a acces aux donnees synchronisees de votre magasin en temps reel.

Quel est le chiffre d'affaires ce mois-ci ?
Quelles marques se vendent le mieux ?
Quels articles sont en surstock ?
Resume l'activite de l'atelier
Quels clients n'ont pas achete depuis 1 an ?
Version API
V3.006
Babak SàRL
Endpoints actifs
22
16 API + 6 Auth
Serveur
castella20.myds.me:8090
IIS / Embarcadero RADServer
Authentification
Session Token
X-Embarcadero-App-Secret

🌐 Système 1 endpoint

▶

GET   /api/version

Retourne la version de l'API, l'état de la connexion base de données et les infos serveur.

Champs de réponse
ChampTypeDescriptionExemple
companystringNom de l'entrepriseBabak SàRL
versionstringVersion de l'APIV3.006
date_heuredatetimeDate/heure actuelle du serveur2026-02-27T08:00:00.000Z
server_hoststringAdresse du serveurcastella20.myds.me:8090
connexion_dbstringÉtat connexion base de donnéesréussie

👥 Clients 5 endpoints

▶

GET   /api/clients

Retourne la liste complète des clients (29 500+). Données synchronisées en cache SQLite.

Paramètres de requête
ParamètreTypeDescription
limitintegerNombre max de résultats
pageintegerNuméro de page (pagination)
date_modifDD.MM.YYYYModifié depuis cette date
Champs de réponse
ChampTypeDescription
no_cliintegerNuméro client (identifiant unique)
nomstringNom de famille
prenomstringPrénom
raison_socialestringRaison sociale (entreprise)
emailstringAdresse email
tel_mobilestringTéléphone mobile
localitestringVille / Localité
npastringCode postal (NPA)
rue / no_ruestringAdresse
actifO / NClient actif ou non
date_creationdatetimeDate de création
date_modifdatetimeDernière modification

GET   /api/client/:no_cli

Retourne les informations détaillées d'un seul client. Mêmes champs que /api/clients.

GET   /api/clients/:no_cli/ventes

Retourne l'historique des ventes d'un client spécifique. Filtré depuis les données sync.

GET   /api/clients/:no_cli/noseries

Retourne les articles avec numéro de série vendus à un client (vélos, etc.).

GET   /api/clients/noseries

Retourne toutes les ventes d'articles avec numéro de série.

Champs de réponse
ChampTypeDescription
no_cliintegerNuméro client
no_art_stockstringNuméro article
marquestringMarque de l'article
descriptionstringDescription de l'article
no_seriestringNuméro de série
pv_ttcdecimalPrix de vente TTC
date_heuredatetimeDate de vente

📦 Stock 1 endpoint

▶

GET   /api/stock

Retourne tous les articles du stock (69 500+) avec détails couleurs et quantités par taille. Données synchronisées.

Champs de réponse (article)
ChampTypeDescription
no_art_stockstringNuméro article stock
descriptionstringDescription de l'article
marquestringMarque
secteur / rayon / divisionstringClassification
code_saison_chiffrestringAnnée / saison
pa_htdecimalPrix d'achat HT
pv_ttcdecimalPrix de vente TTC
actifO / NArticle actif
Sous-objet : couleurs[] → stocks[]
ChampNiveauTypeDescription
couleurcouleurstringNom de la couleur
qte_stockstockintegerQuantité en stock
taille_txtstockstringTaille (S, M, L, 42...)
code_barrestockstringCode-barres EAN

💰 Ventes 1 endpoint

▶

GET   /api/ventes

Retourne l'historique complet des ventes (170 000+). Données chargées une fois puis filtrées localement par dates et recherche.

Champs de réponse
ChampTypeDescription
no_ventestringNuméro de vente
date_heurestringDate et heure (DD.MM.YYYY HH:MM:SS)
no_clistringNuméro client
user_name_textestringNom du magasin
no_art_stockstringNuméro article
marquestringMarque
descriptionstringDescription article
taille_textestringTaille
id_emplstringCode vendeur
qteintegerQuantité vendue
pa_htdecimalPrix d'achat HT
pv_ttcdecimalPrix de vente TTC
rabais_pourcentdecimalRabais en %
pv_ttc_a_rabaisdecimalPrix TTC après rabais

🎁 Bons cadeaux 1 endpoint

▶

GET   /api/bons

Retourne les bons cadeaux, promotionnels et généraux (2 700+).

Champs de réponse
ChampTypeDescription
no_bonintegerNuméro du bon
no_voucherstringCode voucher (ex: M5JZ-LFYF)
montantdecimalMontant initial (CHF)
soldedecimalSolde restant (CHF)
descriptionstringDescription du bon
type_bonstringG=Général, C=Cadeau, P=Promo
no_clistringClient associé
actifO / NBon actif
date_creationdatetimeDate de création

🔧 Atelier 3 endpoints

▶

GET   /api/atelier/travaux

Répertoire de tous les travaux d'atelier disponibles avec tarifs.

Champs de réponse
ChampTypeDescription
no_rep_travstringNuméro travail
descriptionstringDescription du travail
sequencestringCode séquence
montantdecimalMontant en CHF
nbr_minuteintegerDurée en minutes

GET   /api/atelier/modeles

Modèles de réparation prédéfinis (1er Service VTT, Service complet, etc.).

GET   /api/atelier/occupation

Heures disponibles et occupées par jour et par magasin.

🚲 Location 2 endpoints

▶

GET   /api/location/articles

Catalogue d'articles disponibles à la location avec tarifs journaliers (1 à 21 jours).

GET   /api/location/dispo

Catégories et tailles disponibles en location.

📈 Analyse commerciale 1 endpoint

▶

GET   /api/analyse

Calcule les métriques de performance commerciale : classification ABC, marges, écoulement, actions stock.

Paramètres (tous optionnels)
ParamètreTypeDescription
rayonstringFiltrer par rayon
vente_duDD.MM.YYYYVentes depuis
vente_auDD.MM.YYYYVentes jusqu'à
achat_dustringSaison ≥ (année)
achat_austringSaison ≤ (année)
Réponse JSON
ChampTypeDescription
kpisobjectKPIs globaux : ca, marge, marge_pct, vendu, stock, etc.
brands[]arrayAgrégation par marque
models[]arrayDétail par modèle avec classification ABC et statuts
tailles[]arrayAgrégation par taille
cross[]arrayCross-tabulation marque × taille
top_by_brand{}objectTop 5 modèles par marque
taille_detail{}objectDrill-down par taille
Classification ABC & Statuts

ABC : A = cumul CA ≤ 80% • B = cumul CA ≤ 95% • C = reste

Statuts : top (A + marge≥40%) • rupture (stock=0) • surstock (stock>2×vendu) • dormant (vendu=0) • liquider (vendu=0, stock≥2) • marge_faible (marge<25%)

📦 Livraisons 1 endpoint

▶

GET   /api/livraisons

Liste des articles livrés (réceptions fournisseurs). Source cache : mémoire → SQLite → API.

Réponse (array d'objets)
ChampTypeDescription
no_fournstringN° fournisseur
raison_socialestringNom fournisseur
no_livrstringN° bon de livraison
date_heurestringDate/heure (DD.MM.YYYY HH:MM:SS)
descriptionstringMarque
qte_livrstringQuantité livrée (négatif = retour)
pa_htstringPrix d'achat HT
pv_ttcstringPrix de vente TTC
rayonstringRayon
secteurstringSecteur
code_saison_chiffrestringSaison (année)
code_saison_textestringSaison (ETE/HIVER)
reassortstringRéassort (O/N)
transfertstringTransfert inter-magasin
taille_textestringTaille en texte
Notes

Source API : /bcPRISME/stock/articles/livres

Sync automatique toutes les 60 min. TTL cache : 30 min.

~1280 enregistrements. qte_livr négatif = retour fournisseur.

⚙ Proxy & Divers 3 endpoints

▶

GET   /api/proxy/*

Proxy transparent vers n'importe quel endpoint bcPRISME. Authentification ajoutée automatiquement.

405   /api/enquetes — Non disponible

Verbe HTTP non autorisé (problème IIS côté serveur).

404   /api/velo-vendu — Non disponible

Endpoint introuvable sur le serveur API.

📋 Notes techniques

▶

Base URL API : https://castella20.myds.me:8090/radserver/emsserver.dll

Authentification : POST /users/login avec X-Embarcadero-App-Secret → retourne sessionToken

Headers requis : X-Embarcadero-Session-Token + X-Embarcadero-App-Secret

Format dates : DD.MM.YYYY (ex: 01.02.2026)

Gestion erreurs : En cas de token expiré (HTTP 401), re-login automatique

Magasins : MAGASIN_1 = Grand Rue 17 (Bulle) • MAGASIN_2 = Verdel 22

Cache : 3 niveaux — Memory (node-cache) → SQLite → API live

Sync : Toutes les 60 min, incrémentale après 1er sync complet, 3 retries/page

--
CPU
--
RAM
--
Disque
--
Uptime

💻 Processeur

🧠 Memoire

💾 Stockage

🌐 Reseau

⚙ Processus PM2

💡 Application Node.js

⚡ Cache API

💾 Base de donnees locale (SQLite)

Sync automatique :

🕒 Planification de la synchronisation

Mode :
Mode Calendrier — Jours et heures fixes
Jour Actif Sync 1 Sync 2
Mode Intervalle — Synchronisation periodique
Synchroniser toutes les minutes
De a

Connexion au serveur bcPRISME

▼

Assistant IA

▼

Configuration du provider IA pour l'assistant intelligent du dashboard.

Endpoints API disponibles

▼

Liste des endpoints exposes par le proxy local (http://localhost:3000)

MethodeEndpoint localAPI bcPRISMEDescription
GET/api/version/bcPRISME/versionVersion de l'API
GET/api/clients/bcPRISME/clientsListe des clients
GET/api/client/:id/bcPRISME/client/:idDetail d'un client
GET/api/stock/bcPRISME/stock/articlesArticles en stock
GET/api/ventes/bcPRISME/ventesHistorique des ventes
GET/api/bons/bcPRISME/bonsBons cadeaux
GET/api/atelier/travaux/bcPRISME/atelier/travauxTravaux d'atelier
GET/api/atelier/modeles/bcPRISME/atelier/modelesModeles d'atelier
GET/api/atelier/occupation/bcPRISME/atelier/occupationOccupation atelier
GET/api/location/articles/bcPRISME/location/articlesArticles de location
GET/api/enquetes/bcPRISME/enquetesEnquetes satisfaction
GET/api/velo-vendu/bcPRISME/stock/velo/venduVelos vendus

Endpoints Authentification Dashboard

▼

Gestion des utilisateurs et sessions du dashboard (JWT). Toutes les routes /api/* (sauf login) necessitent le header Authorization: Bearer <token>

MethodeEndpointProtectionDescription
POST/api/auth/loginAucuneConnexion utilisateur, retourne JWT + infos
GET/api/auth/meJWTRetourne l'utilisateur connecte
GET/api/auth/usersJWT + AdminListe tous les utilisateurs
POST/api/auth/usersJWT + AdminCreer un utilisateur
PUT/api/auth/users/:idJWT + AdminModifier un utilisateur
DELETE/api/auth/users/:idJWT + AdminSupprimer un utilisateur
POST/api/auth/forgot-passwordAucuneDemande de reinitialisation par email
POST/api/auth/reset-passwordAucuneReinitialiser le mot de passe avec token
GET/api/smtp-configJWT + AdminConfiguration SMTP actuelle
POST/api/smtp-configJWT + AdminSauvegarder la configuration SMTP
POST/api/smtp-testJWT + AdminTester la connexion SMTP

Endpoints Monitoring & Cache

▼

Surveillance du serveur VPS et gestion du cache API en memoire. Necessitent les droits administrateur.

MethodeEndpointProtectionDescription
GET/api/system/statsJWT + AdminStats systeme : CPU, RAM, disque, reseau, PM2, Node.js
GET/api/cache/statsJWT + AdminStatistiques du cache : entrees, hits, misses, cles
DELETE/api/cache/clearJWT + AdminVider la totalite du cache
DELETE/api/cache/clear/:prefixJWT + AdminVider le cache par prefixe (ex: clients, stock, ventes)
SQLite Mirror (Base locale)
GET/api/sync/statusJWT + AdminStatut de la synchronisation SQLite + stats base
POST/api/sync/triggerJWT + AdminLancer une synchronisation manuelle immediate
DELETE/api/sync/cacheJWT + AdminVider tout le cache SQLite
DELETE/api/sync/cache/:resourceJWT + AdminVider une ressource SQLite (ex: clients, stock)

Architecture cache 3 niveaux :

1. Memoire (node-cache) : TTL variable — version (24h) • clients/bons/location (10 min) • stock/atelier (5 min) • ventes (3 min)

2. SQLite (disque) : Persistant, sync auto toutes les 15 min. Sert de fallback si l'API est indisponible.

3. API distante (castella20) : Source de verite, appelee quand le cache memoire est expire.

Headers : X-Cache: HIT|MISS|SQLITE • X-Data-Source: memory|api|sqlite • X-Data-Age

Configuration email (SMTP)

▼

Parametres du serveur d'envoi d'emails pour la recuperation de mot de passe.

Gestion des utilisateurs

▼

Chargement...