PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Marien Fressinaud : Project Zero 0.2

lundi 5 juin 2017 à 21:10

Après une version 0.1 sortie fin janvier, je sors aujourd’hui (avec seulement un mois de retard) la version 0.2 de Project Zero, mon mini-système de gestion de projets et de tâches.

Le code source se trouve sur GitHub, sous licence MIT et vous pouvez toujours l’utiliser sur zero.marienfressinaud.fr. L’adresse n’a pas (encore) changé mais passe désormais en HTTPS.

Les nouveautés de la 0.2

Cette nouvelle version apporte la gestion de listes de tâches (ou « todo lists »), fonctionnalité dont j’avais le plus besoin. J’utilisais auparavant Todoist qui me convenait plutôt bien, mais je souhaitais un système plus proche de mon mode de fonctionnement. Qu’apporte vraiment Project Zero par rapport à n’importe quel autre gestionnaire de tâches ?

Tout d’abord, l’ajout des tâches a été pensé pour se faire le jour même. La plupart du temps, en arrivant le matin au boulot, je me prépare une liste des choses que j’aimerais régler pendant la journée. Quel meilleur moment pour savoir ce que l’on souhaite faire que le matin ?

Bien sûr, il m’arrive aussi souvent d’avoir des idées de choses à faire que je ne réaliserai pas le jour même, pour cela une seconde liste appelée « backlog » vient s’ajouter à la première dans laquelle je peux venir piocher pour préparer ma liste de la journée.

Les tâches que je n’arrive pas à terminer sont marquées en attente et viennent alimenter une troisième liste. En préparant ma liste de la journée, les tâches non réalisées la veille me sont proposées à nouveau et je peux soit indiquer que je l’ai en fait déjà terminée, soit la replanifier pour aujourd’hui. Si je la replanifie, un indicateur est incrémenté. Cet indicateur me sert à me prévenir que j’ai trop replanifié une tâche et me propose au bout de 2 fois de découper la tâche ou de la renommer pour la rendre plus facile à terminer.

Un second indicateur particulièrement utile pour les tâches du « backlog » indique le nombre de semaines depuis que la tâche a été créée. Au bout de 2 semaines, l’indicateur me propose d’abandonner la tâche vu qu’il y a de fortes chances que je ne la termine jamais.

Ces deux indicateurs me permettent d’éviter de conserver des tâches pendant trop longtemps. Cela me permet d’avoir un système de priorisation non basé sur une appréciation subjective mais basé sur le temps et sur la répétition ; ainsi je peux réordonner les tâches au fil du temps.

Dashboard de Project Zero 0.2

Les dates d’échéance ?

J’ai décidé de ne pas gérer les dates d’échéance. C’est encore une réflexion en cours car j’avais vraiment dans l’idée de les gérer mais j’ai finalement conclu à la non nécessité de la fonctionnalité. Une date d’échéance peut avoir deux significations :

De plus, j’avais peur de la complexité car cela m’aurait mené à devoir (vouloir ?) gérer la répétition des tâches dans le temps et la saisie intuitive des dates (taper « demain » pour saisir la date du lendemain par exemple).

En prévoyant la suite…

Cette nouvelle version apporte un gros morceau qui fait que Project Zero me devient de plus en plus utile. Pour autant, je n’ai pas encore vraiment le réflexe de m’y connecter et je n’y ai d’ailleurs pas du tout touché pendant le mois d’avril (ce qui explique le retard pris pour cette sortie). J’ai tout de même ajouté pas mal de choses en mai qui me facilite l’usage (ordonnancement, édition, abandon et indicateurs).

La version à venir (la 0.3 donc) me servira surtout à consolider ce que j’ai fait jusqu’à maintenant et devrait ajouter des mécanismes poussant à la « fidélisation » (meilleure gestion des petits écrans, emails de rappel, joli logo, amélioration de l’ergonomie et refonte du design, éventuellement ludification). Je n’ai aucune idée de la date de la prochaine sortie car j’ai d’abord besoin d’identifier ce qui bloque mon usage.

J’ai pas mal d’idées de ce que pourrait devenir Project Zero et des fonctionnalités qui pourraient m’être utiles, mais je souhaite vraiment monter ce projet petite brique par petite brique en m’assurant que le tout est utilisable et utilisé.

Gravatar de Marien Fressinaud
Original post of Marien Fressinaud.Votez pour ce billet sur Planet Libre.

Marien Fressinaud : Project Zero 0.2

lundi 5 juin 2017 à 21:10

Après une version 0.1 sortie fin janvier, je sors aujourd’hui (avec seulement un mois de retard) la version 0.2 de Project Zero, mon mini-système de gestion de projets et de tâches.

Le code source se trouve sur GitHub, sous licence MIT et vous pouvez toujours l’utiliser sur zero.marienfressinaud.fr. L’adresse n’a pas (encore) changé mais passe désormais en HTTPS.

Les nouveautés de la 0.2

Cette nouvelle version apporte la gestion de listes de tâches (ou « todo lists »), fonctionnalité dont j’avais le plus besoin. J’utilisais auparavant Todoist qui me convenait plutôt bien, mais je souhaitais un système plus proche de mon mode de fonctionnement. Qu’apporte vraiment Project Zero par rapport à n’importe quel autre gestionnaire de tâches ?

Tout d’abord, l’ajout des tâches a été pensé pour se faire le jour même. La plupart du temps, en arrivant le matin au boulot, je me prépare une liste des choses que j’aimerais régler pendant la journée. Quel meilleur moment pour savoir ce que l’on souhaite faire que le matin ?

Bien sûr, il m’arrive aussi souvent d’avoir des idées de choses à faire que je ne réaliserai pas le jour même, pour cela une seconde liste appelée « backlog » vient s’ajouter à la première dans laquelle je peux venir piocher pour préparer ma liste de la journée.

Les tâches que je n’arrive pas à terminer sont marquées en attente et viennent alimenter une troisième liste. En préparant ma liste de la journée, les tâches non réalisées la veille me sont proposées à nouveau et je peux soit indiquer que je l’ai en fait déjà terminée, soit la replanifier pour aujourd’hui. Si je la replanifie, un indicateur est incrémenté. Cet indicateur me sert à me prévenir que j’ai trop replanifié une tâche et me propose au bout de 2 fois de découper la tâche ou de la renommer pour la rendre plus facile à terminer.

Un second indicateur particulièrement utile pour les tâches du « backlog » indique le nombre de semaines depuis que la tâche a été créée. Au bout de 2 semaines, l’indicateur me propose d’abandonner la tâche vu qu’il y a de fortes chances que je ne la termine jamais.

Ces deux indicateurs me permettent d’éviter de conserver des tâches pendant trop longtemps. Cela me permet d’avoir un système de priorisation non basé sur une appréciation subjective mais basé sur le temps et sur la répétition ; ainsi je peux réordonner les tâches au fil du temps.

Dashboard de Project Zero 0.2

Les dates d’échéance ?

J’ai décidé de ne pas gérer les dates d’échéance. C’est encore une réflexion en cours car j’avais vraiment dans l’idée de les gérer mais j’ai finalement conclu à la non nécessité de la fonctionnalité. Une date d’échéance peut avoir deux significations :

De plus, j’avais peur de la complexité car cela m’aurait mené à devoir (vouloir ?) gérer la répétition des tâches dans le temps et la saisie intuitive des dates (taper « demain » pour saisir la date du lendemain par exemple).

En prévoyant la suite…

Cette nouvelle version apporte un gros morceau qui fait que Project Zero me devient de plus en plus utile. Pour autant, je n’ai pas encore vraiment le réflexe de m’y connecter et je n’y ai d’ailleurs pas du tout touché pendant le mois d’avril (ce qui explique le retard pris pour cette sortie). J’ai tout de même ajouté pas mal de choses en mai qui me facilite l’usage (ordonnancement, édition, abandon et indicateurs).

La version à venir (la 0.3 donc) me servira surtout à consolider ce que j’ai fait jusqu’à maintenant et devrait ajouter des mécanismes poussant à la « fidélisation » (meilleure gestion des petits écrans, emails de rappel, joli logo, amélioration de l’ergonomie et refonte du design, éventuellement ludification). Je n’ai aucune idée de la date de la prochaine sortie car j’ai d’abord besoin d’identifier ce qui bloque mon usage.

J’ai pas mal d’idées de ce que pourrait devenir Project Zero et des fonctionnalités qui pourraient m’être utiles, mais je souhaite vraiment monter ce projet petite brique par petite brique en m’assurant que le tout est utilisable et utilisé.

Gravatar de Marien Fressinaud
Original post of Marien Fressinaud.Votez pour ce billet sur Planet Libre.

Journal du hacker : Liens intéressants Journal du hacker semaine #22

