Les Forces Contraires – Terrenoire

Dexter New Blood

J’inaugure un nouveau format d’article pour partager mon avis rapide sur des films, séries, livres, albums… Pour cela j’utilise l’excellent outil crée par Matt Birchler.

QuickReviews.app permet de générer une image avec quelques options de base permettant juste ce qu’il faut de personnalisation, en particulier la possibilité de changer les libellés des notes pour le franciser. Nouveaux avis à venir.

2021 en 50 lignes

J’ai honteusement copié cette idée sur les 100 trucs cools en 2021 de Yannick inspiré lui-même d’une idée originale de Damien (mais avec leur accord et leurs encouragements). Je me suis limité à 50 en partie parce que 2021 était à nouveau une année particulière, mais surtout parce que j’ai peu écrit dans mon journal.

  1. Je n’ai pas beaucoup vu ma famille cette année et ils m’ont manqué.
  2. J’ai médité 365 jours. Je ne pense pas que cela ait fait de moi quelqu’un de meilleur, mais j’apprécie ce rendez-vous quotidien, mon brossage de dents mental.
  3. J’ai passé la plupart de mes samedis en balade à Paris. Je mesure la chance d’habiter près de cette ville éblouissante.
  4. Après deux mois de tests et d’erreurs, j’ai réussi à réparer ma Rocket Espresso. Une simple bague de maintenance à remplacer régulièrement.
  5. J’ai repris la course à pied doucement pour ne pas me blesser à nouveau… dommage, je commençais à me sentir bien.
  6. Je me suis cassé le pied mi-décembre peu glorieusement en trébuchant sur un trottoir. Cinq semaines plus tard, je suis toujours immobilisé.
  7. Nous sommes allés en Bretagne et une fois de plus je n’ai pas été déçu : galettes, cidre, superbes paysages, belles balades, un peu de soleil et pas mal de pluie.
  8. J’ai bu 452 espressos, 383 filtres V60, 44 Aeropress et malheureusement dû ingurgiter 176 cafés du distributeur du bureau.
  9. Même si je n’ai publié que 4 photos sur mon fil Instagram, j’ai fait beaucoup plus de sorties street photo cette année. Il faudra bien un jour que je fasse quelque chose de toutes ces images.
  10. J’ai résisté aux nouveautés Apple. Mon iPhone X de 2017 doit tenir encore un an.
  11. Nous avons passé quelques jours à Bordeaux et j’ai adoré.
  12. Je me suis fabriqué un clavier mécanique (merci Sylvain) et ça m’a passionné. J’ai même appris à souder.
  13. J’ai cassé mes lunettes et vécu dans le flou pendant plusieurs jours.
  14. J’ai passé beaucoup de temps chez Loïc et Étienne à Terres de Café St Honoré et c’était cool.
  15. J’ai passé beaucoup de temps pour apprendre à développer en Swift/SwiftUI. J’ai passé un cap, je suis prêt pour développer ma première app.
  16. J’ai écouté Hervé en boucle, j’adore ce mec.
  17. Je suis allé chez un cardiologue pour la première fois pour une batterie de tests. Finalement, j’ai eu son pronostic de voyante : j’ai un coeur pour vivre vieux.
  18. J’ai pris plein de notes, organisé mon PKM d’abord avec Roam Research puis migré vers Obsidian. C’est devenu le point central de mes outils personnels.
  19. J’ai peu lu en 2021.
  20. Mais j’ai adoré le livre de Sean Tucker – The Meaning in The Making
  21. J’ai essayé d’apprendre Procreate à nouveau, c’est génial.
  22. J’ai fait le maximum pour échapper au COVID en 2021 et ça a fonctionné.
  23. Sans changer de job, mon travail a pris une nouvelle tournure qui a pas mal occupé mon esprit.
  24. J’ai enchaîné les malaises vagaux pendant trois mois sans en connaître vraiment la cause. Ce n’était pas agréable.
  25. Je suis retourné au Louvre.
  26. On a fait de la pâtisserie, mais on en a surtout mangé
  27. J’ai écouté beaucoup de podcasts, en particulier tous les épisodes de Connected.
  28. Je n’ai pas beaucoup vu mes amis cette année et ça m’a manqué.
  29. Je me suis sérieusement penché sur la gestion de mes finances personnelles.
  30. Je suis allé une seule fois au cinéma cette année, je ne sais même plus quel était le film.
  31. J’ai rejoint plein de groupes sympas sur Discord. Même si j’ai beaucoup de mal avec l’outil, j’y ai eu des échanges de qualité.
  32. J’ai beaucoup enrichi ma carte Mapstr.
  33. J’ai vu beaucoup de séries. En vrac, celles que j’ai aimées : Ted Lasso, The Witcher, Baron Noir, The Morning Show, Sex Education.
  34. J’ai changé de voiture pour un modèle plus petit, moins gourmand. Commandée en septembre, j’espère la recevoir avant fin 2022.
  35. J’ai filmé une vidéo pour YouTube. Le son ne s’est pas enregistré. Fin de ma carrière de youtubeur.
  36. Nous sommes allés à Reims, au phare de Vezelnay.
  37. Mon Mac est tombé en panne d’écran et de batterie. La réparation a été épique, mais prise en charge par Apple.
  38. On a enfin débarrassé le balcon des trucs qui y trainaient et mis des plantes pour faire croire qu’on n’habite pas en ville.
  39. J’ai commencé un journal/bilan mensuel sur Notion. J’ai tenu jusqu’en juin, dommage, car cela m’aurait bien aidé pour cet exercice.
  40. J’ai bu un superbe Geisha de chez Moklair.
  41. J’ai lu tous les articles du blog de mon frère, vous devriez aussi.
  42. J’ai sauvé plusieurs fois mon Calathea de la mort et je commence enfin à comprendre comment fonctionne cette plante capricieuse.
  43. Je n’ai pas acheté de matériel photo. Le GAS, c’est du passé.
  44. J’ai acheté un siège Sayl, mon dos m’a dit merci.
  45. J’ai deux pellicules dans mon frigo qui sont en train de se périmer.
  46. J’ai réussi à limiter mes réseaux sociaux à Twitter et Instagram.
  47. Je suis toujours une bille en latte-art, peut-être aussi parce que je n’aime pas le lait dans le café.
  48. J’ai visité la Sainte-Chapelle pour la première fois.
  49. J’ai réussi à ne pas sombrer dans l’atmosphère d’incrédulité ambiante. Je reste confiant, optimiste pour l’avenir. Heureux.
  50. Nous avons passé beaucoup de temps à deux et c’était le meilleur de l’année.

