Comment nous nous sommes organisés

”Gantt Python avec fioritures #2” de Erthia, sous licence CC BY-NC 4.0

Faire une vidéo, quelle qu’elle soit, demande un minimum d’organisation. Dans cet article je vous présente les outils que nous avons utilisés afin de nous organiser dans notre travail.

Dans cette série d’articles, je vous décris comment a été produite une vidéo en motion design de vulgarisation du langage informatique Python. Nous sommes actuellement deux personnes à travailler sur ce projet (sans compter les relecteurs du texte de notre vidéo, que nous remercions).

Notre workflow

Un workflow, qu’est-ce donc ?

En audiovisuel, le workflow est un document qui schématise les étapes de production du produit final.

Il est propre à chaque production ou structure de production, car il dépend de plusieurs facteurs : type de contenu produit, matériel, logiciels, ressources humaines, financières… Il résulte de contraintes et de choix.

Voici un exemple de workflow et sa traduction plus bas :

Exemple de workflow en anglais
Basic Photography Workflow” sous licence CC0 1.0 Universal

Traduction :

Exemple de workflow en français
“Workflow Basique Photographie” de Erthia, sous licence CC0 1.0 Universal. Traduction de “Basic Photography Workflow” sous licence CC0 1.0 Universal

Voici le workflow que nous suivons pour la réalisation de notre vidéo :

Workflow Python avec fioritures #2
“Workflow Python avec fioritures #2” de Erthia, sous licence CC BY-NC 4.0

Un workflow liste les grandes étapes du projet, ainsi que les contraintes d’enchaînement entre ces tâches, c’est-à-dire les dépendances entre les actions. Autrement dit, il s’agit d’identifier les étapes qui dépendent de l’accomplissement d’autres pour être entamées.

Par exemple, la tâche « Pré-montage voix » ne peut être entamée qu’après “Enregistrement voix », car pour travailler sur le son, il me faut les fichiers audio issus de l’enregistrement. Au contraire, les tâches « Images et sons à trouver » et « Enregistrement voix » sont indépendantes, et peuvent donc être réalisées en parallèle.

Il est utile d’établir le workflow au début du projet. Cela permet de fixer le déroulé global de la production, et c’est une base utile pour établir un planning. Lorsque la production rassemble plusieurs acteurs, cela permet à chaque personne de prendre connaissance du déroulé global et de sa place dans celui-ci.

Dans sa version plus détaillée, il s’agit de décider des logiciels et formats de fichiers à utiliser entre et pendant chaque étape.

Choix des fichiers et des logiciels

Pour la production de notre vidéo, j’ai créé un document qui détaille le workflow : il expose les paramètres des fichiers que nous allons utiliser et les logiciels avec lesquels nous travaillerons, et ce à chaque étape.

Workflow détaillé Python avec fioritures #2
”Workflow détaillé Python avec fioritures #2” de Erthia, sous licence CC BY-NC 4.0

Grâce à ce type de document, chacun des acteurs sait ce qu’il aura à importer (et donc la nature des fichiers sur lesquels il devra travailler) et ce qu’il devra exporter. Par exemple, le monteur vidéo a connaissance de ce qu’il doit exporter pour que le mixeur soit satisfait.

Le choix des paramètres des fichiers le long de la chaîne de production n’est pas anodin et ne doit pas être laissé au hasard. Ce choix a des conséquences directes sur les caractéristiques du son et de l’image. Il est donc essentiel de bien connaître les spécificités des formats les plus utilisés, que ce soit pour l’export final mais aussi et surtout pour les fichiers qui transitent d’un logiciel à un autre.

Ainsi, le workflow détaillé permet d’assurer une cohérence dans la gestion des fichiers, en évitant des actions qui n’ont pas de sens. Par exemple, il est idiot de filmer une image qui n’a pas les mêmes proportions que l’image finale voulue ou encore, à l’issue du montage, de donner au mixeur un son dégradé et de qualité inférieure à celle voulue pour le produit fini. Établir un workflow détaillé permet d’avoir un meilleur contrôle sur la qualité du contenu final car nous décidons de comment il sera obtenu.

Partager les fichiers au sein de l’équipe

