Organiser un live
Avant de commencer, pour celles et ceux qui ne me connaissent pas. Je m'appelle Jénaïc et j'organise des sessions de live coding tous les mercredis de 19h à 21h sur Twitch.
On y fait de la programmation web pour le moment et surtout on essaye de toucher à tout (front, back, algorithmique), de passer de la théorie à la pratique. Afin d'aborder les concepts compliqués de manière simple et en moins de 2h !
Vous n'y croyez pas ? Moi non plus je n'y croyais pas, mais la suite va vous épater. (J'ai toujours eu envie de dire ça 😁)
Chaque live nécessite de jongler entre un travail de fond en amont et une animation fluide en direct.
Les deux sont paradoxaux et je veux vous partager comment je m'organise et ce que je compte faire plus tard. Il y a beaucoup de chance que ça change avec le temps et d'ici là, je ferai un nouvel article.
Mes présupposés
- Je fais "Co" - "Discovery" pour créer un sentiment de découvertes partagées. A chaque live j'apprends et j'espère que ça peut en aider d'autres à apprendre. Surtout celles et ceux qui démarrent et pensent que les développeurs "seniors" sont des machines de code. Ma réalité c'est qu'on bloque sur les mêmes choses qu'un débutant, mais on y passe beaucoup moins de temps après quelques années. C'est pour ça que chaque live démarre d'une page blanche et qu'on réalise un site, une app ou un serveur en moins de 2h.
- Le savoir doit être gratuit, simple et fun. La pratique est dure, très dure. Coûteuse en temps et en énergie. Je pense toujours au parallèle avec l'exercice de faire des pompes. Le concept est simple : monter et descendre les bras sans bouger le reste du corps. Par contre la pratique est proche du supplice. J'adore faire des pompes et je me suis challengé à en faire beaucoup : une journée à 1000 pompes ou faire 100 pompes en une seule fois. Pour ces 2 challenges, il m'a fallu des mois de préparation pour arriver à les faire une seule fois. Et surtout je me rappelle encore de la première fois que j'ai fait des pompes et je pouvais même pas en faire 5. La programmation c'est pareil. La logique est vraiment simple, mais c'est la pratique qui demande des années. Et malheureusement dans une logique économique, c'est difficile de se dire que je vais avancer sans but, de me laisser porter par les envies du moment ou me laisser glisser sous le vent... (avec Céline... 🤓).
- La pratique, la pratique, la pratique. Le savoir n'est pas un substitut à la pratique, les deux se font ensemble. Souvent ça fait peur de commencer, alors si regarder quelqu'un souffrir ou s'émerveiller en direct peut aider. I'm all for it.
Physionomie d'un live
J'ai commencé les lives comme une vidéo pré-enregistrée. Je déroule un contenu préparé et je prends les questions (s'il y en a) sans dévier du contenu préparé. C'est plutôt rassurant de faire ça, car quand ça bug, je reviens sur mon contenu tout fait et j'en fais un copié/collé.
Mais ces derniers temps, j'ai commencé à laisser le hasard faire les choses. Ce n'est pas si simple car je sais que c'est enregistré, publié sur YouTube et que virtuellement, le monde entier me regarde. Sur le moment, le virtuel est réel. Et quand ça bug, tout le monde voit ma limite. Alors ce n'est pas facile à supporter publiquement, mais c'est ma réalité de développeur, et c'est aussi ça que je veux montrer et désacraliser.
C'est pour ça que les lives deviennent de plus en plus organiques. La destination est fixée, mais le chemin reste à définir. Comme un bateau qui se laisse porter et qui glisse sous le vent (avec Céline... 😅).
Donc, au début d'un live, c'est aux viewers de choisir le chemin. Et surtout, lorsque je bloque, je me suis surpris à demander de l'aide très tôt et d'avoir des retours parfois drôles, parfois pertinents et souvent les deux.
A la fin du live, à partir de 21h, on parle de tout ce qui vous intéresse ou qui vous bloque en ce moment. J'ai pu sortir des sentiers battus et expliquer des concepts plus compliqués sans m'y préparer :
- La programmation objet
- Reverse engineering d'une API en Python pour la transposer à Node.JS
- L'héritage vs. la composition
- React class component vs. React hooks
- Review et déboggage de votre code
- Pas plus tard que la semaine dernière : revoir Array.sort() dans toutes ses forces et quirks ("bizarreries" en français).
Jusqu'ici j'ai eu la chance de pouvoir y répondre... Pourvu que ça dure.
Planification des lives
Quand j'ai commencé lors du premier confinement, planifier un live était un vrai calvaire, un millier de questions se bousculaient dans ma tête :
- Quel jour ?
- Quelle heure ?
- De quoi je vais parler ?
- Est-ce que ça va intéresser ?
- Est-ce que je vais réussir à coder en direct ?
- Est-ce que c'est trop simple pour les viewers ?
- Est-ce que c'est trop compliqué ?
- Est-ce que, est-ce que ? Telle est la recursion.
J'ai trouvé un petit rythme : tous les mercredis de 19h à 21h.
Et puis avec le temps, les participants font des demandes. Là au moins, je suis sûr que ça va intéresser. Donc maintenant, je prépare les lives en fonction des demandes et chaque demande devient un thème que je déroule sur le mois.
Voici mon plan actuel :
- Janvier (proposé par Julie) : créer sa présence en ligne (ou la création d'un portfolio)
- Tips sur le design d'une page simple et claire
- Créer le dark mode et une page responsive
- Faire des animations
- Créer son portfolio
- Déployer un backend sur Heroku
- Déployer un frontend sur Netlify
- Déployer un back et un front sur Gandi
- Déployer un back et un front sur AWS
- Faire un puissance 4
- Faire un jeu à commande vocal (je vous en dis pas plus, venez voir)
- Faire un blind test avec l'API de Spotify (sur 2 semaines parce que ça sera plus compliqué)
- Faire des tests unitaires
- Faire des tests fonctionnels sur une API
- Faire des tests fonctionnels sur une application React
- Faire du test coverage (savoir le pourcentage de votre application qui est testé)
Faire vivre ce contenu
Tout le monde ne peut pas venir au live, donc je cherche maintenant un moyen efficace de donner accès à ce contenu au plus grand nombre. Les replays extraits de live que je laisse sur YouTube, pour l'instant, c'est bien. Mais je pense qu'il y a mieux et je cherche un bon modèle pour ça.
Conclusion
J'ai en tête la destination, un endroit où vous pourrez apprendre des concepts compliqués de manière fun et interactive.
Mais je ne connais pas encore le chemin, donc je me laisse porter par vos suggestions (et Céline... 🤣).
J'ai tellement d'idées que c'est difficile de savoir par quoi commencer, mais grâce à votre participation et votre aide, moi aussi j'apprends beaucoup et je n'ai qu'une seule envie : être à mercredi prochain !
Sur ce, je vous souhaite une excellente semaine. Bon code !
Continuez votre apprentissage
Si vous démarrez dans la programmation web (principalement HTML/CSS et surtout JavaScript), alors venez nous voir les mercredis de 19h à 21h sur Twitch.
Si vous voulez avoir les dates des prochains lives, c'est sur Meetup. Et pensez à vous inscrire au groupe pour recevoir par email les dates des prochains lives.
Si vous êtes fan du replay, alors c'est sur YouTube. On vient d'avoir 100 abonné.e.s ! 🎉
Si vous avez des questions "privées" vous pouvez venir me les poser sur LinkedIn.
Et si vous êtes intéressé.e à faciliter votre pratique, abonnez-vous à la newsletter pour être tenu au courant de la date de sortie du programme de formation (et aussi des réductions).
Voici mes propositions :
- Pour le mois de Mai : socket.io (chat, white board,…)
- Pour le mois de Juin : des Jeux de Canvas (jeu du serpent, Pac-Man, mini jeu de plateforme,..)