10 ans avec le Fuji X100

Il y a tout juste 10 ans, j’achetais mon premier Fuji X100.

Jamais un appareil photo n’aura eu autant d’influence sur ma pratique de la photographie. On affirme que ce n’est pas l’appareil qui fait le photographe, je pense cependant que l’appareil peut influencer fortement le photographe.

Lorsque Fuji a annoncé cet appareil en 2011, il avait déjà réussi à créer une forte attente. Il arrivait à un moment ou le design néo-rétro commençait à poindre, phénomène qu’il a lui-même fortement contribué à développer. Avec son viseur hybride — à ma connaissance unique — il avançait des atouts technologiques qui pouvaient séduire les puristes comme les photographes les plus geeks. Les numériques à focale fixe étaient encore peu nombreux et c’était un sacré pari pour Fuji. Un coup de poker qui a permis d’initier toute la gamme des Fuji X avec le succès inespéré que l’on connait.

Pourtant, mon histoire avec le Fuji X100 n’a pas démarré avec la lune de miel espérée. Cette première version imparfaite péchait du côté des performances. Son manque de vélocité m’a frustré bien souvent. Malgré cela, cet appareil avait un je-ne-sais-quoi de plus qui encore aujourd’hui me fait classer le X100 comme l’appareil qui m’a le plus impressionné. Dans tous les sens du terme.

Très vite, Fujifilm a su réagir et les versions qui ont suivi, le X100S et surtout le X100T ont progressivement gommé ces défauts de jeunesse. L’écoute des utilisateurs et les fréquentes mises à jour du firmware ont permis de faire progresser la gamme continuellement.

Aujourd’hui avec le X100V, je peux sans conteste affirmer que je possède l’appareil parfait, l’aboutissement d’une formidable odyssée. Qu’on ne s’y méprenne, c’est un jugement personnel et relatif. Chacun a ses propres besoins et exigences. Il convient parfaitement à mon utilisation, il est fiable, performant et tellement beau. Il ne me quitte pas. Aujourd’hui 80 % des photos que je prends le sont avec le X100V.

Je possède toujours mon X100 d’origine, je n’ai pas pu me résoudre à le vendre. Je ne collectionne pas les appareils, c’est le seul que j’ai gardé. Impossible d’oublier son premier amour photographique.

La saga X100 au fil des articles du blog

Auto-journal

Écrire trois fois par semaine : c’est l’objectif que je me suis fixé depuis plusieurs mois déjà. Pour l’instant, j’ai du mal à tenir la durée, mais un regain de motivation en ce début d’année me fait encore y croire. En me fixant cet objectif, j’ai surtout voulu relancer ou lancer une habitude qui me permet d’écrire plus d’articles.

Pour le moment, l’écriture se passe essentiellement ici, sur mon journal. Ce n’est pas réellement écrire des articles mais c’est déjà écrire. Cela me permet de dénouer les muscles de l’écriture. Ne serait-ce qu’essayer de former des phrases entières, à la syntaxe correcte, avec un sens compréhensible qui véhicule du contenu. Ce sera déjà bien.

Et ce muscle d’écriture, à force de l’entraîner devrait se développer. Tout devrait devenir plus automatique, moins douloureux aussi. Je devrais être capable d’écrire plus, plus longtemps et avec plus de force. Par force, j’entends qualité de la production.

Écrire régulièrement, devrait aussi faire émerger des idées. Écrire, c’est penser. Cela devrait alimenter ma liste de sujets pour de futurs articles.

En attendant, je fais de la métaécriture. Une écriture qui consiste à écrire sur l’écriture. Ce n’est pas la plus productive des écritures car elle ne porte pas beaucoup de nouveau sens. C’est une introspection. Elle permet simplement d’aligner les phrases, former des idées, les exprimer. Et ça, c’est déjà le début de l’écriture. Bien sûr, il faudra passer à l’étape suivante. Écrire sur d’autres sujets, mais il ne faut pas être trop pressé. J’imagine que cela viendra naturellement.

Ces quelques lignes sont un bon exemple de la force génératrice de l’écriture automatique. Elles m’ont donné une idée d’article ou de sujet à écrire : la métaproduction. J’entends par métaproduction l’écriture sur un sujet qui est à la fois l’objet et le moyen. Par exemple, écrire sur l’écriture. C’est un phénomène que l’on voit régulièrement sur les blogs (une grande tentation pour les blogueurs, c’est si facile) : écrire sur comment bloguer. Cela fonctionne aussi avec « faire un podcast sur comment faire un podcast » ou une vidéo « comment faire une vidéo YouTube ». J’ai pratiqué trop souvent ce type d’articles un peu faciles. C’est souvent un signe de manque d’expérience et d’inspiration. En tout cas c’est la voix de la facilité, d’une certaine forme de fainéantise et même d’un manque de courage.

Oui du courage. Car écrire sur des sujets qui vous engagent plus en demande. Sortir des sentiers battus et rebattus du blogging, c’est le signe que l’on renonce à la facilité. J’aimerais pouvoir en être capable.

En attendant, ce que j’ai écrit ce matin dans mon journal reste de la métaécriture, un auto-journal.

Et un article facile. Mais dois-je le publier ?

Redimensionner les fenêtres MacOS comme dans Windows