Lors d’un travail en équipe, il peut être utile de regrouper certains fichiers dans un endroit qui est accessible à plusieurs membres. Les services de stockage en ligne tels que Google Drive ou Dropbox sont alors bien utiles et gratuits en dessous d’une certaine taille de stockage.

Pour ce projet, nous avons centralisé nos documents sur un Google Drive. Ce service propose gratuitement 15 Go d’espace de stockage.

Capture d’écran du Google Drive de notre série “Python sans fioriture”
Capture d’écran du Google Drive de notre série “Python sans fioriture”

Nous avons aussi utilisé des documents collaboratifs en ligne : un PAD et les documents partagés Google. Ce type de service est indispensable lorsque plusieurs personnes veulent travailler sur le même document simultanément. Ainsi, les modifications de chacun sont mises à jour en temps réel et visibles immédiatement par les autres membres. On peut aussi savoir à quoi ressemblait le document à des dates antérieures, et avoir connaissance des auteurs des modifications.

Le texte de nos épisodes est sur un « PAD », qui est un traitement de texte basique collaboratif en ligne. Mon associé a choisi le service sous logiciel libre d’Outils Libres Colibris ; d’autres applications similaires existent.

Capture d’écran du PAD d’Outils Libres Colibris, utilisé ici pour le script de notre vidéo “Python avec fioritures #2”. Script de ThRASH Codeur, sous licence CC BY 4.0.

De plus, dans notre Google Drive, nous avons créé des documents partagés Google, qui sont des assimilés de la suite Office mais collaboratifs et en ligne. Ils peuvent être créés dans n’importe quel espace de stockage Google Drive.

Capture d’écran d’un document collaboratif Google, utilisé ici pour le storyboard de notre vidéo “Python avec fioritures #2”.
Capture d’écran d’un document collaboratif Google, utilisé ici pour le storyboard de notre vidéo “Python avec fioritures #2”. Storyboard de ThRASH Codeur, sous licence CC BY 4.0.

Notre planning prévisionnel

Dans un projet, pour pouvoir tenir des délais et gérer son temps, il est important de planifier son travail. Pour la conception et la réalisation de notre épisode, j’ai établi un diagramme de Gantt.

Un diagramme de Gantt permet de répartir dans le temps la réalisation des différentes phases du projet.

Exemple diagramme de Gantt
De EvHart, sous GNU General Public License. Lien de l’image : https://commons.wikimedia.org/wiki/File:Projet_Traduction_avancement.png

Il s’agit tout d’abord de lister les grandes étapes à accomplir et de noter les contraintes d’enchaînement entre ces étapes. C’est ce que fait le workflow établi précédemment.

Il faut ensuite estimer la durée de ces phases. Pour ce faire, il est utile de se baser sur ses expériences passées, d’où l’importance de faire un bilan à la fin de chaque gestion de projet.

Pour notre vidéo, j’ai évalué la durée des phases de façon très approximative car j’avais peu de données sur le temps que me prendrait les différentes tâches d’un tel projet.

Ensuite, il faut répartir les étapes dans le temps, en prenant en compte les dépendances entre les actions. Deux méthodes de répartition existent : la planification au plus tôt et la planification au plus tard.

La planification au plus tôt consiste à placer les phases en partant de la date de début de projet et à les enchaîner dans l’ordre chronologique. Cela permet d’estimer quand le projet sera fini au plus tôt, c’est-à-dire sans retard ni imprévu, et aussi de prévoir quand chacune des étapes commencera au plus tôt.

La planification au plus tard consiste à placer les tâches en partant de la date butoir et à les poser dans l’ordre anti-chronologique. Cela permet de savoir quand commencer le projet et chacune de ses étapes au plus tard. Cette méthode est à utiliser quand les durées de réalisation des tâches sont plutôt sûres.

J’ai choisi la planification au plus tôt, car j’ai trop d’incertitudes sur le temps que me prendront les différentes phases.

Il ne faut pas oublier que, lors d’un projet, des imprévus peuvent survenir et venir rallonger les durées des étapes. Il faut donc évaluer ces imprévus et les intégrer au planning, en laissant des plages vides entre les phases ou en surestimant les temps de réalisation des tâches.

Pour ce projet, j’ai intégré les imprévus dans les différentes phases et j’ai gardé une marge à la fin.