lundi 5 juin 2017 à 00:01

Pour la 22ème semaine de 2017, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

antistress : Sous-titrer des vidéos HTML5 : balise track

samedi 3 juin 2017 à 16:30

Vieux film sous-titré

Contexte : voici un billet que j'ai commencé à rédiger à l'époque de Firefox 5 tandis que la balise track était encore en développement sous l'égide du WHATWG avec notamment la participation active de Ian Hickson (Hixie) et Silvia Pfeiffer. Par ailleurs, alors que la balise track est exploitable par Firefox depuis sa version 31, un bogue de ce dernier empêchait encore il y a quelque mois l'affichage des sous-titres lorsque la vidéo était au format Ogv, bogue qui a été corrigé depuis.

Entrons à présent dans le vif du sujet.

Pour le dire en quelques mots : la spécification HTML5 permet d'associer à la balise video une balise track dont l'objet est de gérer l'affichage de sous-titres (le navigateur se chargeant alors d'incruster en temps réel à une vidéo donnée les sous-titres décrits dans un fichier qui lui est indiqué).

Voyons à présent comment marche cette balise, et quelle méthode utiliser afin de ne pas exclure les navigateurs qui ne la supportent pas.

Pour commencer il vous faut une vidéo, de préférence dans un format libre et ouvert (WebM ou Ogv) et un fichier comprenant les sous-titres et les informations de synchronisation temporelle au format WebVTT.

Le fichier WebVTT

Un fichier WebVTT, pour commencer, c'est essentiellement un banal fichier texte doté de l'extension « .vtt ».

La syntaxe d'un fichier WebVTT est définie ici. Je vous en donne un exemple :

WEBVTT

1
00:00:00.10 --> 00:00:02.70
Bienvenue à la journée du logiciel libre.

2
00:00:02.76 --> 00:00:04.34
Je m'appelle Richard Stallman.

3
00:00:04.34 --> 00:00:09.20
J'ai créé le mouvement du logiciel libre 
en septembre 1983

On remarque qu'un fichier WebVTT ressemble fortement à un fichier SRT, à quelques exceptions près :

Le format autorise un formatage riche : taille (en pourcentage) et positionnement du texte (horizontalement et verticalement), mise en gras () ou italique (), coloration... Vous pouvez même réaliser un sous-titrage karaoké en précisant au sein de la ligne la durée de chaque mot !

La spécification n'étant pas facile à décrypter, je vous renvoie plutôt vers ces différentes synthèses si vous souhaitez avoir un aperçu des possibilités du format.

La balise video (rappel)

Vous connaissez déjà la balise video « classique » :



On peut prévoir quelques raffinements, comme de proposer alternativement plusieurs formats de la même vidéo pour maximiser la compatibilité, une image fixe à afficher en attendant le déroulé de la vidéo, ainsi qu'un texte à afficher alternativement pour les navigateurs ne gérant pas la balise video :



Deux remarques :

  • il faut penser à mettre le fichier MP4 en premier lorsqu'il existe, car il semble que Safari soit bogué et ne lise pas la suite sinon (les autres navigateurs parcourant bien en revanche la liste des formats disponibles jusqu'à en trouver un pris en charge),
  • pour la variante XHTML, penser à remplacer controls par controls="controls" dans ces exemples comme dans les suivants.
Quelques tutos que j'ai sélectionnés pour vous si vous souhaitez approfondir l'usage de la balise video :

Quelques tutos complémentaires sur ce blogue en suivant le tag vidéo HTML5.

La balise track

Si je reprends les exemples précédents en ajoutant l'affichage du sous-titre au moyen de la balise track, ça donne :

Version simple :



Version élaborée :



NB : la balise track a plusieurs attributs (textes descriptifs pour aveugles/sourds, sous-titres, etc.) ; c'est « subtitles » qui nous intéresse ici pour proposer la transcription du propos ainsi que sa traduction dans différentes langues.

Pour disposer de plusieurs sous-titres alternatifs, c'est le même principe que pour la balise video : il suffit de prévoir autant de lignes que nécessaire. Il est alors souhaitable d'ajouter l'attribut label pour faciliter la sélection côté utilisateur :



Démonstration :