Windows est le système d’exploitation que j’utilise majoritairement. Ce n’est pas un choix, c’est celui de la société qui m’emploie. D’ailleurs, s’il y a un qualificatif qui sied bien à Windows, c’est professionnel. Windows est devenu un système vraiment stable. Les écrans bleus de la mort ont disparu depuis longtemps. Il est rapide et efficace. C’est Pro et comme pour tout outil de travail : on est pas là pour s’amuser. C’est assez moche, pas toujours simple, car il a pour mission de couvrir tous les usages1. Bref, Windows manque sérieusement d’âme.

C’est pour cette raison que je préfère2 utiliser MacOS à la maison. C’est joli, agréable à utiliser, puissant et avec ce petit plus qui rend l’expérience utilisateur plus smooth diraient les Anglo-saxons.

Passant la majeure partie de mon temps sur Windows, il y a quand même quelques trucs qui me manquent quand je passe sur Mac (même si l’inverse est plus souvent vrai). Si je ne devais en retenir une, c’est la possibilité de gérer la taille d’une fenêtre Windows simplement en la glissant vers le bord supérieur de l’écran. Chez Apple, bien que les dernières versions aient apporté quelques améliorations (Split View par exemple), la gestion de l’emplacement et de la taille des fenêtres est clairement en retrait et source d’agacements permanents.

Et puis, j’ai découvert Magnet, un petit utilitaire qui résout ce problème. Et bien plus encore. Avec Magnet, vous pouvez non seulement glisser une fenêtre vers le bord supérieur de l’écran pour qu’elle occupe tout l’écran, mais vous pouvez également utiliser des zones spécifiques du bord de l’écran pour donner à vos fenêtres des emplacements et des tailles spécifiques. Glissez la fenêtre vers le bord supérieur gauche et la fenêtre sera calée en haut à gauche en occupant un quart de l’écran. Glissez vers le bord droit et elle occupera la moitié droite de l’écran. Vous avez compris le principe, voici l’étendue des possibilités en fonction des zones :

Si vous préférez les raccourcis clavier, c’est également possible et vous pouvez les régler vous-même. Enfin, Magnet est également disponible dans la barre de menu, proposant les différentes dispositions pour la fenêtre active en un clic.

Magnet est disponible dans le Mac App Store au prix de 3,99€ et franchement payer deux cafés pour être débarrassé de ces manques de MacOS, ça me va en attendant Apple.

  1. Essayez de trouver un réglage dans le Panneau de configuration, qui a plusieurs présentations, qui ne regroupe plus tous les réglages car il y a aussi une petite icône dans la barre d menus qui permet d’avoir certains réglages, mais pourquoi seulement certains et pas d’autes? Sans parler des noms très professionnels qu’ont les options : le mot Wifi n’apparaît jamais, par contre on vous parle de point d’accès réseau. etc.
  2. Je dis bien je préfère, c’est juste mon choix et pas un jugement de valeur.

Débuter avec Swift pour iOS – (2/2) Quelle méthode pour apprendre ?

Après un premier article qui tentait de vous convaincre que programmer est une activité amusante et passionnante, allons maintenant au coeur du sujet. Comment réellement apprendre Swift ? Quels sont les meilleurs cours ? Quels types de cours ? Comment vraiment progresser ?

La première difficulté quand on débute en développement – et ce n’est pas spécifique à Swift – est de se trouver confronté à une quantité pléthorique de supports pour apprendre. Faire le bon choix parmi tous ces contenus est donc le défi numéro un. Je suis passé par là, et j’ai mis quelque temps avant de trouver les supports qui me conviennent et surtout ceux qui me permettaient de progresser réellement.

Une des clés pour progresser est d’avoir un bon équilibre entre théorie et pratique. Oui, la théorie est absolument nécessaire. Vous trouverez beaucoup de tutos qui vous permettent de développer rapidement des applications. On suit les étapes pas à pas et l’on aboutit à un résultat incroyable en quelques heures. La difficulté arrive lorsque vous allez vouloir faire vos propres développements. On ne peut pas se contenter de copier-coller des bouts de code pour faire ses propres projets. Très vite, vous allez atteindre des limites qui sont liées à la compréhension de ce que vous faites réellement, non seulement des instructions en elles-mêmes, mais aussi des concepts de base indispensable. Tôt ou tard, ils vont vous manquer pour avancer. Il faut être capable d’adapter ce que l’on a appris pour ses propres besoins.

On peut se dire qu’on trouve toujours des réponses à ses problématiques sur Stackoverflow. C’est une source indispensable pour trouver des solutions et des bouts de code faits par des développeurs plus expérimentés. Il est conseillé de s’inspirer des autres, de copier du code, d’en réutiliser, mais si on ne comprend pas ce qui se passe, il sera très difficile d’adapter, de corriger ses erreurs et d’optimiser son code. Viendra alors la frustration de ne pas réellement avancer. Comme je le disais dans la première partie, programmer doit être amusant. C’est un processus créatif et c’est pour cela que c’est passionnant. Sans plaisir, pas de progression.

Les cours

Le moment est venu de parler des ressources. Les cours sont la première source pour apprendre. S’il est bien structuré, un cours permet d’avoir une progression maîtrisée de l’apprentissage tout en couvrant le maximum de concepts. Je vous en propose trois, avec des approches différentes. À vous de voir celui qui vous convient le mieux. Rien n’interdit d’ailleurs de commencer avec un cours et de l’abandonner s’il ne vous convient pas. C’est ce que j’ai fait.

iOS 13 &Swift 5 – Angela Yu – Udemy

Si vous faites sur recherche de cours sur Swift iOS, vous allez très vite tomber sur les cours d’Angela Yu sur la plateforme Udemy. La popularité de son cours iOS 13 & Swift 5 – The Complete iOS App Development Bootcamp est absolument incroyable. Près de 200 000 participants ! C’est le cours par lequel j’ai commencé. Angela est une formidable pédagogue, la progression est bien calibrée, ses explications sont claires. Les applications que l’on construit ensemble sont intéressantes, jolies et couvrent une grande partie des API Apple. Évidemment le cours est en anglais, mais il reste relativement simple à suivre. Le cours est monumental : 573 vidéos réparties en 36 sections, soit près de 60 heures de vidéo (et au moins 4 fois plus de temps pour les visionner).

