Cette application est écrite entièrement avec des langages web (HTML / CSS / JS) et fonctionne avec n'importe quel navigateur moderne.
Plusieurs outils ont été installé avec l'application pour pouvoir l'utiliser simplement et sans installation de dépendances externes :
L'application utilise plusieurs frameworks pour faciliter le développement et la mise en page :
Toute la partie métier de l'application a été écrite en javascript sans framework particulier. Pour les fichiers de style le format SCSS a été choisit et un compilateur SCSS en CSS est intégré au projet.
Cette application peut soit être lancée dans un navigateur via un serveur HTTP (un serveur est mis à disposition avec l'application), soit directement dans electron. Il est impossible de lancer l'application directement depuis le navigateur de fichier en ouvrant le fichier index.html dans le navigateur. En effet l'application fait des requêtes GET pour charger les notes présentent par défaut, or la sécurité d'un navigateur bloque ces requêtes lors de l'exécution depuis le système de fichier.
Pour lancer l'application dans un serveur web il faut utiliser la commande suivante (le navigateur s'ouvre automatiquement sur l'URL de l'application) :
npm run src:web
Pour lancer l'application dans electron il faut utiliser la commande suivante (plus d'info sur electron dans la note dédié) :
npm run src:electron
La compilation des fichiers SCSS en CSS se fait automatiquement lors de l'installation de l'application avec npm i
.
Il est possible de recompiler les fichiers en utilisant la commande suivante :
npm run prepare
Que l'application soit lancée sur un serveur web pour être affichée dans un navigateur ou directement dans electron, ce sont les même fichiers sources qui sont utilisés.
Les fichiers sources de cette version de l'application sont disponible dans le dossier src/
à la racine du projet.
Le code javascript propre à l'application se trouve directement dans les fichiers HTML.
Le dossier css/
contient toute les feuilles de style de l'application (format scss et css) dont le fichier style.scss
qui a été écrit pour l'application.
Le dossier js/
contient les fichiers avec les fonctions javascript utilisées.
Le fichier binder.js
(écrit pour le projet) contient des fonctions pour automatiser l'affichage de données dans le document HTML et le fichier script.js
contient des fonctions utilitaire pour l'application.
Enfin le dossier data/
contient les données des notes présentent par défaut.
De plus le dossier helper/
regroupe des fichiers de fonctions utilitaire sur un thème (par exemple la gestion des fichiers).
Ces fonctions sont utilisé uniquement dans le fichier main.js
(qui est le fichier principal de l'application) dans cette version.
Pour finir le dossier data/
sert à stoquer les infos du dernier lancement (quel version de l'application a été utilisée, pour reset les données en cas de changement).