La caisse enregistreuse LIPE |
||
PREAMBULE
Dans un premier temps ce document vise ˆ dŽfinir le point de dŽpart pour
ouvrir le dŽbat. Et dans un second, donnera naissance ˆ une RFC destinŽe
ˆ aider tout dŽveloppeur voulant participer ˆ l'Žlaboration du simulateur
de caisse enregistreuse du projet LIPE.
PARTIE I : LES FONCTIONNALITES
Dans sa premire version, le programme de simulation de caisse enregistreuse
ne comportera que quelques fonctionnalitŽs essentielles ˆ ce type d'application
: gestion des utilisateurs (ou vendeurs), des familles d'articles, des modes
de paiements, pour ne citer que les principales.
I-1. LES UTILISATEURS
Deux cas de figure se prŽsentent. La caisse est utilisŽe par une seule personne
ou plusieures mais la distinction entre utilisateurs n'est pas souhaitŽe. Si
aucune gestion d'utilisateur n'est demandŽe, il faudra que toute rŽfŽrence ˆ
un vendeur soit ŽvitŽe au niveau de l'Interface Homme Machine ('IHM' dans ce
qui suivra).
Dans le cas d'une gestion multi-utilisateurs, deux solutions sont envisageables.
Permettre le choix de l'utilisateur pour un ticket de caisse donnŽ ou en associer
un par dŽfaut si aucun n'a ŽtŽ choisi. Soit imposer un choix systŽmatique de
l'utilisateur afin d'Žviter un cumul involontaire et excessif de ticket de caisse
sur le compte de l'utilisateur par dŽfaut. Sans pour autant gŽrer un systme
complexe de droits d'accs pour la caisse enregistreuse, un utilisateur 'principal'
sera dŽclarŽ avec un simple mot de passe faisant office de clŽ. La possibilitŽ
de limitŽ certaines actions ˆ cet utilisateur seul Žvitera par exemple une cl™ture
non autorisŽe.
I-2. LES FAMILLES D'ARTICLES
Il est ˆ noter que la premire version du programme de caisse enregistreuse
ne gŽrera pas les articles mais les familles d'articles uniquement. Chaque ligne
d'un ticket de caisse devra obligatoirement tre associŽe ˆ une famille. Comme
pour les utilisateurs, deux possibilitŽs sont autorisŽes. Si aucune famille
n'est explicitement indiquŽe, une par dŽfaut est utilisŽe. Mme remarque ici
aussi, afin d'Žviter de 'sur-employer' la famille par dŽfaut, le choix de la
famille peut tre obligatoire. La sŽlection d'une famille pourra impliquer un
prix par dŽfaut qui restera modifiable si nŽcessaire. Cela dans un souci d'optimisation
de la saisie.
I-3. LES PRIX ET QUANTITES
Les prix sont des nombres ˆ dŽcimale fixe. Le nombre de chiffres derrire
la virgule Žtant dŽterminŽ une seule fois pour toute ˆ l'installation du logiciel
de caisse. Chaque ligne de ticket comportera un prix qui ne peut tre nul. La
quantitŽ par dŽfaut est toujours 1. De plus, dans cette version de la caisse
enregistreuse, seuls les nombres entiers seront autorisŽs.
I-4. LES MODES DE PAIEMENTS
Un mode de paiement sera associŽ ˆ chaque ticket de caisse. Il n'est pas
prŽvu pour le moment de permettre plusieurs modes pour un mme ticket. L'utilisateur
principal pourra ajouter des modes de paiements personnalisŽs ˆ ceux prŽvus
par dŽfaut, c'est-ˆ-dire : espces, chque ou carte bancaire.
I-5. LES TOTAUX (X et Z)
Un cumul par journŽe devra tre tenu pour les catŽgories suivantes
: utilisateurs, familles d'articles, modes de paiements, ainsi qu'un total des
totaux. Seul l'utilisateur principal aura accs ˆ ces totaux. Le 'X' consiste
en un total ˆ l'instant t durant une session de travail (autrement dit une journŽe).
Lorsqu'un utilisateur demande un X, il doit prŽciser pour laquelle des catŽgories
citŽes ci-dessus et obtient le total pour celle-ci. Une journŽe est cl™turŽe
par un 'Z'. Attention, il s'agit ici de demander une confirmation ˆ l'utilisateur
car le Z aura pour effet de remettre tous les totaux ˆ zŽro.
I-6. LES T.V.A.
Deux types de TVA seront prŽ-Žtablies mais l'utilisateur principal
pourra en ajouter si nŽcessaire. Leurs gestion peut s'aparenter aux cumuls citŽs
pour les modes de paiements et autres totaux (voir ci-avant). Il faudra donc
maintenir un cumul par type de TVA, par ticket et par journŽe.
I-7. LES TICKETS
Un ticket de caisse dŽbute par un entte au nom de la sociŽtŽ suivi d'un
nom d'utilisateur (ou vendeur) que si le mode multi-utilisateur a ŽtŽ retenu
ˆ l'installation du logiciel de caisse. De plus, suiveront date et heure, prŽcŽdŽes
Žventuellement d'informations telles que adresse, tŽlŽphone, tŽlŽcopie, etc.
Chaque ligne comportera un libellŽ de famille, son prix unitaire TTC et la quantitŽ
que si elle est diffŽrente de 1. Aucun total (quantitŽ) x (prix) n'est prŽvu
pour le moment afin d'Žviter de surcharger la ligne de ticket. En fin de ticket,
un total par type de TVA, un total TTC pour l'ensemble et le mode de paiement
utlisŽ pour le rŽglement. S'il y a lieu de rendre de la monnaie, cette information
figurera ˆ l'Žcran mais non sur le ticket.
PARTIE II : L'ARCHITECTURE
Pour ce qui est de l'architecture logiciel de la caisse enregistreuse, il faut garder ˆ l'esprit que la connexion avec le serveur de donnŽes LIPE ne se fera que dans un second temps. Il s'agit donc de penser 'simple' pour favoriser l'adaptation future. II-1. LES DONNEES Un unique fichier de donnŽes principal acceuillera les informations concernant la caisse enregistreuse. Ce fichier sera de type texte afin de le protŽger des inconvŽnients gŽnŽralement constatŽs dans l'utilisation de fichiers binaires et propriŽtaires. Les donnŽes ne seront inscrites dans ce fichier qu'aprs validation du ticket de caisse. Aucune modification ou suppression ne sera autorisŽ sur le fichier principal.
II-2. LES TRAITEMENTS
Tous les traitements associŽs au simulateur de caisse enregistreuse seront rŽunis dans un 'module-traitements' unique. Ce programme validera les donnŽes Žmises par les 'modules-interface' (voir ci-aprs) et les inscrira dans le fichier de donnŽes. Ne pas oublier ici que le module-traitement sera autonome dans la premire version de la caisse enregistreuse.
II-3. LES INTERFACES HOMMES-MACHINES
Deux types d'interfaces sont retenues dans un premier temps. Une en mode 'console' pour les postes de travail peu performants et une seconde en mode 'graphique' pour les plus puissants. Quelque soit l'interface choisie, la premire des prioritŽs sera l'intuitivitŽ de celle-ci. L'idŽal ici Žtant qu'un simple coup d'oeil sur l'Žcran permettra ˆ l'utilisateur de comprendre comment cela fonctionne.
II-4. LE PROBLEME DE L'EURO
Dans le cadre de la premire version de la caisse enregistreuse, le module-traitements aura la charge d'accepter ou de refuser ainsi que de convertir les devises que les modules-interface lui transmettront. Toujours dans cette version, l'Euro sera choisi ˆ titre arbitraire et dans un premier temps seulement. Tout changera trs certainement dans les versions qui suivront...
PARTIE III : LES OBLIGATIONS LEGALES
L'auteur exprimera ici le profond regret de n'avoir aucune compŽtence ˆ ce niveau. Donc toute personne sachant de quoi il en retourne sera Žvidemment la bienvenu sur la mailing-list *lipe_gestion*. A suivre...
III-1. LES ARCHIVES
Il est envisageable de procŽder ˆ un archivage systŽmatique, mensuellement par exemple, pour rŽpondre ˆ une des premires obligations lŽgales : reproduire un double de chaques tickets de caisse qui ont ŽtŽ editŽs.
III-2. LES EDITIONS
Pour les mmes raisons que celles citŽes ci-avant, les tickets pourront tre ŽditŽs en double pour archivage et/ou le service comptable.
REMERCIEMENTS
L'auteur tient ˆ remercier toutes les personnes qui ont de loin ou de prs inspirŽ ce document, dont JŽr™me Bouton, Alain Couchot, JŽr™me Dautzenberg, Bernard Frit, ainsi que l'irremplaable Max James :). Et mille excuses ˆ ceux qui auraient ŽtŽ oubliŽs...
Longue vie ˆ LIPE, FrD.16032000