Tutoriel de configuration pour Taskwarrior C2 Android

Temps de lecture: 2 minutes

EDIT 2023-12-31: Cela fait un moment que je n’utilise plus Taskwarrior parce que ce logiciel ne permets pas l’execution simultannée (par exemple un terminal qui execute en continu la liste des tâches, et un autre terminal qui ajoute ou mets à jour une tache en particulir), ce qui résulte en la corruption et la perte de données. Je déconseille donc ce logiciel, au profit de logiciels centralisés comme tasks.org, qui se synchronise avec beaucoup de serveurs, notamment nextcloud.

J’utilise taskwarrior au quotidien. C’est un excellent outil de gestion de tâches en ligne de commandes. Pour synchroniser mes tâches entre les ordinateurs, j’utilise FreeCinc. Il existe un client Android sobrement intitulé Taskwarrior C2 qui est bien fait, mais difficile à configurer. Je vais vous guider de la création de compte à la synchronisation.

Si vous voulez n’avez pas déjà de compte FreeCinc, je vous recommande d’essayer plutôt InTheAm qui fait également la synchronisation, mais avez des services supplémentaires et un client web graphique intégré. Je pense que ces étapes de configuration sont équivalentes mais je n’ai pas essayé de les reproduite avec InTheAm.

Pour la postérité, les étapes sont écrites en anglais. Bonne configuration 🙂

  1. Create a FreeCinc account
  2. Save the certificate files to Android SD card folder’s Documents/taskwarriorkeys
  3. Install Taskwarrior C2
  4. Launch Taskwarrior once, it will create a default profile. This will create the default taskrc file we will edit.
  5. Install Termux, in Termux: install vim (apt install vim)
  6. cd /storage/emulated/0/Android/data/com.taskwc2/files
  7. ls -> should list a folder named like your profile (see step 4.)
  8. cd VERY-LONG-PROFILE-NAME-XXXXXXX
  9. ls -a -> should list a file named .taskrc.android
  10. open this article on your android phone, copy the template taskrc bellow
  11. vim .taskrc.android -> keyboard i, long clic paste, edit all the Xs so it matches the files copied in step 2.
  12. at the same time volume-down+keyboard e (this enters ESCAPE in Termux), keyboard :x<ENTER>, this will save the file and exit.
  13. Launch Taskwarrior, click SYNC. It should display « SYNC COMPLETE »
  14. To troubleshoot, go to RUN COMMAND and run rc.debug=1 diag and/or rc.debug=1 sync

Voici le template. à la dernière ligne, j’ai désactivé la recurrence sur toutes mes machines taskwarrior mais ce n’est pas obligatoire.


taskd.server=freecinc.com:53589
taskd.key=\/sdcard\/Documents\/taskwarriorkeysv2\/freecinc.key
taskd.certificate=\/sdcard\/Documents\/taskwarriorkeysv2\/freecinc.cert.pem
taskd.ca=\/sdcard\/Documents\/taskwarriorkeysv2\/freecinc_XXXXXXXXX.ca.pem
taskd.credentials=FreeCinc\/freecinc_XXXXXXXXX\/XXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXXXXX

android.sync.periodical=120
android.sync.onchange=10
android.sync.onerror=60

android.sync.notification=all
android.debug=y

recurrence=no

Sur demande de bepolymathe dans les commentaires, j’en profite pour ajouter le status des tâches dans PS1

# from https://gist.githubusercontent.com/pjf/051aa4ef326d493beec950823f7edfd8/raw/c12aef697413281f435cc504b82abb6e7391078e/.bashrc

# Make our prompt awesome. :)
BYellow='\[\e[1;33m\]'     # Yellow
BPurple='\[\e[1;35m\]'     # Purple
Color_Off='\[\e[0m\]'      # Text Reset

TICK="✓"
CROSS="✗"

URGENT="&#x2757;"
OVERDUE="&#x2620;&#xfe0f;"
DUETODAY="&#x1f631;"
DUETOMORROW=""

function task_indicator {
    if [ `task +READY +OVERDUE count` -gt "0" ]; then
        echo "$OVERDUE"
    elif [ `task +READY +DUETODAY count` -gt "0" ]; then
        echo "$DUETODAY"
    elif [ `task +READY +DUETOMORROW count` -gt "0" ]; then
        echo "$DUETOMORROW"
    elif [ `task +READY urgency \> 10 count` -gt "0" ]; then
        echo "$URGENT"
    else
        echo '$'
    fi
}

#PS1="\[\e]0;\u@\h: \w\a\]""$Color_Off${debian_chroot:+($debian_chroot)}\w$BYellow\$(task_indicator) $Color_Off"

PROMPT_COMMAND=__prompt_command # Func to gen PS1 after CMDs

__prompt_command() {
    local EXIT="$?"             # This needs to be first
    PS1=""

    local RCol='\[\e[0m\]'

    local Red='\[\e[0;31m\]'
    local Gre='\[\e[0;32m\]'
    local BYel='\[\e[1;33m\]'
    local BBlu='\[\e[1;34m\]'
    local Pur='\[\e[0;35m\]'

    if [ $EXIT != 0 ]; then
        PS1+="${Red}[${EXIT}]${RCol}"      # Add red if exit code non 0
    else
        PS1+="${Gre}[${EXIT}]${RCol}"
    fi

    #PS1+="${RCol}@${BBlu}\h ${Pur}\w${BYel}$ ${RCol}"
    PS1+="\[\e]0;\u@\h: \w\a\]""$Color_Off${debian_chroot:+($debian_chroot)}\w$BYellow\$(task_indicator) $Color_Off\n"
}

8 réflexions au sujet de « Tutoriel de configuration pour Taskwarrior C2 Android »

  1. InTheAm demande une authentification par google et pas moyen de trouver la politique de sécurité/vie privée. Freecinc a ses limites là dessus mais elles sont claires : chiffrement de la communication mais pas le stockage. Accès aux données et pas de suppression définitive.

    Répondre

    1. Oui c’est vrai que niveau mode de fonctionnement, c’est plus clair du côté de FreeCinc . ^_^

      Répondre

  2. Tiens un question. Y-a-t-il d’après toi un moyen d’avoir les notifications sur Android les tâches avec échéances ?

    Répondre

    1. Salut bepolymathe ! Je n’ai pas trouvé de moyen de faire cela directement avec l’appli Android. Pour ma part j’ai ajouté cela dans mon terminal (PS1). Si tu trouves un moyen, je suis très intéressé 🙂

      Répondre

  3. Bon, j’ai écris au développeur pour savoir s’il a un plan…

    Répondre

  4. Tiens, tu pourrais nous expliquer comment tu as mis tes tâches dans PS1 ?
    Merci.

    Répondre

    1. Hey bepolymathe, bonne idée !! j’ai mis à jour l’article avec la partie PS1 de mon bashrc. Sache que je l’ai désactivé sous Windows parce que c’est trop lent (et que je suis maintenant sous Windows pour le boulot et le perso).

      Répondre

Répondre à Matthieu Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *