« En attendant la PyConFr » du 15 avril 2021

Un petit thread pour avril, pour récolter des idées de sujets déjà.

Je me propose à un lightning talk sur bash, en assumant le “hors topic” : connaître deux-trois trucs bash peut être bien utile pour un dev Python.

1 « J'aime »

Justement: python et le threading… j’ai lu un bon article là dessus. Différence entre thread, async, multiprocessing, windows vs le reste du monde (ou pourquoi fork c’est mieux :D)… Utilité ou PAS du parallélisme. C’est pas si long, mais beaucoup se perdent à cause du GIL (pas le vendeur de voitures). Après pour ma part je ne peux pas en parler à mon avis avant au moins une semaine (disons deux, cause santé). Puis ça permettrait de casser les idées reçues sur python et son monotasking chronique :D.

2 « J'aime »
Quand ?
  • 12 avril
  • 13 avril
  • 14 avril
  • 15 avril
  • 16 avril

0 votant

À partir de quelle heure
  • 18h
  • 18h30
  • 19h
  • 19h30

0 votant

Je tenterais bien un lightning talk de 5min sur un module standart de Python aléatoire (pathlib, Enum …) histoire de présenter la doc de manière un peu interactive.
Sous condition que j’arrive à trouver un petit créneau et que le contenu me semble utile (parce que je sais bien qu’on a tous fait 128 fois le tour de la doc). :slightly_smiling_face:

1 « J'aime »

J’aimerais bien comprendre les Enum : j’ai l’impression que je manque quelque chose par rapport à leur utilité … :thinking:

Ça évite juste de se trimbaler des strings et d’imposer un schéma d’utilisation.
Si par exemple au lieu d’utiliser les Enums tu utilises des strings, l’utilisateur peut rentrer n’importe quelle string, tu dois coté applicatif (server) tester si cette string est valide.
Contrairement aux Enums, ca inscrit un schéma/contrat d’utilisation, et à l’édition et utilisation de ta classe Enum l’utilisateur sera alerté d’un mauvais usage (l’énum n’existe pas, il n’utilise pas l’énum dans la fonction/membre qui a besoin de ce paramètre, etc …).
Pour résumé:

  • C’est plus explicite/Le schéma est plus clair
  • C’est typé
  • Potentiellement c’est plus rapide :wink: (under the hood ça manipule des entiers (identifiants pour chaque énum) au lieu de strings ou autres)
1 « J'aime »

Je vais préparer l’affiche :art: :slight_smile:
@cGIfl300 : du coup tu présentes “Python et le threading” ou c’est un peu tendu niveau temps ?

D’autres personnes veulent faire une petite intervention rapide ? Même de 5 minutes ?

Oui moi je veux faire mon hors topic sur bash, marre de voir les gens ignorer C-a, C-k, C-y, M-y, … (╯°□°)╯︵ ┻━┻

1 « J'aime »

A la fois large et tendu, en fait je récupère une connexion internet fiable le 14 au soir, mais le sujet sera prêt largement dans les temps, c’est juste la validation qui peut être juste si tu veux la visionner avant.

J’ai tellement fait n’importe quoi avec les annonces que si on a des gens qui viennent le bon jour à la bonne heure on aura de la chance. :smiley:

Je pense qu’on a besoin de quelqu’un pour la com’.

Pas besoin de visionner c’était juste pour avoir un “retour actualisé” :slight_smile:

@mdk: j’avais bien pris en compte ta présentation :slight_smile:
(j’ai fait directement un PDF ce coup ci)
afpy_avril.pdf (50,1 Ko)

Techniquement c´est plus connaÎtrre bash + readline + emacs mode que juste bash, mais je comprends ton agacement :slight_smile:

J’ai mis en ligne les trois présentations sur Youtube :

La PR pyvideo est prête elle aussi, en brouillon actuellement dans l’attente des liens directs et de l’instance peertube : Add videos of online conferences "En attendant la PyConFr" by AFPy - April 2021 by entwanne · Pull Request #1059 · pyvideo/data · GitHub

Commandes ffmpeg d'extraction des vidéos
ffmpeg -i webcams.webm -vn -y audio.ogg

# 1st
# audio: 0:01:50 à 0:12:54 (d=0:11:04)
# partage écran: 0:01:50 à 0:08:19 (d=0:06:29)
# slide: d=0:04:35
i=1
ffmpeg -i audio.ogg -ss 0:01:50 -t 00:11:04 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -i deskshare.webm -ss 0:01:50 -t 00:06:29 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -loop 1 -i slide.png -t 00:04:35 -c:v libvpx -vf scale=1280:720,setsar=1:1 /tmp/slide$i.webm
ffmpeg -i /tmp/desk$i.webm -i /tmp/slide$i.webm -filter_complex "[0:v:0][1:v:0]concat=n=2:v=1[outv]" -map "[outv]" /tmp/video$i.webm
ffmpeg -i /tmp/video$i.webm -i /tmp/audio$i.ogg -c copy -map 0:0 -map 1:0 pres$i.webm

# 2nd
# audio: 0:13:08 à 0:39:27 (d=0:26:19)
# partage écran: 0:13:08 à 0:39:27 (d=0:26:19)
i=2
ffmpeg -i audio.ogg -ss 0:13:08 -t 00:26:19 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -i deskshare.webm -ss 0:13:08 -t 00:26:19 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i /tmp/desk$i.webm -i /tmp/audio$i.ogg -c copy -map 0:0 -map 1:0 pres$i.webm

# 3rd
# audio: 0:41:00 à 0:59:47 (d=0:18:47)
# partage écran: 0:41:00 à 0:52:08 (d=0:11:08) + 0:53:00 à 0:54:42 (d=0:01:42)
# slide: d=0:00:52 + d=0:05:05
i=3
ffmpeg -i audio.ogg -ss 0:41:00 -t 00:18:47 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -i deskshare.webm -ss 0:41:00 -t 00:11:08 -c:v copy -c:a copy /tmp/desk$i-1.webm
ffmpeg -i deskshare.webm -ss 0:53:00 -t 00:01:42 -c:v copy -c:a copy /tmp/desk$i-2.webm
ffmpeg -loop 1 -i slide.png -t 00:00:52 -c:v libvpx -vf scale=1280:720,setsar=1:1 /tmp/slide$i-1.webm
ffmpeg -loop 1 -i slide.png -t 00:05:05 -c:v libvpx -vf scale=1280:720,setsar=1:1 /tmp/slide$i-2.webm
ffmpeg -i /tmp/desk$i-1.webm -i /tmp/slide$i-1.webm -i /tmp/desk$i-2.webm -i /tmp/slide$i-2.webm -filter_complex "[0:v:0][1:v:0][2:v:0][3:v:0]concat=n=4:v=1[outv]" -map "[outv]" /tmp/video$i.webm
ffmpeg -i /tmp/video$i.webm -i /tmp/audio$i.ogg -c copy -map 0:0 -map 1:0 pres$i.webm

Merci @entwanne !!!

Merci pour la présentation des Enum - j’ai trouvé ça très clair et l’exemple “valeurs techniques” me parle beaucoup.

1 « J'aime »

J’ai mis les vidéos des trois présentations sur l’instance PeerTube bittube.video:

J’ai proposé une mise à jour de la PR pyvideo.

1 « J'aime »