(la vidéo d'exemple – télécharger la vidéo (5,1 Mio) ici et le sous-titre – montre Richard Stallman en septembre 2010 à l’occasion du Software Freedom Day)

Gravatar de antistress
Original post of antistress.Votez pour ce billet sur Planet Libre.

dada : Améliorer la recherche dans Nextcloud avec Nextant

samedi 3 juin 2017 à 10:00



La recherche dans Nextcloud est bien foutue mais commence à montrer ses limites quand on s'amuse à stocker une grande quantité de fichiers. En plus, elle ne va pas analyser ce qui se passe au niveau du contenu. C'est là que l'ami Solr débarque via une extension plutôt pratique : Nextant.
J'annonce tout de suite, ce billet va parler d'un outil en Java, et même qu'il va falloir l'installer. Si vous faites partie de ceux qui s'obstinent à dire que Java, c'est de la merde, plutôt que de pester sur des développeurs d'applications, au mieux, maladroits, passez votre chemin.
C'est aussi un peu compliqué, mais bon, je vais tenter de faire de mon mieux pour vous rendre la tâche presque simple !

Installer Java

On attaque fort, j'avais prévenu ! Si vous êtes sous Debian 8, vous aurez besoin de passer par les backports puisque la version présente dans les dépôts classiques est trop ancienne. Ils faut les mettre en place et taper la commande suivante :
apt-get -t jessie-backports install openjdk-8-jdk

Vérifier la version utilisée par le système

Les versions de Java cohabitent dans votre système. Si vous aviez déjà du java, il faut faire comprendre à l'OS que c'est la toute dernière qu'il faut  :
root@dadall:/var/www/# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Si le résultat retourné n'est pas le même que le mien, corrigez le souci en passant par l'update-alternatives :
root@dadall:/var/www/html/nc#  update-alternatives --config java
Il existe 2 choix pour l'alternative java (qui fournit /usr/bin/java).

  Sélection   Chemin                                          Priorité  État
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode automatique
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode manuel
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      mode manuel

Appuyez sur pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :
Dans mon cas, tapez 2 et vous en aurez fini avec Java.

Installer Solr

On va passer par l'installeur automatique. C'est bien plus simple et ça permet de ne pas se prendre la tête.
D'abord, prenez le temps de créer un utilisateur solr :
adduser --disabled-login solr
su solr
cd ~
Placez-vous dans sa home et récupérez les sources :
$ wget http://mirrors.ircam.fr/pub/apache/lucene/solr/6.5.1/solr-6.5.1.tgz
$ tar -zxvf solr-6.5.1.tgz
Puis lancez la procédure :
# bash solr-6.5.1/bin/install_solr_service.sh solr-6.5.1.tgz 
Une fois terminée, on va faire un peu de configuration. On va simplement dire à Solr de ne répondre qu'aux sollicitations locales en remplaçant cette ligne :
par :
dans le fichier présent là-bas : /opt/solr/server/etc/jetty-http.xml. C'est une configuration simple mais importante : elle évite de rendre vos données accessibles à l'extérieur.

Vous pouvez maintenant démarrer la bête :
# /etc/init.d/solr start 
Solr est maintenant démarré mais il lui marque un dernier truc : un core. On va le créer en deux minutes en tapant ça avec le user solr créé pour l'occasion :
/opt/solr/bin/solr create -c nextant 
Et voilà pour Solr ! Place à l'extension !

Installer Nextant

Bon, là, si vous avez réussi toutes les étapes suivantes, c'est que vous pouvez aller cliquer dans la gestion des applications de votre Nextcloud pour activer le bousin. Tout est déjà rempli pour vous. C'est très clair et un bouton «tester» est là pour vous permettre de tout valider !



Solr fonctionne sur le principe des indexations : à un instant T, il va gober tout ce qu'il y a à savoir dans vos fichiers et l'organiser à sa sauce. Pour la première, il est plus que conseillé de la faire à la main et tapant la commande (avec le user de votre Nextcloud, pas le user solr) :
./occ nextant:index 
L'indexation de nouveau contenu ne se fera pas en temps réel mais via un cron Nextcloud. C'est à dire de temps en temps, alors ne vous étonnez pas si le dernier document que vous venez d'ajouter n’apparaît pas immédiatement dans les résultats de recherche.

Une section «Pour aller plus loin» est disponible dans la doc de Nextant. Elle indique, entre autre, comment exclure des répertoires de l'indexation. C'est pas mal si vous ne voulez pas voir certaines infos apparaître maladroitement.

Vous pouvez maintenant faire vos recherches dans vos fichiers !


Gravatar de dada
Original post of dada.Votez pour ce billet sur Planet Libre.

I'm richer than you! infinity loop