|
Ouvrir la newsletter dans le navigateur |
 |
|
|
|
💙️ Soutenir la newsletter 💙️ |
 |
|
|
|
Les actualités / coup de gueule |
|
|
 |
 |
|
Lors du meetup sur l'accessibilité en Flutter, les deux intervenants n'avaient pas voulu dévoiler le nom du projet sur lequel ils travaillaient depuis plusieurs mois. Seule une équipe de taille conséquente était sous-entendue. Vendredi dernier, c'est par l'intermédiaire de Gwenn Guihal que l'on découvre enfin ce fameux projet : SNCF Connect.
Un projet très ambitieux Il faut le reconnaître, acheter des billets sur une application et avoir les informations sur les trains dans une autre n'est pas des plus pertinents. Comme son nom l'indique, SNCF Connect est là pour rassembler tous les modes de mobilité en un seul et même ensemble.
En lisant le communiqué de presse , on y apprend qu'elle aura notamment pour rôle de réunir "tous les titres de transports, les abonnements et les informations pour organiser, réserver et modifier son trajet avec TGV INOUI, OUIGO, Intercités, TER, Thalys, Eurostar, TGV Lyria, les transports publics en Ile-de-France, dont Transilien, les bus longue distance, le covoiturage…, du premier au dernier kilomètre". Mais ce n'est pas tout, puisque SNCF Connect "intègrera les offres de mobilités propres et partagées (train, covoiturage, vélo, trottinette, transport urbain, taxi et VTC)".
Mais il va falloir être patient L'utilisation de Flutter est clairement mentionnée dans le communiqué, preuve de la confiance que lui accorde le groupe SNCF. "L'usage de cette technologie à si grande échelle est inédit en France.". Malheureusement il faudra attendre janvier 2022 pour pouvoir l'utiliser sur nos smartphones. Mais ne soyons pas trop gourmands, puisque l'application Philips Hue en Flutter s'était lancée un peu trop tôt et en avait fait les frais. |
|
|
 |
 |
|
Alors que j'essaie toujours de renoncer à partager mon avis sur les articles de la newsletter, je vais faire exception sur cette "actualité" autour de l'écosystème Dart/Flutter.
Pub.dev L'idée de Pub sur le papier est très intéressante : fournir un répertoire centralisé pour les dépendances de nos applications. Pas besoin de chercher à plusieurs endroits, on y retrouve tout le nécessaire pour Dart et Flutter.
Aucune modération Le principal problème de Pub tourne autour de son absence totale de modération. Pour preuve cette semaine, quelqu'un a publié un faux package pour promouvoir son service de streaming de vidéos "gratuit". Alertée sur Twitter, l'équipe de Google a rapidement supprimé le package, mais cela pose plusieurs questions.
Une simplicité enfantine Pour publier du contenu sur Pub, c'est aussi simple que de lancer une commande dans un terminal. Il faut, certes, y lier un compte Google, mais c'est avant tout pour grouper les packages/plugins d'un même auteur.
Comment se fait-il qu'un compte totalement nouveau puisse par exemple faire ce qu'il souhaite et puisse potentiellement publier des dizaines de packages sans aucun contrôle ? Un spammeur sur les réseaux sociaux ne demanderait pas mieux.
Une modération à postériori Mais montrons nous positifs. En cas de problème, Google se montre très rapide pour retirer le contenu dès lors qu'un ticket sur GitHub est publié, voire est alerté par un autre vecteur (comme Twitter dans le cas cité auparavant). Toutefois comment se fait-il qu'aucun lien "Rapporter" ne figure sur le site ? Une vague page pour la sécurité existe , mais on voit que Google fait clairement service minimum ici.
Faire confiance ? Qui dit absence de modération pourrait signifier perte de confiance. Pub n'est pourtant pas le seul système qui fonctionne ainsi (npm par exemple) et de tels débats ne sont pas nouveaux. La réponse est tout à fait acceptable : si le lien vers le repo git est optionnel, le code sera toujours accessible dans nos projets. Mais qui le lit réellement ?
Name squatting, packages vides… Amusez-vous à consulter la liste des derniers packages publiés, combien sont des Hello World ? Beaucoup trop… De la même manière, comment se fait-il qu'il soit aussi simple de piquer le nom d'un produit d'une société ? Aucun contrôle n'est fait et un développeur aura toujours plus confiance si le package name semble officiel…
Et donc ? Tout cela pour en venir au fait que Pub n'a peut-être pas besoin de modération à la Apple (npm le démontre), mais des contrôles automatisés plus stricts doivent être mis en place pour que les problèmes listés disparaissent et n'entachent plus l'image de l'écosystème. Et vous ? Qu'en pensez-vous ? N'hésitez pas à partager votre avis sur Twitter ou sur Slack . |
|
|
Le reste de l'actu en bref' |
|
|
📅 Faute de candidatures suffisantes, le Flutter App Clinic d'aujourd'hui est décalé. En revanche, un meetup aura bien lieu lundi prochain 29/11 sur le créneau du soir (vers 19h). |
|
 |