La plateforme Udemy est agréable à utiliser. Il y a même une App qui m’a permis d’utiliser l’iPad pour visualiser les vidéos en utilisant le Mac pour développer en même temps. Toutes les ressources sont disponibles pour avancer et chaque leçon a son propre fil de discussion qui permet d’échanger avec les autres élèves en cas de problème de compréhension ou de mise en application.

J’en suis à la session 204 et j’ai déjà appris beaucoup de choses. En réalité, j’en suis à cette leçon depuis plusieurs semaines, car j’ai basculé sur un autre cours, laissant celui-ci de côté pour le moment.

Effectivement, la critique que l’on pourrait faire au cours d’Angela est d’être construit sur la forme de tuto : on fait en même temps qu’Angela. Il y a bien quelques vidéos « Deep Dive » de temps en temps, qui s’attardent sur des concepts théoriques au fil de l’apprentissage, mais pas de cours théorique structuré. Il manque surtout, à mon goût, de véritables exercices pratiques à effectuer seuls. Il y a des challenges au fil des vidéos pour compléter le code que l’on est en train de construire, mais arrivé à la session 200, Angela ne nous a toujours pas laissés construire une App de A à Z avec les concepts appris. La conséquence est qu’il est difficile de mesurer ses progrès, de savoir réellement ce que l’on a acquis et surtout sa capacité à faire soi-même.

Pour cette raison, ce n’est peut-être pas le cours que je conseillerais pour commencer. Par contre, je vais y revenir pour compléter mon apprentissage et certainement découvrir de nouvelles choses tout en ayant acquis l’assurance et l’autonomie.

Pour finir, à noter que le cours est payant comme la plupart sur le site Udemy. Ne l’achetez pas au prix fort (129,99€). Je n’ai pas très bien compris comment fonctionne la tarification Udemy, mais ils font régulièrement de fortes « promotions » sur leurs tarifs. Si vous créez un compte, je pense que vous allez bénéficier d’emblée de ces tarifs « préférentiels ». Il est affiché à 14,99€ en ce moment, ce qui me semble un prix raisonnable au regard de la qualité et de la quantité de contenu offert.

100 Days of Swift – Hacking with Swift

Cette assurance et cette autonomie, je pense qu’il est plus facile de l’acquérir avec les cours de Paul Hudson et plus particulièrement celui qui est destiné aux débutants : 100 Days of Swift. J’étais déjà bien avancé dans le cours d’Angela Yu lorsque j’ai découvert le site Hacking with Swift. Le principe est simple : 100 courtes leçons qui ont pour objectif de passer 1 heure par jour pendant 100 jours avec Swift. Ces leçons sont un mélange de cours, de vidéos, de lectures, de quizz et surtout d’écriture de code.

Les 12 premiers jours sont consacrés à l’acquisition des concepts de base sous la forme de courtes vidéos suivies de tests. C’est progressif, bien fait et les tests permettent de vérifier qu’on a bien compris. Je vous conseille de télécharger l’App iOS gratuite Unwrap qui couvre ces 12 premiers jours. En plus des cours, elle propose des challenges, des quizz et des tests qui permettent d’apprendre de façon ludique tout au long de la journée dès que vous avez un moment. Les 12 premiers jours m’ont permis d’apprendre beaucoup plus et de façon bien plus structurée que le cours d’Angela.

La totalité du cours est basée sur ce concept d’apprentissage suivi de révision et de mise en pratique. Ainsi, après les 12 premiers jours, comme c’est le cas après chaque bloc d’apprentissage, il y a trois jours de révision et consolidation. On commence réellement à programmer à partir du jour 16 avec trois projets très simples. Les leçons sont sous forme de vidéos accompagnées de la transcription complète, code compris. À la fin de chaque projet, un challenge est donné. Ces challenges ne sont jamais corrigés (juste quelques indices pour aider), car Paul insiste sur le fait que l’apprentissage doit être fait par soi-même. À chacun de chercher parmi ce que l’on a appris ou sur d’autres ressources. En dernier recours, si vous êtes vraiment bloqué sur un challenge vous pouvez trouver sur GitHub des développeurs qui ont mis à dispositions leurs solutions à l’ensemble des challenges. J’y ai recours en général pour voir d’autres façons de faire, mais aussi lorsque j’ai séché sur certains points. Ces nombreux challenges progressifs à faire en toute autonomie tout en étant progressifs sont vraiment la clé de la progression.

Je suis au jour 35 actuellement et j’ai réellement pris beaucoup d’assurance. Je comprends comment sont construites les instructions, car Paul fait toujours le rapprochement entre ce que nous faisons dans les tutos et la théorie. Je suis capable de faire une App simple de A à Z ce que je n’avais même pas osé tenter avec le cours d’Angela Yu, ne sachant pas trop si j’en étais capable et par quel bout commencer. J’y prends surtout beaucoup de plaisir.

C’est évidemment le cours que je vous conseille pour commencer, apprendre vite et bien. Et en plus, tout cela est gratuit. C’est d’ailleurs le cas pour la plupart des contenus de Hacking with Swift, les contenus payants étant les livres et les cours avancés. Cela ne me concerne pas pour le moment.

Stanford University – Developing Applications for iOS using SwiftUI

Les universités américaines proposent de nombreux cours en ligne. Ce sont des enregistrements de ceux donnés à leurs étudiants. Ils ne se contentent pas de mettre les vidéos en ligne, toutes les ressources pour suivre les cours sont également disponibles, permettant à chacun de suivre le même cursus que les étudiants. L’université de Stanford propose donc ce cours dédié au développement d’applications iOS. Je n’ai pas encore regardé celui-ci, mais j’avais par le passé commencé quelques leçons de Java de la Stanford University. J’avais apprécié la très grande qualité des enseignements.

