Menu

Guide du Développeur

Alexis Heliot

Download Ingeance_gl02

Bienvenue dans le guide du développeur, dans ce document il y a toutes les informations pour maintenir et mettre à jour le logiciel.

Préparation de l’ordinateur

Avant toute chose, rappelons que le logiciel a été développé en JavaScript, il faut alors s’assurer que votre ordinateur dispose bien d'un interpréteur JavaScript tel que Node.JS. Sinon vous pouvez télécharger ce dernier sur : https://nodejs.org/en/download/.

Pour vérifier l’état de Node.JS sur votre ordinateur, il faut taper : node -v

Téléchargez directement le projet depuis le bouton en haut de la page depuis l'invite de terminal placez-vous dans le dossier de votre choix et entrez la commande :
svn checkout https://svn.code.sf.net/p/ingeance-gl02/code/ ingeance-gl02-code

La commande : npm install se charge d'installer toutes les dépendences nécessaires au fonctionnement du logiciel, ces dernières sont référencés dans le fichier package.json

La dernier version à jour du logiciel se trouve ensuite dans le dossier trunk, libre à vous de le modifier ou de le cloner vers une brance (vivement conseillé pour l'ajout de nouvelles fonctionnalités)


Fonctionnement du logiciel

Arborescence des fichiers

.
├── branches/
├── trunk/
|   ├── cli/
|   |   ├── commands/
|   |   |   ├── authorTweet.js
|   |   |   ├── countHashtags.js
|   |   |   ├── display.js
|   |   |   ├── echo.js
|   |   |   ├── hashtagsLinked.js
|   |   |   ├── longestDescription.js
|   |   |   ├── plot.js
|   |   |   ├── retweetedHashtag.js
|   |   |   └── search.js
|   |   └── index.js
|   ├── data/
|   |   └── ...
|   ├── parsers/
|   |   ├── Grapher.js
|   |   ├── Tweet.js
|   |   ├── TweetAnalyzer.js
|   |   ├── TweetDisplay.js
|   |   └── exportTxt.js
|   ├── tests/
|   |   └── ...
|   ├── package-lock.json
|   └── package.json
  • Le dossier data/ contient des jeux de données exemples pour tester le logiciel.
  • Le dossier tests/ contient toutes les séries de tests des fonctionnalités du logiciel.
  • La totalité des commandes sont référencées dans le dossier command/.
  • Le fichier package.json contient la description du projet et les dépendences associées

Framework

Le logiciel a été développé autour du framework Caporal, qui permet au développeur de construire simplement un programme en ligne de commande en JavaScript avec l'environnement de Node.JS

Ajouter une fonctionnalité

L'ajout d'une fonctionnalité passe par la création d'un nouveau fichier dans le dossier commands/ qui sera par la suite automatiquement chargé lors du lancement du programme (donc aucune nécessité d'aller modifier le fichier index.js pour ajouter une fonctionnalité).

Les commandes suivent la structure suivante :

macommande
    .command('nomcommande', 'Description de la commande')
    [.argument('<argument>', 'Description de l'argument')]*
    [.option('<--raccourcis>, <--nomCompletOption>', 'Description de l'option')]*
    .action(function (args, options, logger) {
         // Fonction de callback appelé lorsque l'utilisateur entre nomcommande dans la ligne de commande.
    })