4. Première phase - ThomasDejoux/timesheets.js GitHub Wiki

Dans un premier temps nous avons pris connaissance du code fait par Fabien Cazenave. Ensuite il nous a explicité certaine partie de son code et ce qu'il était possible de faire sur cette application & librairie.

Dans un premier temps nous allons essayer de nettoyer et reprendre le code de Fabien Cazenave, afin de corriger les différents bug, afin de pouvoir utiliser l'éditeur Timesheets.js :

  • permettre de recharger/actualiser l’arbre temporel sans *tout* recharger
    
  • permettre de faire des playlists (cf. smilInternal|ExternalTimer)
    

ou mieux : (= media clipping) ou encore :

Timesheets Composer (XUL) :

  • (classe !) XBL-ifier l’interface utilisateur : les segments du conteneur temporel devraient être définis via XBL
  • (classe !) faire en sorte que l’application n’aie pas besoin du fichier *.wav : graduer le graphe temporel + proposer une scrollbar
    
  • (important) utiliser les vignettes à gauche + une zone de saisie de texte en haut plutôt que l’ignoble série de boites en bas
    
  • (important) faire en sorte que cette application puisse servir à faire du sous-titrage (= conteneur <excl> + dates begin/end + contenu texte/html)
    
  • (important) générer le code sous forme de HTML+Timing ou Timesheets
    
  • (important) générer un export en *.srt (pour le fun)
    

Pour structurer l’application (via XBL) :

  • conteneur <par|seq|excl> implémenté dans timeline.xml#timeContainer
    
  • idéalement, les nœuds temporels (« blocs » ou « segments ») seront des composants XBL dédiés, et seront des enfants du conteneur <par|seq|excl>
    
  • pour que ces composants puissent échanger des informations avec le reste de l’UI, il y a deux options : callbacks ou émission d’événements.
    

Pré-requis : code lisible : indentation à 2 espaces, sans tab (cf. guidelines Mozilla) utiliser GitHub !!!

Nota : un terminal correct, ça aide aussi (parfois), et notamment pour utiliser git. Sous Windows il y a Console2 (open-source).

⚠️ **GitHub.com Fallback** ⚠️