Si vous préférez un enseignement guidé qui vous rappelle vos études, c’est une excellente option. Par contre, ces cours demandent un investissement personnel important. Le travail à faire en dehors des cours (apprentissages, travaux pratiques) représente une masse de travail non négligeable. C’est un excellent moyen pour apprendre. À l’inverse, en tant qu’élève à distance et isolé, vous n’aurez pas de camarades de classe pour vous aider. C’est l’école de la débrouille.

Pour ma part, je pense regarder ce cours lorsque j’aurai terminé les deux autres, pour consolider mes acquis et vérifier que je progresse. À noter également que ce cours est construit autour du framework SwiftUI. J’en parle un peu plus loin. Et c’est gratuit.

Autres ressources

Ces cours ne seront pas les seules ressources dont vous aurez besoin. Je vous livre en vrac quelques liens que j’utilise en complément :

  • Les documentations officielles du langage Swift (swift.org) et des frameworks Apple. Le site Developper d’Apple propose aussi de nombreuses autres ressources pas toujours évidentes à trouver au premier abord.
  • Stackoverflow évidemment
  • Le sub Reddit r/swift
  • Je ne recommande pas d’utiliser YouTube pour apprendre. Vous n’y trouverez que des petits bouts d’apprentissage, très peu de choses structurées. Par contre, pour des sujets précis, on trouve évidemment d’excellentes ressources, par exemple sur la chaîne de Sean Allen.
  • De nombreux blogs de développeurs proposent des articles pour les débutants. Swift by Sundell en est un bon exemple.

Mon expérience

UIKit ou SwiftUI

C’est certainement la première question que vous allez vous poser avant de commencer. Jusqu’ici, la maturité de SwiftUI rendait les développeurs frileux pour le conseiller comme première approche pour les débutants. Les dernières versions ont tellement évolué qu’il est maintenant en première ligne. Un exemple. Alors que Hacking with Swift proposait de commencer par 100 Days of Swift (UIKit) il y a encore deux mois lorsque j’ai commencé, il propose aujourd’hui dans sa page Start Here de commencer par le cours 100 Days of SwiftUI. Je continue de penser qu’il est préférable de commencer par UIKit lorsqu’on est un débutant, pour se plonger dans le code encore majoritairement utilisé pour développer. Dans un deuxième temps, il est certain que je déroulerai les 100 Days of SwiftUI.

Quelques conseils

Ayant dépassé maintenant les premiers mois d’apprentissage, je mesure mieux les écueils. Voici quelques conseils.

Le développement d’App est quelque chose de complexe, en tout cas plus complexe que je ne l’imaginais. N’imaginez pas faire votre première App avant le premier mois d’apprentissage. Cela peut être frustrant, mais voyez cela comme un indicateur de votre motivation.

Cela signifie également qu’il faut consacrer du temps à l’apprentissage. Ce temps il se mesure plus en régularité qu’en nombre d’heures par séances. Passer ne serait-ce que 30 minutes chaque jour est selon moi plus bénéfique qu’une session de 5h tous les dimanches. Cela vous permet de rester en contact avec le code et d’entretenir les acquis. C’est aussi pour cette raison que j’apprécie les 100 Days of Swift. Un peu chaque jour.

Enfin, si je ne devais donner qu’un conseil, c’est celui-ci : privilégiez un apprentissage qui vous met en situation d’écrire votre propre code assez vite, régulièrement et sans aide. Ce n’est que par les essais et les erreurs que vous apprendrez. Vous essaierez de comprendre, vous trouverez les solutions, vous progresserez.

Bien sûr, apprendre peut être intéressant par le simple plaisir de la découverte. Cela risque de s’émousser devant les difficultés. Le meilleur moyen de l’éviter est d’avoir un objectif en tête. Identifiez une idée d’App que vous aimeriez développer, même si c’est une idée qui existe déjà. Dès que vous vous sentez à l’aise, commencez à la développer, par petits morceaux. C’est la clé de la motivation.

Débuter avec Swift pour iOS – (1/2) Pourquoi apprendre à développer ?

Comme si je n’étais pas suffisamment dispersé dans mes activités1, j’ai décidé d’en ajouter une à ma panoplie de zappeur. Depuis plusieurs semaines, j’essaie d’apprendre à développer des applications mobiles avec Swift pour iOS. J’en suis au stade où j’ai le sentiment de progresser dans mon apprentissage, fort de mes erreurs, mais aussi des premiers résultats positifs. Il me paraissait intéressant de partager mon expérience de débutant, si vous aussi vous pensez vous lancer.

Avant de passer aux outils, méthodes et astuces pour apprendre, je vous propose dans cette première partie de voir ce qui peut motiver pour apprendre à programmer.

Comment j’en suis arrivé là

Pour être tout à fait honnête, je ne suis pas un total débutant. Ma formation initiale en informatique m’a amené, au début de ma carrière, à faire un peu de développement. C’étaient les prémices de la programmation évènementielle, une nouvelle façon de concevoir les logiciels très éloignée de la programmation linéaire qui était la norme à l’époque. Les plus nostalgiques (ou les plus anciens !) se souviennent certainement de Borland Paradox. J’ai très peu développé, mais je garde en mémoire des moments d’intense exhaltation. Inévitablement, un jour, cela s’est rappelé à moi.

L’inventivité des développeurs d’applications mobiles est tout simplement stupéfiante. En quelques années, des fonctionnalités que l’on rangeait dans la catégorie « science fiction » sont devenues réalité. Les mettre en œuvre est aujourd’hui à la portée de chacun, si l’on fait l’effort d’apprentissage. La richesse de l’écosystème mobile en fait une plateforme aux possibilités infinies. Vouloir explorer ces possibilités, c’est un peu comme entrer dans un nouvel univers. C’est à la fois intrigant et passionnant.

Pourquoi apprendre à développer

Le développement logiciel est généralement perçu comme une compétence professionnelle. Aux deux extrémités des clichés, on imagine le millénial qui développe la future grande idée d’une startup ou bien le développeur chevronné qui code, bit à bit, le micrologiciel de la climatisation de votre voiture. Le fantasme du développeur est plus proche de la première catégorie, l’ultime cliché étant le développeur indépendant qui a eu une idée de génie et qui voit son application truster les premières places du classement de l’AppStore.

