|
@@ -1,14 +1,23 @@
|
|
-Cette application est écrite entièrement avec des langages web et fonctionne avec n'importe quel navigateur moderne.
|
|
|
|
|
|
+Cette application est écrite entièrement avec des langages web (HTML / CSS / JS) et fonctionne avec n'importe quel navigateur moderne.
|
|
|
|
+
|
|
|
|
+#### Outils
|
|
|
|
+
|
|
|
|
+Plusieurs outils ont été installé avec l'application pour pouvoir l'utiliser simplement et sans installation de dépendances externes :
|
|
|
|
+
|
|
|
|
+- [Electron forge](https://www.electronforge.io) : Outils pour créer, publier et installer facilement des applications Electron
|
|
|
|
+- [Commander](https://github.com/tj/commander.js) : Gestion CLI pour node (permet de gérer les arguments pour savoir quel version de l'application lancer)
|
|
|
|
+- [node-sass](https://github.com/sass/node-sass) : Compilateur fichier SCSS en CSS
|
|
|
|
+- [http-server](https://github.com/http-party/http-server) : Server HTTP en node.js
|
|
|
|
|
|
#### Frameworks
|
|
#### Frameworks
|
|
|
|
|
|
-L'application utilise plusieurs frameworks pour faciliter le développement et la mise en page de l'application :
|
|
|
|
|
|
+L'application utilise plusieurs frameworks pour faciliter le développement et la mise en page :
|
|
|
|
|
|
- [Materialize](https://materializecss.com) : Framework CSS / JS utilisé pour le design et les fonctionnalités graphiques du sites (pop-up, toast, chargement, ...)
|
|
- [Materialize](https://materializecss.com) : Framework CSS / JS utilisé pour le design et les fonctionnalités graphiques du sites (pop-up, toast, chargement, ...)
|
|
- [Jquery](https://jquery.com) : Permet de simplifier l'interaction avec le DOM
|
|
- [Jquery](https://jquery.com) : Permet de simplifier l'interaction avec le DOM
|
|
- [Google code prettify](https://github.com/googlearchive/code-prettify) : Met en forme (couleur, police, ...) les extraits de code présent dans la page
|
|
- [Google code prettify](https://github.com/googlearchive/code-prettify) : Met en forme (couleur, police, ...) les extraits de code présent dans la page
|
|
- [Marked](https://marked.js.org/) : Compilateur markdown en HTML
|
|
- [Marked](https://marked.js.org/) : Compilateur markdown en HTML
|
|
-- [DOMPurify](https://github.com/cure53/DOMPurify) : Nettoie le HTML pour éviter les injections XSS
|
|
|
|
|
|
+- [DOMPurify](https://github.com/cure53/DOMPurify) : Nettoie l'HTML pour éviter les injections XSS
|
|
- [SimpleMDE](https://simplemde.com) : Éditeur markdown WYSIWYG
|
|
- [SimpleMDE](https://simplemde.com) : Éditeur markdown WYSIWYG
|
|
|
|
|
|
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.
|
|
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.
|
|
@@ -31,6 +40,13 @@ Pour lancer l'application dans electron il faut utiliser la commande suivante (p
|
|
npm run src:electron
|
|
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 :
|
|
|
|
+
|
|
|
|
+```bash
|
|
|
|
+npm run prepare
|
|
|
|
+```
|
|
|
|
+
|
|
#### Source
|
|
#### Source
|
|
|
|
|
|
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.
|
|
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.
|
|
@@ -40,4 +56,8 @@ Le code javascript propre à l'application se trouve directement dans les fichie
|
|
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 `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 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.
|
|
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.
|
|
|
|
|
|
+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).
|