rewind.website et Cast Rewinder
La naissance et les choix dâun petit outil qui permet de sâabonner Ă un podcast depuis le dĂ©but.
Fin juin jâavais dĂ©veloppĂ© un outil web en Python (ça sâappelle Pyctogram et qui a son billet sur ce carnet). Jâen Ă©tais restĂ© lĂ , Ă©tant donnĂ© que jâai dâautres choses Ă faire, entre ma recherche dâemploi, Paris Web qui arrive et les vacances qui se prĂ©parentâŠ
Et puis en Ă©coutant un podcast au sujet du monde des podcasts (ça sâappelle Bitrate, lâĂ©pisode date du 29 juin), jâai entendu une trĂšs bonne idĂ©e par un des animateurs : quand on sâintĂ©resse aux podcasts, on en dĂ©couvre parfois un, quâon aimerait commencer depuis le dĂ©butâŠÂ ça serait cool de pouvoir sây abonner et recevoir les plus anciens Ă©pisodes dâabord, Ă intervalle prĂ©dĂ©fini.
Et donc je me suis dit, jâai du temps (jâen avais pas vraiment), je sais faire (jâĂ©tais pas sĂ»r de tout bien connaitre) et ça me sera utile (peut-ĂȘtre). Et donc je lâai fait.
Le rĂ©sultat sâappelle Cast Rewinder, et il marche Ă lâadresse rewind.website.

Quelques choix techniques
JusquâĂ prĂ©sent, ce qui me retenait le plus avant de faire un projet comme ça, câest faire les bons choix techniques. Câest surtout parce que jây connaissais pas grand chose. Câest un peu comme quand on se retrouve au supermarchĂ© dans le rayon des cĂ©rĂ©ales, trop de choix, rien qui nous ressemble. Quand on nây connait rien, il y a trois tonnes de choses Ă apprendre avant de commencer Ă faire des choix.
Je connais Python, depuis que jâai jouĂ© avec des Raspberry Pi, ces petits ordinateurs. Câest un langage que je trouve simple et Ă©lĂ©gantâpas de fioritures, si on veut faire quelque chose il existe dĂ©jĂ un module qui le fait bien et qui va droit au but.
Jâaurais pu utiliser PHP, que je frĂ©quente depuis plus de dix ans au grĂ© des CMS que jâutilise, WordPress, Kirby ou Symfony (je ne dĂ©veloppe pas en Symfony, je laisse ça Ă des gens plus rĂ©sistants que moi, je nây fait que de lâintĂ©gration web), mais ça me parait toujours Ă©prouvant de coder dans ce langage.
Mon projet Pyctogram dâil y a trois semaines est en Python, et il utilise le framework Flask. Câest pas le moyen le plus simple de faire un site web en Python, mais il a beaucoup dâextensions intĂ©ressantes, pour ne pas avoir Ă tout coder moi-mĂȘme. En revanche, lĂ oĂč la semaine prochaine jâavais fait ma propre sauce avec les bases de donnĂ©es, lĂ jâai voulu aller un peu plus loin et dĂ©couvrir un ORM, on mâa conseillĂ© SQLAlchemy. Jâavais dĂ©jĂ vu un ORM en action avec ce que mes collĂšgues dĂ©veloppeurs faisaient dans Symfony (et Doctrine), et il Ă©tait temps que je dĂ©couvre Ă quoi ça sert. En gros, ça aurait pu mâĂ©conomiser quelques heures dâarrachage de cheveux sur PyctogramâŠ
Comme je voulais publier lâoutil sur le web, je voulais une base de donnĂ©es qui tienne le coupâon mâa proposĂ© de remplacer SQLite par PostgreSQL et jâai dit banco, je nâen savais rien et ça marche quand mĂȘme. Et pour le dĂ©ploiement, jâhĂ©sitais entre utiliser une petite machine de cloud Ă configurer moi-mĂȘme, ou aller chez un fournisseur qui vend des environnements dĂ©jĂ faits, comme Heroku ou Python Anywhere. Au final câest lâoffre la moins chĂšre de Scaleway qui a fait pencher la balanceâet si jâai besoin de plus de rapiditĂ© je pourrai passer Ă la machine au dessus.
Il nây a pas de morale dans cette histoire, jâaurais pu choisir PHP ou JavaScript et ça aurait eu le mĂȘme rĂ©sultat, grosso modo. Certains pourront critiquer avec raison la lenteur dâexĂ©cution de Python, mais je ne fais pas le prochain Facebook.
Quelques choix graphiques
LĂ aussi, jâai jouĂ© la rapiditĂ©. Le but de ce projet, câĂ©tait pour moi de voir si je pouvais le faire. Je nâavais pas envie de passer des heures devant Sketch ou Photoshop, Ă faire des maquettes par dizaines, des wireframes UX par centaines et coller des post-its sur mes murs.
Jâai donc pris le framework Bulma et des emoji.
Je parle de frameworks depuis tout Ă lâheure, mais jâexplique pas ce que câest. Basiquement, un framework câest un kit Meccano. En soi, câest une boite qui pĂšse lourd et qui a plein de piĂšces, mais quand on sait sâen servir on peut bĂątir la Tour Eiffel ou un tracteur comme sur la boĂźte, ou bien on peut imaginer et construire une machine Ă sous. Le framework nous donne des piĂšces et des mĂ©canismes. LĂ , pour ce framework graphique, il donne des piĂšces graphiques, comme par exemple des formulaires. Je nâai quâĂ ajouter le code dans mon application, et la page apparait avec une organisation et une identitĂ© graphique basique, mais prĂ©sente.
Comme Bulma est assez neutre et minimaliste dans son approche graphique, jâutilise des emoji pour le logo. Je ne les utilise pas autant que pour Pyctogram, mais lĂ nâest pas le but. Je nâai pas besoin dâun logo particulier ou dâune identitĂ© ayant un caractĂšre unique. Les emoji font partie dâun langage commun. Pas dâune langue, mais juste dâun langage pictural. Le concept du site, de son nom Ă sa fonction, peut rappeler les cassettes audio. Lâemojo bouton rewind, âȘ, est donc tout Ă fait pertinent. Lâusage des emoji dans les interfaces visuelles de sites est dâailleurs assez rĂ©pandu, voir par exemple Itty Bitty Sites, un projet que jâaime beaucoup.
Enfin bon, je ne vais pas passer des heures Ă pontifier sur la pertinence culturelle des emoji dans lâenvironnement expĂ©rimental post-net.art Ă©tant donnĂ© que le principal motivateur de mon choix câĂ©tait la flemme.

