ETC est une application qui permet de travailler un ensemble de tâches en leur alouant un temps afin de les exécuter toutes parallèlement sans en délaisser.
Par exemple, si nous avons 5 tâches, et un temps par défaut de 2 heures, les tâches seront proposées dans le désordre, jusqu'à ce que chacune ait été accomplie pendant au moins 2 heures avant que le cycle ne recommence.
- télécharger le zip de l'application
- la décompresser
- ouvrir un terminal au dossier de l'application
- jouer
bun install - jouer
bun run startpour lancer l'application en mode développement - jouer
bun run buildpour construire une release
Pour les tests
- jouer
bunx playwright install - jouer
bun run tests
Démarrer l’application avec :
bun run startPour redémarrer l’application en purgeant bien tous les éléments :
bun run resetPour que cette commande fonctionne, il faut mettre à la racine du dossier un fichier
.secret/passwordavec son mot de passe.
Produire une release à l’aide de (après avoir incrémenté la version dans package.json :
bun run buildL’idée principale de cette application est donc de permettre de travail par cycle, en consacrant un temps de travail dans l’idée identique à toutes les tâches (en gardant la possibilité de fixer une durée de tranche de travail spécifique à chaque tâche, quand c’est nécessaire (et suivant sa philosophie personnelle de travail.
Ce mode par cycle permet de faire avancer plusieurs gros chantiers de front sans en laisser de côté. Il permet aussi, avec le choix aléatoire des tâches de produire des journées de travail toujours différentes.
L’application/interface est composée de trois parties.
- La Zone de travail proprement dite, on la tâche est présentée, où elle sera lancée et le temps comptabilisé.
- La Zone de préférences, pour régler les préférences d’interface principalement (et voir les outils utiles).
- La Zone d’enregistrement. Pour enregistrer les tâches, les modifier ainsi que régler les paramètres généraux et les valeurs par défaut.
{Décrire}
On l’atteint avec le bouton ⚙️.
{Décrire}
On l’atteint avec le bouton ✍🏽.
{Décrire}
Pour produire des journées de travail toujours différentes et casser la routine de travail, ETC peut fonctionner en mode aléatoire au niveau du choix des tâches. Dans ce mode, les tâches seront choisies au hasard.
Pour régler ce mode, rejoindre les préférences (⚙️) et choisir le mode « random ».
Pour pouvoir enrouler l’application à l’intérieur d’une application Electron, nous avons besoin de mettre son code dans le dossier ./electron. Il faut donc veiller à être dans le bon dossier lorsqu’on joue une commande.
Voici un petit rappel :
| À la racine DE L’APPLICATION | Dans le dossier Electron | |
|---|---|---|
bun run watch_ts |
Pour surveiller les fichiers tsdu dossier ./public |
|
| Pour lancer l’application en mode développement. | bun run start |
|
| Pour produire la release (ne fonctionne pas encore) |
bun run build |
|
- rejoindre le dossier
electron/(cd electron/) - jouer la commande
bun run start
Pour lancer un watcher sur les fichiers public/main.ts et public/ui.ts (et les futurs modules peut-être), jouer (à la racine de l’application) :
bun run watch_ts- Mettre dans un fichier
TASKS.yaml, à l’extérieur de l’application, les tâches courantes, en définissant leur dossier principal ou le script qui doit être joué pour les "lancer". - Définir le temps par défaut en haut du fichier.
- Lancer ETC au démarrage de l'ordinateur (si possible dans le dossier contenant le fichier des tâches, sinon avec un chemin d’accès complet précisant où il se trouve).
---
duration: 120 # nombre de minutes par défaut pour chaque tâche
works:
- id: pss
project: "Passé sous Silence"
content: "Travailler sur le deuxième Tome"
duration: 180 # Possibilité de mettre un durée propre, pour travail + ou - une tâche
folder: '/Users/philippeperret/ICARE_EDITIONS/_LIVRES_/Fictions/Passé sous silence'
- id: dico
project: "Grand Dictionnaire du Scénario"
content: "Développer les exemples et l'interface"
folder: /Users/philippeperret/ICARE_EDITIONS/_LIVRES_/Narration/Dictionnaire
script: path/to/startud-script
- id: idml
project: "IDML-Générateur"
content: "Poursuivre le développement"
folder: "/Users/philippeperret/Programmes/IDML-APGenerator"
- id: pmail
project: "Perfect-Mail"
content: "Poursuivre le développement"
folder: '/Users/philippeperret/Programmes/Perfect-Mail'
- id: preludes
project: "Préludes de Bach"
content: "Poursuivre la com"
folder: '/Users/philippeperret/ICARE_EDITIONS/_LIVRES_/Musique/Partitions/Recueils/Les plus beaux préludes de Bach'
- id: oubliettes
name: "Le Rayon aux oubliettes"
content: "Poursuivre le livre"
folder: '/Users/philippeperret/pCloud Drive/Ecriture/Romans/Le Rayon aux oubliettes'
Pour qu’une tâche devienne « prioritaire » (juste être exécutée avant les autres), quand on n’est pas en mode aléatoire, il faut la mettre le plus au-dessus des autres possible.
| Nom | description | notes |
|---|---|---|
| id | Identifiant de la tâche | Très important car sert à identifier la tâches/le travail partout dans le programme. |
| project | Nom du projet auquel appartient la tâche | C’est un dossier et il est indispensable car c’est avec lui que l’application peut s’assurer de l’activité sur le travail. |
| content | Le contenu proprement dit de la tâche, donc ce qu’il faut faire. | Le texte peut être assez long et suffisamment informatif pour bien renseigner sur la tâche. |
| duration | Optionnellement, la durée de travail par cycle | Par essence, chaque tâche devrait se voir affecter le même temps de travail. Mais cette donnée permet de donner plus d’importance à certaines tâches. |
| folder | Dossier du projet | Ce dossier peut être ouvert à l’aide du bouton « Folder » de l’interface. |
| script | Script de démarrage du projet | Cette propriété ouvre tous les possibles et manque cruellement à presque tous les gestionnaires de tâches. Elle permet de lancer un script de démarrage (par exemple pour créer automatiquement une nouvelle version d’un fichier, simplement en cliquant sur le bouton « RUN SCRIPT » de l’interface, ou exécuter un processus long et complexe). Il faut penser à rendre le script exécutable en jouant la commande chmod +x path/to/script. |
| active | [Optionnel] true si la tâche est active | Par défaut, c’est true, mais permet de désactiver un travail sans le retirer du fichier |
Par défaut, les tâches sont proposées dans un ordre aléatoire (pour épicer les journées). On peut désactiver ce comportement dans les préférences, en décochant la case « ordre aléatoire » (ou similaire).
L’affichage du « chronomètre » peut se faire suivant deux modes, qu’on choisit dans les préférences de l’application (⚙️) :
- Mode Horloge (Clock). Le temps défile à partir de 0 jusqu’à une heure infinie (noter cependant que puisque le travail se fait par cycle, même si vous laissez tourner indéfiniment le chronomètre, seul le temps restant à travailler sera ajouté)
En développement, il faut parfois détruire les processus :
sudo pkill -f "bun.*server"Pour voir s’il reste un processus sur le port 3002 (réservé à cette application), jouer :
lsof -i :3002Ça donne le numéro du processus qui tourne sur ce port.