Commit 2b0f9481 authored by Minteck's avatar Minteck 😸

Update readme.md

parent b635d0ba
Pipeline #130129922 passed with stage
in 1 minute and 12 seconds
......@@ -27,9 +27,8 @@ Future embarque toutes les applications dont vous avez besoin pour utiliser plai
* [x] (`future-oobe`) Infos de l'utilisateur
* [x] (`future-oobe`) Fuseau horaire
* [x] (`future-oobe`) C'est parti !
* [ ] (`fdm`) Connexion avec PP de l'utilisateur
* [ ] (`fdm`) Options éteindre
* [ ] (`fdm`) Verouillage automatique
* [x] (`fdm`) Connexion avec PP de l'utilisateur
* [x] (`fdm`) Options éteindre
* [ ] (`fwin`) Fenêtres déplaçables
* [ ] (`fwin`) Barre de titre
* [ ] (`fwin`) Gestion de l'agrandissement et la réduction des fenêtres
......@@ -45,6 +44,8 @@ Future embarque toutes les applications dont vous avez besoin pour utiliser plai
* [ ] (`future-shell`) Barre de status > Date et heure
* [ ] (`future-shell`) Barre de status > Déconnexion
* [ ] (`future-shell`) Raccourci clavier vers une fenêtre **Exécuter**
* [ ] (`future-shell`) Verrouillage automatique
* [ ] (`future-shell`) Système de *"Corbeille"*
* *à suivre*
## Tester Future
......@@ -186,4 +187,4 @@ Sous-menu des processus :
> Voici ce que font les liens :
* `Toggle Dev Tools` : **(non disponible sur les processus de type *Dev Tools*, *Unloaded* ou *Died*)** permet d'afficher les options de débogage avancés du processus sélectionné uniquement
* `Restart` : **(non disponible sur les processus de type *Dev Tools*, *Unloaded* ou *Died*)** permet de redémarrer le processus sélectionné, causant parfois un scintillement de l'écran. Toutes les données non sauvegardées seront perdues !
* `Terminate` : **(disponible pour tous les processus)** permet de terminer le processus sélectionné : c'est-à-dire l'arrêter, empêcher son fonctionnement. Toutes les données non sauvegardées seront perdues !
\ No newline at end of file
* `Terminate` : **(disponible pour tous les processus)** permet de terminer le processus sélectionné : c'est-à-dire l'arrêter, empêcher son fonctionnement. Toutes les données non sauvegardées seront perdues !
**<a href="http://bugs.minteck-projects.rf.gd">Minteck Projects Bugs</a>** remplace maintenant le système de tickets de **GitLab**.<br>
Pour continuer à signaler des bugs, vous devez vous créer un compte sur Minteck Projects Bugs.
<hr>
<img src="branding/fde-banner-color.png" height="128px"><br>
![Gitlab pipeline status](https://img.shields.io/gitlab/pipeline/minteck-projects/fde)
# Future Desktop Environment, l'environnement de bureau du futur
**FDE** (nom interne), **Future Desktop Environment** (nom complet), ou simplement **Future** (nom commun) est un environnement de bureau pour les systèmes GNU/Linux qui dispose d'une interface neuve.
Future prévoit aussi d'être une distribution Linux apparentière : Future OS.
## Interface
**Insérer une image lorsque cela sera possible**
### Pas de corbeille
Vous avez supprimé un fichier par mégarde ? Pas de panique, accédez à l'option **Restaurer des fichiers** pour restaurer les fichiers supprimés dans les derniers 14 jours.
### Applications intégrées
Future embarque toutes les applications dont vous avez besoin pour utiliser plainement votre ordinateur.
## Fiche de route
* Version 1.0 : Première version de Future
* [x] (`future-oobe`) Nom de l'ordinateur
* [x] (`future-oobe`) Connexion à Internet
* [x] (`future-oobe`) Infos de l'utilisateur
* [x] (`future-oobe`) Fuseau horaire
* [x] (`future-oobe`) C'est parti !
* [x] (`fdm`) Connexion avec PP de l'utilisateur
* [x] (`fdm`) Options éteindre
* [ ] (`fdm`) Verouillage automatique
* [ ] (`fwin`) Fenêtres déplaçables
* [ ] (`fwin`) Barre de titre
* [ ] (`fwin`) Gestion de l'agrandissement et la réduction des fenêtres
* [ ] (`fwin`) Gestion du redimensionnement des fenêtres
* [ ] (`fwin`) API le plus simple possible
* [ ] (`future-shell`) Dock avec bouton de lancement
* [ ] (`future-shell`) Menu des applications
* [ ] (`future-shell`) Fonction recherche
* [ ] (`future-shell`) Barre de status
* [ ] (`future-shell`) Barre de status > Nom de l'application
* [ ] (`future-shell`) Barre de status > Internet (utiliser l'API `os` de NodeJS)
* [ ] (`future-shell`) Barre de status > Batterie
* [ ] (`future-shell`) Barre de status > Date et heure
* [ ] (`future-shell`) Barre de status > Déconnexion
* [ ] (`future-shell`) Raccourci clavier vers une fenêtre **Exécuter**
* *à suivre*
## Tester Future
Future n'est pas conçu pour fonctionner sur d'autres systèmes que Linux.
### Compiler les dépendances (non requis sur Linux 64 bits)
Installez premièrement `npm` et `node`.
Uniquement sur des systèmes non-Linux ou des systèmes Linux non 64 bits (x86) :
```
npm install
npm rebuild
```
Sur Windows :
```
node_modules\.bin\electron-rebuild
```
Sur les autres systèmes :
```
./node_modules/.bin/electron-rebuild
```
Après ces commandes, vous êtes en mesure d'utiliser Future.
### Vérifier la compatibilité
Pour vérifier que votre système est bien compatible avec Future (et inversement), il est conseillé d'exécuter la commande suivante :
```
npm test
```
Si aucun message d'erreur s'affiche, Future peut fonctionner correctement.
> Notez que cette fonctionnalité ne garantit que le **démarrage** correct de Future, et ne garantit au aucun cas la compatibilité avec tous les modules et toutes les applications.
### Démarrage de Future
#### Mode production
Le mode production désactive les outils de débogage et affiche Future en plein écran (sans l'interface de votre système actuel).
Si vous développez des applications et que vous avez besoin d'outils de test avancés, n'utilisez pas ce mode. Si vous utilisez une version de développement de Future et que vous souhaitez analyser le fonctionnement pour trouver des problèmes, utilisez ce mode.
Dans tous les cas, si vous voulez utiliser Future normalement, utilisez ce mode.
Pour démarrer Future en mode production, utiliser cette commande :
```
npm start
```
#### Mode débogage
Le mode débogage est un mode spécial de Future conçu pour fonctionner spécialement par dessus d'autres systèmes et environnements de bureau.
Ce mode s'avère particulièrement utile si vous développez une application, ou si vous souhaitez chercher des bugs sur Future. Il n'est pas conçu pour être utilisé au quotidien.
Ce mode n'exécute pas Future en plein écran, et affiche des informations techniques supplémentaires (l'utilisation de la RAM et des détails sur les processus).
Pour démarrer Future en mode débogage, utiliser cette commande :
```
npm run debug
```
> **Note :** Pour des raisons de diagnostiques et de fiabilité, utiliser le mode débogage n'utilise pas plus ou moins de ressources que le mode production, la consommation de ressources sera la même.
##### Menu de débogage
Un menu de débogage typique ressemble par exemple à ça :
> fdeDebug<br>
>
> Heap Used: 3.984 MiB<br>
> Heap Total: 9.578 MiB<br>
> Shared Memory: 112.771 MiB<br>
>
> Toggle Dev Tools<br>
> Reload Wrapper<br>
>
> *[12274] ([email protected]) fde-wrapper*<br>
> *[12272] ([email protected]) fde-wrapper*<br>
> *[12270] ([email protected]) fde-wrapper*<br>
> ~~[12268] ([email protected]) future-oobe~~<br>
> [12266] ([email protected]) fboot<br>
>> System Process ID: 12266<br>
>> Future Process ID: 12<br>
>> Sandbox Container: 2<br>
>> Process Type: Normal Process<br>
>><br>
>> Toggle Dev Tools<br>
>> Restart<br>
>> Terminate<br>
>
> **[12200] ([email protected]) fde**<br>
En-tête :
* `fdeDebug` indique d'il s'agit du menu de débogage de Future
Utilisation de la mémoire :
* `Heap Used` indique la quantité de mémoire utilisée par le noyau de Future
* `Heap Total` indique la quantité de mémoire allouée au noyau de Future
* `Shared Memory` indique la quantité de mémoire partagée entre le noyau de Future, les différents programmes de Future, et le système hôte.
Liens communs :
* `Toggle Dev Tools` vous propose (en cliquant dessus) d'ouvrir les outils de débogage avancés du noyau de Future. **Toutefois, ce lien vous est rarement utile.**
* `Reload Wrapper` vous propose de forcer le redémarrage de Future
Style des processus :
* <u>Un processus en *italique*</u> est un processus qui n'a pas de programme associé : il en attend un, il est appelé **Unloaded Process**
* <u>Un processus ~~barré~~</u> est un processus qui n'a pas été arrêté correctement : il a sans doute planté, il est appelé **Died Process**
* <u>Un processus en **gras**</u> est un processus critique, souvent le noyau de Future : si il est arrêté, tous les autres processus s'arrêtent aussi. Il est appelé **Main Process**
* <u>Un processus normal</u> est un processus qui n'a rien de particulier, qui fonctionne correctement, il est appelé **Normal Process**
Description des processus :
* **Prenons par exemple ce processus :**
```
[12268] ([email protected]) future-oobe
```
* `[12268]` signifie qu'il s'agit du processus 12268 pour le système hôte
* `(13` signifie qu'il s'agit du processus 13 pour Future
* `@3)` signifie qu'il s'agit du containeur 3 du bloc bac à sable de Future
* `future-oobe` est le nom du processus
> **Note 1 :** Attention à ne pas confondre les 3 identifiants, car, même s'il représentent la même chôse, ils ne la représente pas au même endroit.
> **Note 2 :** Pour ce processus, `3` est l'identifiant du containeur du bloc bac à sable.<br>
> Future utilise des containeurs de bac à sable (*sandbox containers* en anglais) pour individualiser le traitement d'un programme.<br>
> Cela permet d'assurer une sécurité et une fiabilité accrue du reste du système
>> **Sécurité :** Un programme dans un containeur de pourra pas accéder au contenu d'un programme dans un autre containeur.
>
>> **Fiabilité :** Un programme qui plante fait simplement planter son containeur, et pas tout le système (entraînant avec lui tous les autres programmes ouverts à ce moment)
>
> Chaque application dispose de son propre containeur, qui est automatiquement supprimé et nettoyé lorsqu'un programme à terminé son travail.
>
> Ce système, souvent négligé par les systèmes actuels, à tout de même beaucoup de limitations.<br>
> Si vous voulez intégrer ce système sur un système Linux, vous pouvez utiliser Wayland, qui intègre ce système plutôt bien.
Sous-menu des processus :
> Cliquer sur le nom d'un processus permet d'ouvrir un menu donnant plus d'informations sur le processus, et permettant certaines actions.<br>
> Les informations données sont similaires à celles décrites ci-dessus, mais données d'une autre façon.<br>
>
> Voici ce que font les liens :
* `Toggle Dev Tools` : **(non disponible sur les processus de type *Dev Tools*, *Unloaded* ou *Died*)** permet d'afficher les options de débogage avancés du processus sélectionné uniquement
* `Restart` : **(non disponible sur les processus de type *Dev Tools*, *Unloaded* ou *Died*)** permet de redémarrer le processus sélectionné, causant parfois un scintillement de l'écran. Toutes les données non sauvegardées seront perdues !
* `Terminate` : **(disponible pour tous les processus)** permet de terminer le processus sélectionné : c'est-à-dire l'arrêter, empêcher son fonctionnement. Toutes les données non sauvegardées seront perdues !
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment