|
@@ -1,20 +1,29 @@
|
|
Electron permet de faire des applications avec les technologies web (HTML 5 / CSS 3 / Javascript).
|
|
Electron permet de faire des applications avec les technologies web (HTML 5 / CSS 3 / Javascript).
|
|
-Les applications créée avec Electron peuvent être compiler pour tous les OS existant, ce qui permet avec une seul base de code d'avoir un executable pour tous les environement.
|
|
|
|
|
|
+Les applications créée avec Electron peuvent être compiler pour tous les OS existant, ce qui permet avec une seul base de code d'avoir un executable pour tous les environement.
|
|
|
|
+De plus les applications Electron utilise les éléments d'interfaces de l'OS cible, de ce fait l'application ressemblera à une application native de l'OS
|
|
|
|
|
|
-#### Source
|
|
|
|
|
|
+#### Principe
|
|
|
|
|
|
-Les sources de cette application sont exactement les même que lorsque l'application est lancé sur un serveur HTTP.
|
|
|
|
-Les fichiers utilisé sont exactement les même. Pour plus d'informations sur les dossiers sources, ce referrer à la partie `Source` de la note application.
|
|
|
|
|
|
+Electron utilise Node.js et Chromium pour permettre de faire des applications.
|
|
|
|
+Chromium est utilisé pour le rendu des fichiers HTML et Node.js pour éxécuter le code Javascript du processus main (Node est basé la version 8 du moteur javascript de Chromium).
|
|
|
|
+Pour les processus de rendus il est possible (via une option lors de la création de la fenetre) d'utiliser le moteur javascript de Node ou celui intégré à Chromium.
|
|
|
|
+Si l'on utilise le moteur de Chromium dans le rendu il n'est pas possible de faire plus que dans un navigateur classique.
|
|
|
|
+
|
|
|
|
+Dans cette version de l'application le moteur de Node est utilisé partout, mais dans la version sans intégration spécifique d'Electron c'est le moteur de Chromium qui est utilisé.
|
|
|
|
|
|
#### Fonctionnement
|
|
#### Fonctionnement
|
|
|
|
|
|
-Lors du lancement de l'application Electron le fichier main.js est appelé. Ce fichier permet de lancer l'application sans ou avec l'intégration d'Electron.
|
|
|
|
-Dans le cas de cette application (sans intégration d'Electron) l'application va seulement chargé la page index.html
|
|
|
|
-dans le dossier `src/` (la création de la fenetre est gérée par des fonctions communes aux deux versions et possède donc toujours un icone).
|
|
|
|
-Lorsque toutes les fenetres sont fermées l'application s'arrete sauf sur Mac ou il faut utiliser Cmd+Q (fonctionnement par defaut d'Electron sur Mac).
|
|
|
|
|
|
+Electron possède deux types de processus, le processus principal et les processus de rendus.
|
|
|
|
+Le processus principal est celui du fichier `main.js` chargé lors du lancement de l'application,
|
|
|
|
+les processus de rendus correspondent chaqu'un à une fenêtre de l'application.
|
|
|
|
+Les fenêtre peuvent être visible ou non (ainsi le calcul du nombre premier est fait dans un processus de rendu lié à une fenêtre invisible).
|
|
|
|
|
|
-#### Menu
|
|
|
|
|
|
+Les deux types de processus peuvent communiquer entre eux par le biais d'evenements et d'écouteurs sur ces derniers.
|
|
|
|
+Chaqu'un possède des fonctionnalités qui lui sont propre et l'autre ne peux pas réaliser
|
|
|
|
+(par exemple les notifications ne peuvent être émise que depuis un processus de rendu).
|
|
|
|
|
|
-Cette version de l'application étant identique à la version web, elle n'a aucun code spécifique a Electron.
|
|
|
|
-De ce fait aucune indication n'est donné pour générer les menus. En l'abscence d'indications Electron genere uniquement une menu d'application (en haut de l'application) par défaut et aucun menu contextuel (clic droit).
|
|
|
|
-Le menu est anglais et contient des raccourcis souvent utilisé comme copié/collé, agrandir ou minimiser la fenetre, ...
|
|
|
|
|
|
+Au lancement de l'application le fichier `main.js` est éxécuté. Dans un premier temps il va charger les autres fichiers utilisés dans le processus principal.
|
|
|
|
+Ces fichiers servent par exemple à gérer les différents menus de l'application.
|
|
|
|
+Ensuite l'application va charger la page HTML correspondant au dashboard et ouvrir un fenêtre (et donc un processus den rendu).
|
|
|
|
+Dans ce processus de rendu tous les import javascript vont être chargé les balises script dans le fichier HTML.
|
|
|
|
+Le fichier principal pour le chargements des dépendances et des fonctions necessaires pour l'application est `electronotes.js`
|