Cette application est écrite entièrement avec des langages web (HTML / CSS / JS) et se base sur node.js. Cette version de l'application ne fonctionne pas dans les navigateurs
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 de l'application :
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 ne peut être lancée uniquement avec Electron, il est impossible de lancer l'application autrement. En effet l'application utilise des fonctionnalités propre à Electron (et node.js) et ne peut donc être lancée que dans cet environnement.
Pour lancer l'application il suffit d'utiliser l'une des commandes suivantes
npm start
npm run app
npm run app:electron
Au lancement de l'application les fichiers SCSS sont recompilés en CSS. De même lors de la fermeture de l'application si des fichiers temporaires on été crées, ils sont supprimés.
Il est théoriquement possible de compiler ce projet pour avoir un exécutable de l'application. Cependant la compilation n'a jamais été testée.
De plus la structure du projet prévu pour montrer l'intéret et les possibilités d'Electron n'est pas fait pour être compilé et déployé sous forme d'exécutable.
La compilation est gérée par Electron forge
et peut être lancé avec la commande suivante :
npm run make
La configuration pour la création des éxecutables pour les différents OS est dans le fichier package.json
dans config.maker
.
La configuration actuel est celle par défaut d'Electron forge.
Plus d'informations sur les différents éxecutables qu'il est possible de générer et les conditions pour pouvoir compiler le projet sur les différents OS sont disponible sur le site web d'Electron forge.
Les source de cette application sont disponible dans le dossier app/
à la racine du projet. Ce dossier possède 3 sous-dossier :
data/
qui contient les données des notes présentent par défautmain/
qui contient le code source du processus principal d'Electron (plus d'informations dans la note Electron).
Les fichiers dans le dossier sont les fichiers de code éxecuté par Electron, le dosser function/
regroupe les fonctions utilitaire pour ces fichiers et
le dossier asset/
contient les icones utilisés par l'application.renderer/
qui contient les fichiers pour le rendus de l'application. C'est dans ce dossier que ce trouve la base de code commune entre les deux versions de l'application.
Les fichiers HTML à la racine du dossier sont les pages qui sont chargées par Electron au lancement.
Le dossier common/
regroupe tous les fichiers Javascript et CSS commun à toutes les pages de l'application.
Le dossier page/
contient toutes les pages de l'application, chaque page possède son propre dossier avec ces fichiers HTML et Javascript.
Enfin dans le dossier service/
ce trouve des class utilitaires pour gérer par exemple le stockage ou le routage entre les pages.De plus le dossier helper/
regroupe des fichiers de fonctions utilitaire à thème (par exemple la gestion des fichiers).
Ces fonctions sont utilisé dans toutes l'application (y comprit dans le fichier main.js
qui est le fichier principal de l'application).
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,
ainsi que les fichiers temporaires