Il y a une autre voie. Une autre motivation. Développer peut être un loisir, quelque chose de ludique, une passion.

Développer c’est créer

Le côté créatif du développement est clairement ce qui m’attire le plus. J’ai toujours aimé fabriquer des choses, utiles ou artistiques, aboutir à une chose tangible qui sort de mes mains ou de mon esprit. Le développement d’applications possède ses deux facettes : on fabrique quelque chose avec des outils et des matériaux (le langage de programmation) tout en concrétisant des idées (les fonctionnalités, le design). Au final, le produit peut être beau, à regarder ou à utiliser.

Développer c’est écrire

Si vous aimez écrire, développer devrait vous passionner. Le processus d’écriture est très proche du développement logiciel : vous devez assembler des idées, utiliser une grammaire, une syntaxe pour former quelque chose de compréhensible. Apprendre un langage de programmation c’est comme apprendre une nouvelle langue. La progression est similaire : on commence avec des phrases simples utilisant les mots de base du langage. Petit à petit, on enrichit son vocabulaire et l’on prend plaisir à former des phrases complexes dans un style agréable et efficace. On parle même de développeurs qui écrivent bien, même si leur application fait la même chose qu’une autre écrite dans un style plus rudimentaire.

Être tout simplement devant son clavier, voire les mots se former à l’écran est motivant quand on écrit. On retrouve cette même motivation quand on écrit du code.

Développer c’est inspirant

Si vous avez déjà vu des développeurs, vous avez sans doute remarqué à quel point ils étaient immergés dans leur activité. Une attitude qui a injustement donné leur réputation d’asocial aux développeurs. En réalité, c’est un autre phénomène qui entre en jeu ici : la notion de flow telle que l’a décrite pour la première fois Mihaly Csikszentmihalyi dans son formidable livre Vivre, la psychologie du bonheur. Le flow est un état de fluidité mental que l’on atteint en faisant des activités qui occupent tout notre esprit. On perd généralement la notion du temps et l’on est dans une intense concentration. Mihaly Csikszentmihalyi avance que la succession de ces expériences est une des sources de l’équilibre et du bonheur. J’adhère à cette idée.

Chacun a pu vivre ces moments et en ressortir revigoré, plein d’énergie positive et de satisfaction d’avoir fait quelque chose d’enrichissant pour soi-même. Pour ma part, c’est le souvenir que j’ai de mes longues séances de développement.

Développer c’est ludique

Quand on développe on est souvent à la recherche d’une énigme. Parfois, cette énigme est de trouver la solution pour implémenter une idée. C’est un jeu de piste et d’exploration souvent amusant. Il faut bien l’avouer, la plupart du temps l’énigme consiste à rechercher pourquoi ça ne fonctionne pas. Assez paradoxalement, cette recherche de solutions à ses propres bugs est aussi ludique que la partie créative.

Je n’ai pas suffisamment de référence de gamer pour en parler longuement moi-même, mais les développeurs rapprochent souvent les deux activités : développer c’est comme jouer aux jeux vidéos. Être immergé dans son activité, trouver des solutions, interagir avec l’écran, arriver au bout d’une quête. Ce n’est d’ailleurs peut-être pas un hasard si développeurs et gamers sont souvent les mêmes personnes.

Développer c’est apprendre

Évidemment. On commence par apprendre un nouveau langage. Au-delà du langage, on apprend surtout de nouveaux concepts. Les débutants en Swift savent de quoi je parle si j’avance le mot « closure ». Si l’on aime apprendre et découvrir, on est servis. Chaque jour est une nouvelle découverte.

Développer permet aussi de mieux comprendre comment fonctionne les applications que l’on utilise. Si vous êtes curieux, apprendre un langage, c’est comme soulever le capot d’une voiture.

Développer c’est s’ouvrir de nouveaux horizons

En arrivant au terme de cette liste de motifs, on pourrait croire que l’on peut développer juste pour la beauté du geste. Si cela peut être motivant pour débuter, il faut rapidement y trouver un objectif plus concret. C’est un conseil largement partagé : la pratique est le seul moyen de progresser. Il est indispensable de se fixer des objectifs pour mettre en œuvre ce que l’on apprend.

Fixer ces objectifs, c’est aussi s’ouvrir de nouveaux horizons. Vous avez peut-être une idée d’application à développer. C’est peut-être juste un utilitaire pour votre propre besoin. C’est peut-être quelque chose de plus ambitieux, mais il faut bien commencer par les bases.

Vous avez peut-être envie de commencer une nouvelle carrière. Certes, apprendre seul en quelques mois ne fera pas de vous un développeur professionnel, mais cela vous permettra de mieux comprendre le métier. Savoir si cela vous plait vraiment et si vous devez aller plus loin.

Pourquoi développer en Swift pour iOS

Si je me suis tourné vers Swift, c’est simplement par logique personnelle, l’écosystème que j’utilise étant celui d’Apple. C’est simplement ma préférence personnelle. Les motivations pour apprendre à développer s’appliquent naturellement à tout type de langage et toute plateforme.

Dans mon cas, Swift présente l’intérêt d’être un langage relativement répandu (du moins dans le monde Apple). C’est le gage de pouvoir trouver facilement de l’aide pour apprendre. La richesse des possibilités offertes par la bibliothèque de composants d’Apple permet d’imaginer toutes sortes d’applications : des utilitaires, des jeux, manipuler de l’audio ou de la vidéo, de la réalité augmentée, la géolocalisation, etc. Les possibilités sont immenses. Je sais que je ne serai jamais limité par le framework.

Les limites sont simplement celles de mes compétences en développement. Et ça, c’est le moteur n° 1 pour apprendre encore et encore pour enfin matérialiser mes idées.

Dans la deuxième partie, je partagerai les ressources que j’utilise pour apprendre et les quelques leçons que j’ai apprises de mes premiers essais.

  1. Fred, tu ferais mieux de te tenir à un rythme régulier sur tes articles de blog, ta newsletter et ton podcast. Et aussi traiter tes street-photo qui dorment par centaines sur ton disque dur.

