Click here for home menu: [Home]
Ce guide a pour but de presenter la structure de l'application en vue de la maintenance future pour les développeurs.
Le dossier racine de l'application est composé de plusieurs éléments :
Licence.md : Fichier texte détaillant la licence d'utilisation de l'application, en l'occurence ici la licence MIT.
README.txt : Fichier texte détaillant des instruction simples concernant l'instalation et l'utilisation du programme.
log.txt : Fichier texte généré automatiquement lors de l'utilisation de l'application : un journal des differentes opérations y est tenu.
test : dossier contenant un ensemble de fichier Vcard (.vcf) et BaseProspect (.bp) utilisées pour tester l'application.
BaseProspect : dossier contenant les fichiers de contacts BaseProspect (.bp). Un fichier .bp engloble un domaine d'activité comunun au contacts et posséde la structure suivante (ABNF). L'importation d'un fichier VCard résultera une écriture dans le fichier .bp corespondant au domaine spécifié.
FichierBP = 1*FormatBP FormatBP = Domaine CRLF Nom CRLF Prénom CRLF Entreprise CRLF Fonction CRLF Email CRLF Téléphone1 CRLF Remarque Domaine = '###' WSP 'Domaine : ' TEXT Nom = ‘Nom : ’ TEXT Prénom = ‘Prénom : ’ TEXT Entreprise = ‘Entreprise : ’ TEXT Fonction = ‘Fonction : ’ TEXT Email = ‘Email : ’ PLAINTEXT ‘@’ PLAINTEXT ‘.’ PLAINTEXT Téléphone = ‘Téléphone : ’ 1*(DIGIT) Remarque = DATE WSP ‘-’ WSP TEXT TEXT = 1*(WSP / VCHAR) PLAINTEXT = 1*(VCHAR) DATE = 2DIGIT ‘/’ 2DIGIT ‘/’ 2DIGITF
il y a 22 domaine prédefinits diponibles pour l'utilisation de l'outil lesquels sont :
1 Nettoyage de locaux, 2 Portiques de sécurité, 3 Sécurité électronique, 4 Transport (fret et express), 5 Travaux et aménagement, 6 Assurance automobile, 7 Assurance décennale, 8 Assurance de marchandises, 9 Assurance de personne, 10 Assurance multirisque, 11 Assurance RC Pro, 12 Véhicules Utilitaires Légers, 13 Transport, 14 Comptabilité et gestion, 15 Cession, 16 transmission entreprise, 17 Comptabilité externalisée/Expert comptable, 18 Création d'entreprises, 19 Permanence Téléphonique, 20 Recouvrement amiable et judiciaire, 21 Boissons et fontaine à eau, 22 Imprimante Multifonction & Photocopieur
VCard : Lors de l'exportation en VCard d'un fichier BaseProspect (.bp), le fichier VCard résultant sera crée dans ce dossier et portera le nom du Domaine du fichier BaseProspect.
BaseProspect.js : fichier contenant le code javascript décrivant le l'objet BaseProspect. Le module est exporté pour une utilisation dans d'autres fichier .js
Contact.js : fichier contenant le code javascript décrivant le l'objet Contact. Le module est exporté pour une utilisation dans d'autres fichier .js
ImportVcard.js : fichier contenant le code javascript permetant d'importer un fichier VCard et d'écrire le fichier .bp demandé
VcParser.js : fichier contenant un parser de fichier vCard (.vcf). Le module est exporté pour une utilisation dans d'autres fichier .js
bpParser.js fichier contenant un parser de fichier BaseProspect (.bp) et le code nessesaire pour créer le fichier vCard désiré dans le dossier VCard. Le module est exporté pour une utilisation dans d'autres fichier .js
Contact.js : fichier contenant le code javascript décrivant le l'objet Contact : un nom, un prénom, une entreprise, une fonction, un telephone et une remarque lui sont donné comme attribut. Le module est exporté pour une utilisation dans d'autres fichier .js
var Contact = function(n, prn, ent, fct, em, tel, rem){ this.nom = n; this.prenom = prn; this.entreprise = ent; this.fonction = fct; this.email = em; this.telephone = tel; this.remarque = rem; } module.exports = Contact;
BaseProspect.js : fichier contenant le code javascript décrivant le l'objet BaseProspect : un domaine et une liste de contact lui sont donné comme attribut. Une fonction addContact est également présente pour ajouter un contact à la liste. Le module est exporté pour une utilisation dans d'autres fichier .js
var BaseProspect = function(dm){ this.domaine = dm; this.contacts = []; } BaseProspect.prototype.addContact = function(contact) { this.contacts.push(contact); }; module.exports = BaseProspect;
ImportVcard.js : fichier contenant le code javascript permetant d'importer un fichier VCard et d'écrire le fichier .bp demandé. Il contien un object importVcard posedant l'attibut fileDomain corespondant a un tableau contenant les nom des fichiers .bp. la methode AjouterContact(contact, domaine) permet d'ajouter au domaine choisi un contact.
la methode importer(domaine, card) est la methode pivot permetant d'importer le fichier vcf dans BaseProspect.
VcParser.js Contient une classe qui s'occupe de transformer le fichier vcard en objet Json à l'aide du module vcf
var vCard = require( 'vcf' ); var VcParser = function(data){ this.data=data; }; VcParser.prototype.parse=function() { var card=vCard.parse(this.data); return card.toJSON(); }; module.exports=VcParser;
bpParser.js Contient a la fois le parseur de fichier .bp et l'algorithme permetant l'exportation en VCard. Le parseur contient les methodes parse, tokenise,err, next,accept, check, expect tel qu'implementé dans les parseurs classiques en javascript. exportVcf est la methode exportant le fichier en vCard. Les methodes portant le nom des attributs de l'objet Contact vérifient à l'aide d'expressions réguliéres la validités des champs du contact parsé. Enfin la methode bp contruit l'objet (.bp) comme un domaine et une liste de contacts.
Differentes possibilités d'évolution sont possibles pour le code a moyen terme, par exemple :