====== Dossier de Conception Générale ====== ===== Suivi du document ===== ^Version^Date^Auteurs^Objet de la mise à jour^ |1.1|11/2021|Nicolas MARCHAND|Evolution définition du document\\ Incorporation dans le document principal du MCD\\ Intégration information sur le serveur Keys\\ Transfert des considérations graphiques eet marketing depuis le DSF| |1.0|30/06/2021|Nicolas MARCHAND|Création du document| Exemple de dossier : http://samuel.rollet.free.fr/projets/2008_PFE/CAR-DC-AVIS-V01.pdf ===== Définition du document ===== Dossier de Conception Générale (DCG) : Document décrivant le produit et son environnement matériel. Il inclut la cartographie logiciel et les flux d’interface. Le DCG doit contenir aussi le modèle conceptuel de données //et doit surtout identifier, sans ambiguïté, les parties (modules) ayant un impact sur les 4 conditions définies dans le BIO-TVA-DECLA-30-10-30-20180704 (ISCA)//. (définition NF525) Remarque : la partie en italique est spécifique à la NF 525 et ne concerne pas LoGeAs Web. ===== Domaine d’application ===== ==== Objectifs du système ==== L'objectif de "LoGeAs web" est de fournir un système clé en main de gestion de petites et moyennes structures.\\ Il a été conçu par des non comptables pour des néophytes en charge d’une association, syndicat, TPE …\\ Il vous permet de gérer le fichier et/ou la comptabilité\\ ==== Interfaces ==== === Interfaces de gestion des utilisateurs === La gestion de la base des utilisateurs se fait au travers d'une interface web "MonEspace.LoGeAs.fr".\\ Sur cette interface sont gérés les utilisateurs (y compris des personnes non liées à l'utilisation du logiciel), leurs droits d'accès éventuels à une ou des bases LoGeAs Web. === Interfaces du produit === L'accès proprement dit aux bases "clientes" se fait au travers de deux interfaces distinctes : * **La version installée** (ou client lourd), librement téléchargeable à partir de l’interface en ligne monespace.logeas.fr : elle offre toutes les fonctionnalités disponibles pour chaque utilisateur inscrit. * **La version légère** (ou full-web), utilisable depuis un simple navigateur Internet sur poste fixe, portable, tablette ou smartphone : elle permet de consulter et modifier le fichier, sans accès à la comptabilité ni aux états. ==== Usage du logiciel et RGPD ==== Le logiciel se veut d'un usage polyvalent dans ses parties fichier et comptable. Il peut ainsi être utilisé aussi bien par une TPE que par une association 1905, 1901 ou un syndicat. Les données proposées par défaut répondent aux besoins minimaux des structures cibles. Si certains champs ne correspondent pas à vos besoins de traitement, il vous appartient de ne pas les renseigner. Si la structure utilisatrice de par son statut ou ses besoins collecte des données sensibles, il lui revient de mettre en place les actions requises dans le cadre du RGPD. **Pour mémoire** ([[https://www.cnil.fr/fr/definition/donnee-sensible|source cnil]]) \\ //Les données sensibles forment une catégorie particulière des données personnelles.//\\ //Ce sont des informations qui révèlent la prétendue origine raciale ou ethnique, les opinions politiques, les convictions religieuses ou philosophiques ou l'appartenance syndicale, ainsi que le traitement des données génétiques, des données biométriques aux fins d'identifier une personne physique de manière unique, des données concernant la santé ou des données concernant la vie sexuelle ou l'orientation sexuelle d'une personne physique.// \\ \\ //Le règlement européen interdit de recueillir ou d’utiliser ces données, sauf, notamment, dans les cas suivants ://\\ * //si la personne concernée a donné son consentement exprès (démarche active, explicite et de préférence écrite, qui doit être libre, spécifique, et informée) ;// * //si les informations sont manifestement rendues publiques par la personne concernée ;// * //si elles sont nécessaires à la sauvegarde de la vie humaine ;// * //si leur utilisation est justifiée par l'intérêt public et autorisé par la CNIL ;// * //si elles concernent les membres ou adhérents d'une association ou d'une organisation politique, religieuse, philosophique, politique ou syndicale.// \\ Afin de répondre au mieux au besoins de ce type de structure, LoGeAs-Web a fait le nécessaire pour répondre au cadre de la NF 552 et est certifié depuis fin 2021. Pour aller plus loin : * [[clientlourd:divers:start]] * [[certif:dm#demarche_de_certification|La démarche]] ===== Considérations marketing ===== ==== Cibles ==== LoGeAs a été conçu dès le départ (année 1999) pour permettre à un public **non comptable** et **non informaticien**, et souvent âgé, de gérer une structure (association 1901 & 1905, syndicat, TPE, tutelle..) dans le respect des règles juridiques, fiscales.. ou spécifiques (tutelle, union...) auxquelles elle est soumise. ==== Principes fondateurs ==== Pour construire puis faire évoluer le produit en conformité avec sa cible, un certain nombre de principes ont été mis en place, plus prégnants dans la partie comptable, et dans une moindre mesure dans la partie fichier : * proposer un produit polyvalent permettant de tenir la comptabilité et un fichier détaillé sur une base unique * utiliser un vocabulaire comptable simple pour rendre la saisie comptable accessible à tous, même les plus novices.\\ Ce choix est poussé au point de "traduire" certains termes comptables, au risque de déstabiliser les utilisateurs comptables * une saisie comptable simplifiée et un algorithme de traduction automatique en écritures comptables normalisées. Ici point de notion de journaux lors d'une saisie, seulement un compte d'imputation et un mode de paiement, le logiciel fait le reste * pas de double saisie, source d'erreur et de perte de temps * pas de saisie dans des grilles, trop complexe et manquant d'ergonomie * d nombreux tests et d'autotests pour détecter les erreurs de l'utilisateur (voire du logiciel !) * rassurer les utilisateurs en proposant un logiciel certifié (NF203 logiciel comptable, et bientôt NF552 RGPD) Depuis toujours, nous souhaitons que l’utilisation de notre logiciel soit abordable à tous, pour offrir aux petites et aux grandes structures une même qualité de traitement : * le coût de la licence est annuel * tout est inclus, y compris l'assistance et les mises à jour * il n'y a pas de modules en option * le coût est adapté en fonction des recettes/chiffre d'affaires de la structure Enfin un bon logiciel doit être doublé d'une assistance de qualité (petite équipe qui connaît ses clients, est formée sur toutes les fonctionnalités du logiciel et sur la comptabilité), disponible pour tous et sans surcoût. ===== Considérations graphiques ===== Pour mettre en phase les décisions marketing et la cible visée, des choix ergonomiques et graphiques ont été faits dès le départ : * tous les écrans doivent avoir autant que possible un fonctionnement similaire * pas de saisie dans les grilles, trop complexe et manquant d'ergonomie * une partie supérieure sous forme de grille facilement personnalisable, qui apporte une vison globale des données et permet de faire des filtres en fonction des besoins du moment. * une partie médiane qui regroupe les boutons de commandes (nouveau, valider, déverrouiller...) * une partie inférieure comme zone de saisie. * un accès aux écrans avec un vocabulaire simple : les écrans portent des noms explicites comme Famille, Personne, Mailing, Recette, Dépense, Multi-lignes, Etat.. * le look ne change pas d'une version à l'autre selon les modes, on préfère le confort à un réapprentissage permanent. Même si on nous reproche parfois un look ancien!!! * les menus sont fixes, définis en concertation avec les utilisateurs, peu de paramétrage déstabilisant (à part dans les grilles) **La charte graphique se veut aussi simple que possible pour convenir au mieux à tous** ===== Normes, standards et outils ===== ==== Méthodes de conception ==== Depuis le début de son développement (courant 1999) LoGeAs est développé suivant un modèle dit "en spirale". * Le processus de développement est représenté par une spirale plutôt qu’une séquence d’activités avec retours en arrière éventuels. * Chaque boucle dans la spirale représente une étape du processus de développement. * Les risques sont explicitement adressés et résolus tout au long du processus. {{ :certif:modelespiral.jpg |}} === Les divers secteurs du modèle en spirale === **Définition des objectifs : ** Les objectifs spécifiques de l’étape sont identifiés\\ **Estimation et réduction des risques : **Les risques sont évalués et des activités sont mises en place pour réduire les risques clés\\ **Développement et validation : **Un modèle de développement est choisi pour le système\\ **Planification : **Le projet est inspecté et l’étape suivante de la spirale est planifiée \\ \\ Extrait de https://perso.univ-st-etienne.fr/jacquene/gl/cours/partie2.pdf\\ === Référence === * http://csse.usc.edu/TECHRPTS/1988/usccse88-500/usccse88-500.pdf * http://istqbexamcertification.com/what-is-spiral-model-advantages-disadvantages-and-when-to-use-it/ * http://portableoccasionordinateur.blogspot.de/2012/10/avantages-et-inconvenients-du-modele-en.html ==== Environnement et outils de développement ==== === Développement Serveurs & Client lourd === Les développements sont réalisés sur un système de type Windows, compatible avec le RAD utilisé, actuellement Windows 11 pro.\\ L'environnement de développement utilisé est le RAD Delphi 11 actuellement commercialisé par [[https://www.embarcadero.com/|Embarcadero]]\\ On trouvera dans l'intranet de Logeas tous les détails des bibliothèques et composants tiers [[https://intranet.wiki.logeas.fr/doku.php?id=intranet:dev:delphi:install|sur les pages]] Les standards de programmation utilisés sont ceux du langage pascal et de son implémentation dans Delphi. === Développement futur client LoGeAs-Fullweb === Le developpement de la futur interface FullWeb se fait sur la base du framework [[https://angular.io/|Angular]]. On trouvera dans l'intranet de Logeas tous les détails des bibliothèques et composants tiers [[https://intranet.wiki.logeas.fr/doku.php?id=intranet:dev:angular:install|sur les pages]] ==== Base de données ==== La base de données utilisée est [[https://www.sqlite.org/|SQLite]], chaque base cliente étant une base séparée afin de minimiser les risques et les volumes traités. Elle est directement interfacée depuis les applicatifs au travers d'un [[https://fr.wikipedia.org/wiki/Mapping_objet-relationnel|ORM]] **[[https://synopse.info/|mORMot]]** qui gère aussi l'aspect transfert de données au travers du web. ===== Conception générale ===== ==== Diagramme de fonctionnement ==== {{:certif:diagramme_du_fonctionnement.jpg?1000|}} ==== Architecture des Composants ==== {{:certif:architecture_des_composants.jpg|}} ==== Structure des données globales, des fichiers et des bases de données ==== === MCD des bases de LoGeAs Web === {{ :certif:technique:8_base_de_donnees_utilisateur.jpg?800 }} {{ :certif:technique:9_base_de_donnees_utilisateur.jpg?800 }} {{ :certif:technique:10_base_de_donnees_utilisateur.comptabilite_.jpg?800 }} {{ :certif:technique:11_base_de_donnees_utilisateur.comptabilite_.jpg?800 }} {{ :certif:technique:13_base_de_donnees_parametrage.jpg?800 }} === Autres informations === On trouvera toutes les informations concernant : * la base de données de paramétrage sur la page **"[[certif:technique:baseparametrage]]"** * la base de données utilisateurs sur la page dédiée **"[[certif:technique:listetable]]"** * les différents type de bases (typage en fonction de la forme juridique de la structure) sur la page **"[[certif:technique:typebase]]"** ==== Encryptage des bases de données ==== A partir de la version 9.5.1 des serveurs, les bases de données SQLLite utilisées par le logiciel (partie MonEspace et Bases de données des clients) sont cryptées grâce à l'algorithme AES au travers de la bibliothèque **[[https://synopse.info/files/html/api-1.18/SynCrypto.html|"SynCrypto"]]**.\\ La version implémentée par Synopse est mode AES-OFB explicite avec dérivation IV rapide et réduction de mot de passe PBKDF2 éprouvée\\ Potentiellement ces algorithmes pourrait utiliser l'accélération AES-NI, non disponible sur notre serveur à l'heure actuelle.\\ L'impact sur les performances est minime, bien inférieur à celui inclus par exemple avec wxSqlite3 , et avec une implémentation plus sûre ([[https://blog.synopse.info/?post/2018/03/12/New-AES-based-SQLite3-encryption|dixit synopse]]).