Premier café, épisode 4 : Faire son meilleur café

Avec ce dernier épisode de ma série Premier café, nous allons passer aux choses sérieuses : boire le meilleur café que l’on ai fait soi-même (pour le moment). Vous avez les bases, vous savez ce qu’est le café de spécialité, vous avez le matériel, il ne reste plus qu’à passer à l’action. Nous allons évidement faire du V60 et pour cela, je vais vous proposer trois recettes qui correspondent à des styles différents. Expérimentez-les, adaptez-les. Bref, jouez avec pour faire votre propre tambouille et surtout celle qui correspond au café que vous aimez.

Il existe une recette officielle, celle proposée par Hario, l’inventeur du V60. C’est une recette basique très imprécise. Hors, la précision pour un V60 est primordiale. Sans la précision, vous ne pourrez pas faire exactement la même technique d’une fois à l’autre et vous ne pourrez savoir ce que vous devez ajuster pour l’améliorer. Les recettes suivantes sont donc très détaillées en terme de grammage de café, de temps de versement et même de flux de versement. Cela peut paraître un peu exagéré mais j’insiste encore : si vous changez un des paramètres d’une fois à l’autre, vous ne verrez peut-être pas la différence mais avec une recette approximative, vous ne saurez jamais ce qui ne va pas, pourquoi votre café est trop acide, amer ou manque de corps.

Les techniques de filtre passionnent les baristas amateurs et professionnels. Il existe des centaines de recette, qui sont autant d’avis différents sur les principes d’extraction du café. Si ce sujet vous passionne, je vous conseille vivement le site de Jonathan Gagné, Coffee Ad Astra qui a comme accroche « A Scientific Approach to Coffee Brewing ». Cet astrophysicien met à profit ses compétences scientifiques pour explorer les paramètres permettant de faire le café filtre idéal. J’ai longtemps utilisé sa recette. Il n’est d’ailleurs pas le seul à suivre cette voie, cela mériterait un article entier.

Avant de passer aux recettes, quelques précisions :

  • La qualité et/ou la nature de l’eau que vous allez utiliser influence grandement le goût de la boisson finale. Là aussi, on peut aller très loin dans la recherche de l’eau idéale (voire fabriquer sa propre eau). Le plus simple (même si ce n’est pas le plus écologique) est d’utiliser une eau en bouteille. Volvic, Mont-Blanc ou Grand Barbier sont les marques les plus adaptées. Personnellement, j’aime bien la Mont-Blanc.
  • La température de l’eau est un des paramètres importants. Dans les recettes qui suivent, elles sont indicatives et sont un point de départ. Vous pouvez les ajuster en fonction du résultat. Si l’écoulement est trop rapide, vous pouvez diminuer la température (et inversement). Mais là encore expérimentez. Il y a d’ailleurs des discussions à propos du rôle supposé de la température, comme vous pourrez le voir dans la recette n°2.
  • La mouture du café pour du filtre est communément appelée de moyenne. Ce qui veut dire plus grosse que celle pour l’espresso (celle que vous trouvez dans les paquets Grand-Mère), mais pas trop. Cela ne doit pas trop vous aider, cet article devrait vous permettre de comparer les différentes tailles de grain. Après quelques essais vous aurez repéré vos réglages avec votre moulin. J’utilise un Comandante C40, mes réglages se situent entre 20 et 24 clicks selon le café et sa torréfaction.
  • Le versement de l’eau s’effectue généralement en spirale en commençant au centre puis vers les bords et en revenant vers le centre. L’objectif est de ne pas créer un trou au milieu du lit du café mais d’avoir une couche de café bien plate. Selon les techniques, le versement peut être plus ou moins agressif (rapide ou lent). Là encore, l’important est d’être régulier d’un essai sur l’autre pour être certain de ne pas apporter de variation.

1. Une recette « standard »

Il n’y a pas vraiment de recette standard, mais quelques principes que l’on retrouve dans la plupart des recettes classiques. Cette recette est celle partagée il y a quelques semaines par Pierre de Chantérac, barista chez Terres de Café. On utilise ici le ratio habituel de 60g/l ce qui veut dire 12g de café pour 200ml d’eau. Cette recette est assez simple car les versements sont espacés toutes les 30 secondes, on ne peut pas se tromper :

  • Faites chauffer l’eau à 93°C.
  • Peser 12g de café, le moudre.
  • Installer le filtre dans le cône, le cône sur la carafe et rincer abondamment le filtre avec l’eau chaude (cela permet d’ôter l’éventuel goût de papier que certains filtres peuvent présenter) et réchauffer la carafe. Jeter l’eau.
  • Ajouter le café et tapoter sur le bord du cône pour avoir un lit plat.
  • t=0:00 – 30g d’eau : déclencher le chronomètre en démarrant le premier versement. Ce premier versement, appelé bloom, a pour objectif d’extraire le CO2 qui se trouve dans le café. Il doit d’ailleurs se former des bulles.
  • t=0:30, +40g d’eau (total = 70g) : après 30 secondes, faire une deuxième versement de 40g pour atteindre 70g au total sur votre balance.
  • t=1:00, +40g d’eau (total = 110g)
  • t=1:30, +40g d’eau (total = 150g)
  • T=2:00, +50g d’eau (total = 200g)
  • Attendre que toute l’eau s’écoule, en général entre 2:45 et 3:00. Ajustez votre mouture si c’est plus court (moudre plus gros), si c’est plus long (moudre plus fin). La température peut également être ajustée.
  • Otez le cône, agitez le café par quelques mouvements circulaires pour l’homogénéiser. Laissez refroidir avant de déguster, plus ou moins selon les goûts.

2. La recette de James Hoffmann

Je vous ai parlé déjà plusieurs fois de James Hoffmann, World Barista Champion en 2008, référence très visible dans l’univers du café de spécialité grâce en particulier à sa chaîne YouTube.