Gantt de notre projet Python avec fioritures #2
”Gantt Python avec fioritures #2” de Erthia, sous licence CC BY-NC 4.0

Ensuite, il faut appliquer le planning ! Si la réalité s’éloigne trop des prévisions, il ne faut pas hésiter à se réorganiser en fonction, en modifiant éventuellement le planning ou en réajustant ses objectifs.

Enfin, il est important de faire un bilan de la gestion de projet une fois celui-ci fini, afin de tirer des leçons de cette expérience et de pouvoir corriger le tir pour la prochaine fois. Il ne faut pas s’inquiéter si sa première planification semble ratée : cela ira de mieux en mieux avec l’expérience !

La méthode Kanban

Une fois la planification globale du projet faite, il est temps de s’attaquer à sa réalisation. Pour nous organiser dans la réalisation de notre projet, nous avons utilisé la méthode Kanban.

La méthode Kanban permet de représenter de façon visuelle les tâches du projet et leur avancement.

Exemple de Kanban
BACKLOG : en attente – READY : prêt – COOL : froid – WARM : tiède – HOT : chaud – DOING : en cours – DONE : fait
Productivity: Wrapping up the First Stage of a Special Project” de Dennis Hamilton, sous licence CC BY 2.0

Dans un kanban, chaque action est représentée par une carte, un post-it, une affichette ou assimilé. Ces cartes peuvent être disposées dans trois colonnes : une colonne « à faire », une colonne « en cours », et une colonne « fait ». Les affichettes sont initialement placées dans la colonne « À faire » et elles sont ensuite déplacées d’une colonne à une autre en fonction de la progression de la tâche.

Cela permet de :

  • visualiser l’avancement global d’un projet ;
  • communiquer sur son avancement et prendre connaissance de celui des autres ;
  • savoir ce qu’il reste à faire ;
  • gérer les tâches à faire et en cours d’exécution ;
  • prioriser les actions avec des codes couleurs ou en plaçant les cartes prioritaires en haut de file ;
  • proposer des objectifs ou améliorations à l’équipe par la création de cartes ;

Le fonctionnement du Kanban est adaptatif. Vous n’êtes pas obligé de vous restreindre à ces trois colonnes, et vous pouvez agrémenter la méthode à votre guise en ajoutant des codes couleurs, en mettant les informations qui comptent pour vous sur les cartes…

Par exemple, sur mes kanbans j’aime bien créer une colonne « RESSOURCES », dans laquelle chaque carte contient des liens utiles pour le projet.

Pour faire mes kanbans, j’utilise Trello, qui est un service en ligne sur lequel il est possible d’en créer gratuitement. Certaines fonctionnalités sont payantes ; je ne les ai jamais testées donc je ne les évoque pas ici.

Capture d'écran du Trello de notre projet “Python sans fioriture”
Capture d’écran du Trello de notre projet “Python sans fioriture”

Trello comporte des fonctionnalités sympathiques comme : ajouter une date limite aux cartes avec possibilité d’être notifié au moment de notre choix, attribuer des personnes aux cartes, commenter les cartes, y joindre des fichiers, leur ajouter des check-lists, leur attribuer des couleurs…

Capture d'écran d’une carte du Trello de notre projet “Python sans fioriture”
Capture d’écran d’une carte du Trello de notre projet “Python sans fioriture”

Conclusion

Établissement d’un workflow, choix des logiciels et des formats de fichiers, réalisation d’un planning prévisionnel, utilisation d’un kanban, collaborer via un espace de stockage en ligne et des documents collaboratifs : tout cela nous permet de nous organiser dans notre projet.

J’espère que certains des outils et méthodes présentés ici pourront vous être utiles ou vous inspirer pour vos futurs projets !

Cet article explique comment est réalisée la vidéo « LES CALCULATRICES NOUS MENTENT, LA VÉRITÉ DANS CETTE VIDÉO », qui est le deuxième épisode de la série « Python sans fioriture ». Je me suis greffée à la série pour ce second épisode, qui sera différent du premier sur la forme.

Si vous voulez voir la vidéo une fois finie, elle sera disponible sur la chaîne YouTube ThRASH Codeur, alors n’hésitez pas à vous y abonner !