Et maintenant ?
Jâai commencĂ© Ă y travailler jeudi, le site est en ligne aujourdâhuiâŠÂ jâaime cette rapiditĂ©. MĂȘme sâil me reste quelques modifications Ă faire sur les contenus, je suis trĂšs content du rĂ©sultat.
Le principal souci dans les prochains mois va ĂȘtre de suivre la performance du server, prĂ©voir les bugs Ă la lecture ou Ă lâĂ©criture de flux RSS, et ce genre de choses.
Si vous lâutilisez, nâhĂ©sitez pas Ă me faire passer toutes les remarques, problĂšmes ou bugs rencontrĂ©s. Jâai mĂȘme une super adresse email : hello@rewind.website.
Billets liés
- 13/11/2017 â đ pyreNoel
- 13/12/2017 â đ€ Un ordinateur mâa gĂ©nĂ©rĂ© 6526 noms de communes françaises
- 22/06/2018 â đ Amusons-nous un peu avec Python et Instagram
- 11/07/2018 â đ€ RĂ©flexions sur un problĂšme de fuseaux horaires
- 19/07/2018 â đ€ Cast Rewinder â comment gĂ©rer les Ă©lĂ©ments supprimĂ©s ?
- 27/11/2018 â đ Glitch.com, usine Ă expĂ©rimentations de code
- 18/08/2022 â đșïž Paper Globe : le retour !
Répondez sur votre propre site, envoyez une Webmention!