Il y a quelques mois, James a proposé une recette qui a semé un petit vent de panique dans les certitudes des experts (?) du V60. Sa proposition est relativement simple, certains diront aggressive en remettant en cause certains principes qui paraissaient acquis :

  • Température de l’eau : alors que la plupart des recettes privilégient une température dans la fourchette 90-95°C, James avance que la température n’a que peu d’influence sur le résultat et que le plus chaud est le mieux : utiliser de l’eau frémissante tout simplement.
  • Nombre de versement : seulement deux (en plus du bloom) et relativement rapprochés.
  • Technique de versement : pas de problème si on verse l’eau sur le papier (ce qu’interdit la plupart des techniques traditionnelles). Là encore il n’a pas constaté de différence, au contraire, cela permet de « récupérer » les grains qui sont sur les bords pour former un lit plat.

C’est une recette que je fais régulièrement, elle est plus simple et fonctionne vraiment bien avec certains types de café (moins bien avec les cafés faiblement torréfiés). Voici donc sa technique (à retrouver sur sa vidéo), qui utilise pour le coup un ratio classique de 60g/l (12g pour 200ml) :

  • Faites chauffer l’eau jusqu’à frémissement (proche de 100°C)
  • Moudre 12g de café.
  • Installer le filtre dans le cône, le cône sur la carafe et rincer abondamment le papier avec l’eau frémissante. Jeter l’eau.
  • Ajouter le café et créer un puits au milieu. Cela permet au grain d’être saturé uniformément pendant la phase de bloom.
  • Démarrer le timer
  • t=0:00, 30g d’eau : Ajouter environ deux fois le poids du café pour le bloom = 30g d’eau. (ne pas utiliser plus de 3 fois le poids du café). Agiter la carafe en mouvement circulaire pour mélanger uniformément le café avec l’eau (c’est mieux que d’utiliser une cuillère pour agiter). Laisser le bloom jusqu’à 0:45.
  • t=0:45, +90g d’eau (total = 120g) : Ajouter de l’eau pour atteindre 60% du poids total = 120g dans les 30s suivantes (donc relativement lentement). Ne pas s’inquiéter si l’eau va directement sur le filtre.
  • t=1:15, +80g d’eau (total = 120g) : Ajouter de l’eau pour atteindre 100% du poids total = 200g dans les 30s suivantes.
  • t=1:45 : Remuer une fois dans le sens des aiguilles et une fois dans le sens inverse avec une cuillère. Cela permet de décoller le café des parois.
  • Attendre qu’un peu de café s’écoule puis faire un léger mouvement circulaire avec la carafe. Cela permet d’avoir un lit de café plat au fond du filtre pour une extraction uniforme.
  • t=3:30 Tout doit être écoulé.
  • Otez le cône, agitez le café par quelques mouvements circulaires pour l’homogénéiser. Laissez refroidir avant de déguster, plus ou moins selon les goûts.

La recette « radicale » de Elisa Urdich

Elisa Urdich est une championne italienne (Brewers Cup 2019, Aeropress Championship 2020) qui propose une approche encore plus radicale. Elle supprime la phase de bloom et réduit la recette à seulement deux versements dont le premier à une température relativement basse (85°C). Je l’ai testée récemment et même si je ne suis pas encore totalement convaincu, je dois encore affiner ma technique pour pouvoir en tirer quelque chose. Je vous laisse tenter votre chance. On utilise ici un ratio sensiblement plus élevé, 75g/l.

  • Faites chauffer l’eau à 85°C
  • Moudre 15g de café.
  • Installer le filtre dans le cône, le cône sur la carafe et rincer abondamment le papier avec l’eau. Jeter l’eau.
  • Ajouter le café et tapoter sur le bord du cône pour avoir un lit plat.
  • Démarrer le timer
  • t=0:00, +80g d’eau : Ajouter 80 g d’eau à 85°C en 20 secondes, puis laisser le lit de café sécher complètement jusqu’à 1:15.
  • Augmenter la température de l’eau pour atteindre 93°C.
  • t=1:15, +120g d’eau (total = 200g) : Ajouter 120g d’eau dans les 30s suivantes (donc relativement lentement).
  • t=2:45 : Tout doit être écoulé.
  • Otez le cône, agitez le café par quelques mouvements circulaires pour l’homogénéiser. Laissez refroidir avant de déguster, plus ou moins selon les goûts.

Votre recette

Il n’y a pas de vérité dans la façon de faire un bon café. Testez différentes recettes, trouvez celle qui vous convient et faite le meilleur café à votre goût.

N’hésitez surtout pas à partager ici vos conseils.

Sérendipité

A quelques années près, j’aurais pu être un Xennial, j’en partage au moins une caractéristique. J’ai vécu mon enfance et même mon adolescence sans le web et les smartphones. Cette chronologie, au lieu de me rendre imperméable aux nouvelles technologies, a, bien au contraire, aiguisé ma curiosité et mon émerveillement permanent. Internet en particulier continue de me surprendre : on peut encore y ouvre une porte et tout un univers que l’on ne suspectait pas apparaît. C’est la sérendipité1 au service de la connaissance.

Quand cet heureux hasard vous permet de découvrir un nouveau domaine inconnu, il est difficile de ne pas s’immerger complètement, un lien en appelant un autre. C’est ce qui m’est arrivé il y a quelques jours, je ne sais trop comment, car on se souvient rarement de la première porte qui a ouvert les autres. Je ne saurais non plus dire à ce stade de quel domaine exact il s’agit car je suis en pleine investigation. J’ingurgite des articles, des vidéos, des livres pour en savoir plus. Pour le moment, je ne peux vous donner que quelques pistes et mots clés du sujet :

Le sujet est immense mais passionnant. Il est naturellement amené à alimenter ce blog. A suivre donc…

  1. La sérendipité est, au sens strict original, la conjonction du hasard heureux qui permet au chercheur de faire une découverte inattendue d’importance ou d’intérêt supérieurs à l’objet de sa recherche initiale – Wikipedia