La réalisation de cette newsletter nécessite plusieurs heures chaque semaine. Vous voulez soutenir Flutter Digest en donnant à partir d’un euro sur Tipee ? En contrepartie : vous n’aurez jamais de pub et vous recevrez la newsletter en avant première !
|
Soutenir sur Tipee
|
⏫ Une nouvelle version bêta de Flutter est disponible : 2.8.0-3.2-pre. La version stable se rapproche ! |
|
✨ Du côté des Pull Requests Dart/Flutter, on peut noter :
- La ligne de commande flutter doctor affiche maintenant la version des Flutter DevTools (PR #93065
) - Le Widget CupertinoButton
va maintenant avoir un exemple dans la documentation (PR #93625 ) |
|
✨ Et côté plugin/communauté ?
- Le package officiel
pour Google Maps aura dans sa version 2.1.4 une méthode permettant de déplacer la caméra en lui spécifiant une durée optionnelle (PR #93625 ) - Le plugin Google Mobile Ads SDK
pour Flutter est désormais disponible en version stable - Sur le package Dio
, les intercepteurs de requêtes fonctionnent aujourd'hui de manière concurrente. Grâce aux QueuedInterceptor (version 4.0.2+), vous avez désormais la garantie qu'ils seront lancés de manière séquentielle, c'est-à-dire les uns après les autres |
|
🎨 La partie institutionnelle (ou plutôt blabla marketing si vous préférez) du site de Flutter a été refaite non pas en Flutter Web (le SEO hélas…), mais en Alpine.js. |
|
🎨 L'équipe Dart/Flutter continue de publier des offres d'emploi. Cette fois-ci c'est autour de Windows et macOS que les recherches de profil s'effectuent. ! |
|
🖥️ CodeMagic, le CI/CD orienté mobile, dispose maintenant de machines virtuelles sur Windows. Vous allez donc pouvoir générer des applications Win32/UWP en Flutter si vous n'avez pas de PC sur Windows. |
|
🖊️ Le langage Kotlin a une nouvelle version stable : 1.6.0. Vous pouvez découvrir les nouveautés au format texte ou vidéo . Le Paris Android User Group organise d'ailleurs une session cette semaine autour de Kotlin Multiplatform qui sera diffusée en direct sur Twitch… ou en présentiel. |
|
⌨️ scrcpy , le célèbre outil permettant d'afficher un téléphone Android sur un ordinateur a un nouvel icône , mais surtout la possibilité de simuler un vrai clavier USB dans sa version 1.20 . |
|
🖥️ Le Windows App SDK (connu sous le code Project Reunion) est maintenant disponible en version 1.0 (stable). Finis les errements avec les Universal Windows Platform (UWP) et place, on l'espère, à cette solution pérenne ? |
|
📱 Pour les rares, parmi vous, qui utilisez la Huawei AppGallery , sachez qu'à partir de février vous ne pourrez déployer plus que des applications Android 64 bits. |
|
📺 Depuis quelques mois et par l'intermédiaire d'un smartphone, les utilisateurs de montres sous WearOS peuvent demander l'installation à distance d'une application. Il en est désormais de même avec les télévisions sur Android TV et Google TV (Chromecast). |
|
💬 Si vous utilisez l'API Twitter, l'entreprise vous incite à migrer rapidement vers la nouvelle version (V2) , puisqu'elle offre notamment l'accès aux Spaces, les sondages… |
|
🖌️ La bibliothèque d'icônes d'Apple, SF Symbols, vient de connaître une mise à jour 3.1 avec l'ajout de quelques symboles supplémentaires et "correction de bugs". A noter toutefois que cupertino_icons n'est toujours pas synchronisé avec la version 3.0… car l'équipe cherche notamment une solution aux problématiques comme les double-tons de couleurs . |
|
📅 Android Makers, la conférence dédiée à Android en France (mais pas que, car il y aura probablement des talks Flutter) revient en 2022 en présentiel ! Vous pouvez d'ores et déjà mettre les 25 et 26 avril 2022 dans vos agendas ! |
| |
|
Saviez-vous que l'application Téléphone est aussi un client mail ? Non, je n'ai pas commis une erreur, puisqu'un client IMAP est bel et bien présent pour gérer la fonctionnalité dite de messagerie vocale visuelle.
Concrètement, c'est votre opérateur qui s'occupe de rediriger les appels vers un numéro de téléphone au bout des cinq sonneries. Pourquoi lui, et non pas votre téléphone, directement ? Car sans couverture réseau, votre correspondant attendrait indéfiniment sans que rien ne se passe.
Pour obtenir les messages stockés sur ce fameux répondeur, vous pouvez soit utiliser un numéro court, soit les consulter via une interface graphique. Derrière cette dernière se cache un standard plus ou moins respecté, car une messagerie peut marcher sur iOS, mais pas sur Android.
Concrètement la configuration initiale du serveur est envoyée au format SMS, puis les messages passent par de l'IMAP. Sur chaque message, on retrouve les informations sur le correspondant dans le header, accompagnées d'une pièce jointe contenant le son au format amr.
Pour en savoir plus, n'hésitez pas à lire cet article. |
|
|
Articles & tutoriaux Flutter |
|
|
|
Qui dit messagerie en ligne, dit nécessairement bot conversationnel (quoi que la mode a un peu disparu…). L'idée de cet article est de vous expliquer comment en développer un pour la messagerie Telegram en Dart. Plus précisément, l'auteur ne s'attarde pas sur les capacités "intellectuelles" du bot, mais plutôt sur le déploiement d'une telle solution avec Docker. |
|
|
|
|
|
Les Cloud Functions sont des fonctions de type serverless qui s'exécutent dans l'infrastructure Google Cloud (et non Firebase). Dans cet article, vous allez apprendre comment en coder en Dart (c'est rare) et les déployer par la suite. |
|
|
|
|
|
Grâce aux CallbackShortcuts , votre application peut réagir à des raccourcis clavier simples (l'appui sur un touche) ou via une combinaison. Cet article vous explique comment mettre tout cela en œuvre, mais rassurez-vous la simplicité est ici le mot d'ordre. |
|
|
|
|
|
Si vous utilisez le mécanisme de add-to-app (mettre du Flutter dans une application existante), le partage des préférences entre les deux niveaux peut être important. Cet article vous explique comment faire cohabiter les deux. |
|
|
|
|
|
Une petite animation qui consiste à ouvrir un écran par une animation façon papier brûlé. À ne pas utiliser à tort et à travers, mais le code est toujours intéressant à lire ! |
|
|
|
|
|
Faut-il encore présenter FFmpeg, la célèbre solution pour enregistrer ou convertir des flux audio et vidéo ? La FFmpeg Kit API vous permet d'y accéder très facilement en Flutter et cet article vous décrit son usage. Rien de bien complexe, d'autant qu'une compatibilité Android, iOS et macOS est ici de rigueur. |
|
|
| |
|
|
|
Générer plusieurs Widgets rapidement |
Grâce aux méthodes Iterable.generate et List.generate, vous pouvez indiquer le nombre de fois qu'un callback est appelé. Il suffit alors de retourner un Widget à chaque fois pour que votre code soit beaucoup plus succinct. |
|
|
|
|
|
Mesurer la qualité de connexion (macOS) |
Sur la dernière version de macOS (Monterey), un nouvel outil en ligne de commande a fait son apparition : networkQuality. Comme son nom l'indique , vous allez pouvoir déterminer la qualité du réseau. Il ne reste plus qu'à faire un petit package Dart pour l'utiliser à sa juste valeur. |
|
|
| |
|
|
|
 |
|
most helpful javadoc i've ever seen 😒
|
|
|
|
Vous connaissiez déjà les commentaires du type setAge : sauvegarde l'âge… c'est-à-dire des commentaires totalement inutiles. Eh bien en voici d'un autre style, tout aussi absurde ! |
|
|
Bibliothèques Dart/Flutter |
|
|
|
|
|
|
 |
 |
|
|
RGPD (données personnelles), RG2A (accessibilité), RGI (interopérabilité), RGS (sécurité)… autant d'acronymes qui font peur ! Il s'agit ni plus ni moins que des référentiels publiés par l'État et dont le respect est essentiel pour remporter des marchés publics… mais pas seulement.
Cette famille de documents a récemment accueilli le RG941 , dont l'objectif est de faire référence pour tout l'aspect éco-conception. N'y voyez pas la partie matérielle, mais plutôt logicielle : UI/UX , front-end , hébergement… bref, des notions qui nous accompagnent au quotidien.
Dans ce podcast animé par Tristan Nitot (ex-Mozilla Europe), Christophe Clouzeau qui participe à son élaboration, nous éclaire sur le contenu, tout comme celui du RGESN (Référentiel Général d'Écoconception de Service Numérique) , qui regroupe 79 critères pour auditer l'impact environnemental d'un service numérique. |
|
|
|
 |
 |
|
.NET MAUI est le successeur de Xamarin Forms : un framework permettant la conception des applications pour Android, iOS, mais aussi Windows et macOS. Malgré un retard abyssal prévu (plus d'un an !), Microsoft commence à publier des vidéos sur la manière de concevoir des applications. Celle-ci est particulièrement intéressante, puisqu'elle vous expose les bases du framework. |
|
|
|
 |
 |
|
|
Vous utilisez Sketch pour concevoir vos interfaces graphiques ? Grâce à ce plugin, vous allez pouvoir générer automatiquement la version sombre. Entièrement gratuite, cette extension arrive à générer le meilleur… comme le pire. À tester tout de même. |
|
|
|
 |
 |
|
|
Vous connaissez déjà les badges sur les README des repos git. Pourquoi ne pas aller plus loin et afficher des statistiques ? Repobeats vous permet d'avoir notamment des informations sur l'état du projet (nombre de commits), les contributions externes (pull requests, meilleurs contributeurs…). Attention seuls les projets publics sont compatibles. |
|
|
|
24 novembre |
Paris, France |
Kotlin multiplatform |
|
|
03-04 décembre |
En ligne |
Dart Up |
|
02-03 février |
En ligne & Oslo |
Flutter Vikings |
|
|
|