GnuCash
actuellement consiste en six modules indépendents (pour la plupart):
Le moteur
----------
"Le moteur" (src/engine)
fournit une interface pour les comptes et transactions.
Un compte consiste en
un nom de compte, une monnaie par défaut, un code d'identification
d'action (si applicable), des notes, quelques sélections et une
liste de transactions séparées/transférées.
Une transaction consiste
en une liste de division/transferts, avec chaque transfert ayant une description
et un champ memo, des champs de date entréeset de date rapprochées,
des champs de quantité et de prix (prix == 1.0 pour les vieux comptes
bancaires ordinaires), et quelques divers champs de disposition/destination.
L'implementation actuelle
est basé sur un format de fichier (pas SQL) . Il definit un flux
de données(byte stream) , pour la sauvegarde dans un fichier
ou la transmission via pipes/sockets ("persistence" et "migration
de données" -- le flux de données permet aux objets
du moteur d'être déplacé/copié/recréé
dynamiquement sur n'importe quel hôte. ). L'API fournit aussi
des controles concourrants simples, incluant une session objet, et des
primitives pour les editions/affichages débutants/en réalisation/rejetés
(beginning/committing/rejecting edits). Celà devrait être
assez pour permettre un fond de transaction basé sur SQL (SQL-based
transactional back ends) d'être implementé. Le GUI utilise
et respecte ces primitives, aussi GnuCash de manière générale
devrait "juste fonctionner " avec un fond en SQL ( SQL back end).
Le code du moteur ne contient
aucun code graphique/GUI qui soit, et il est essentiellement neutre
par rapport à l'OS.(Il peut même être compiler et fonctionner
sous DOS!)
Le registre
------------
"Le registre" (src/register)
implémente un Grand Livre(compta) grahique qui permet à l'utilisateur
de d'entrer dynamiquement les dates, prix/cours, mémos, descriptions,
etc. d'une manière naturelle, intuitive qui devrait être évidente
pour n'importe qui utilise le registre de son talon de son chéquier
. Le code est très configurable, permettant aux lignes et colonnes
du registre d'être étendu dans n'importe quel sens/direction,
avec aucune restrictions sur la fonction, le type et le nombre de colonnes/lignes.
Par exemple, un peut être défini comme un gran livre/registre
avec trois champs de dates , un champ de prix/cours, et quatre champs de
memo de manière directe. La cellule chargeant les objets supporte
et valide automatiquement la date entrée , le memo entré
(avec/auto-remplissage), les prix/cours, les boites combo (menus déroulants),
les cases de pointage à plusieurs niveaux. Les cellules peuvent
être autorisées en lecture-écriture , ou en lecture
seule.Aux cellules peuvent être assignées des couleurs uniques
obligatoires. Le bloc de lignes du registre actif actuel peut être
mis en valeur/en évidence avec une unique couleur.
Le code du registre est
pour la plupart indépendant du GUI; par exemple le code motif/gtk/qt
est limitéà deux fichiers et une petite quantité de
lignes de code . La version Motif est la meilleure actuellement , Le code
gtk fonctionne, mais le widget de tableau du gtk sous-jacent/au-dessous
n'est pas réellement assez puissant pour fournir une inteface superbe/élégante.
Le code du registre est
complètement indépendant du code du moteur, il ne sait rien
du tout au sujet de la comptabilité ou de n'importe quel autres
sous-systèmes de GnuCash. Il peut être utilisé
dans des projets indépendant qui n'ont rien à voir avec la
comptabilité.
Rapports
-------
"Rapports" (src/reports)
est un système basé sur perl/html pour créer des feuilles
de soldes,
etats des profits et pertes
, etc. en utilisant le moteur de l' API qpour rapporter et afficher les
données. Code très alpha, en développement.
(n.d.t:au 25/03/2000 ,en
développement constant avec des graphiques, développé
en Schème)
Cotations
------
"Cotations" (src/quotes)
est un système perl pour récupérer les données
des cours des actions sur internet et le traiter dans l'API
du moteur de GnuCash. Très alpha, en développement.
Scheme
------
"Le Scheme" (src/scm,
src/guile, src/prefs) est une infrastructure basé sur scheme qui
avait pour intention de
fournir une extensibilité générale , en plus d'un
traitement de fichier resource/ou en ligne de commande, la gestion de l'état
des préférences de l'utilisateur, et autres fonctions. Très
alpha, en développement.
GnuCash
-------
"GnuCash" (src/motif,
src/gnome, src/qt) est la principale application graphique (GUI). Il
consiste en une collection
de diverses code GUI (graphique) qui sont coller ensemble avec toutes les
pièces ci-dessus dans un ensemble cohérent, et en totalité
permettant le pointage et le click. Il avait pour intention d'être
facile à utiliser et intuitif pour l'utilisateur novice sans sacrifier
la puissance et la flexibilité qu'un professionnel est en droit
d'attendre. Quand les gens disent que GnuCash essaie d'être un "ressemblant
/fonctionnant/agissant comme Quicken/MSMoney ", c'est à un logiciel/une
référence auquel il se réfère. Il avait réellement
l'intention d'être un gestionnaire de finances personnelles avec
assez de puissance pour le power user/utilisateur expert et la facilité
d'utilisation pour le débutant .
Actuellement, l'interface
Motif est la seule interface opérationelle .
(n.d.t: au 25/03/2000,
l'interface motif est abandonnée)
Le code gtk se compile,
mais la plupart des fonctions sont maintenant intégrées.
(Le code gtk est désormais
le code par défaut et en développement constant).
Le code Qt ne se
compile pas , la plupart de toutes les fonctions sont manquantes. |