Vincent Lecomte
[Dossier] Limiter la publicité affichée dans les applications Xiaomi

[Dossier] Limiter la publicité affichée dans les applications Xiaomi

Depuis septembre 2018, Xiaomi passe par de la publicité intégrée aux applications de sa surcouche MIUI. En essayant de vendre ses produits au plus près du coût de fabrication, elle met également à disposition son propre magasin d’applications mais aussi d’autres services afin de générer des marges. Et les annonces publicitaires en font malheureusement partie.

Ce dossier a pour but de vous aider à limiter la publicité affichée dans les applications proposées par Xiaomi. Cependant, cela ne désactivera pas les annonces à 100% mais permettra de vous en débarrasser d’un certain nombre.

Limiter la publicité affichée sous MIUI 12

Il existe un service pour lequel on peut révoquer les autorisations accordées. Il s’agit du service msa, signifiant MIUI System Ads.

  • Rendez-vous dans les Paramètres, ensuite choisissez Mots de passe & Sécurité.
  • Choisissez alors l’option Autorisation & révocation.
  • Dans la liste affichée, localisez msa puis basculez le paramètre vers Off.
  • Confirmez la révocation lorsque le popup s’affiche.

limiter publicité Xiaomi

Pour une raison inconnue il est possible que l’opération échoue. Réessayez directement de désactiver le service si une erreur se produit.

Désactiver les publicités personnalisées

Afin de limiter l’affichage de publicités personnalisées sur base d’informations à votre sujet, il existe aussi une option à désactiver dans les paramètres.

  • Rendez-vous à nouveau dans la catégorie Mots de passe & Sécurité.
  • Choisissez cette fois l’option Confidentialité.
  • De nouvelles options s’affichent : défilez jusqu’à l’élément Services publicitaires.
  • Désactivez ensuite les Recommandations de publicités personnalisées.

limiter publicité Xiaomi

En bonus, si vous souhaitez limiter l’envoi de données vous concernant, vous pouvez désactiver le programme d’expérience utilisateur et l’envoi des données de diagnostic qui sont transmises quand un problème se produit (crash d’application par exemple).

Désactiver les notifications

Pour certaines applications, vous pouvez en désactiver les notifications.

  • Rendez-vous dans les Paramètres puis dans Notifications & Centre de contrôle.
  • Choisissez ensuite Notifications d’applications.
  • Désactivez les notifications pour les applications telles que Musique, Mi Vidéo, Gestionnaire de fichiers. Si des notifications gênantes s’affichent pour d’autres applications dans la liste, n’hésitez pas à répéter l’opération pour celles-ci.

Désactiver les recommandations

Des recommandations sous forme de publicité peuvent apparaitre dans les applications. La première concernée est l’utilitaire Sécurité.

  • Ouvrez l’application, ensuite allez dans les paramètres de celle-ci.
  • Dans la première liste d’options proposée, défilez jusqu’en bas puis basculez l’interrupteur Recevoir des recommandations sur Off.
  • Sous le libellé Paramètres des fonctions, entrez dans chacune des sous-catégories. Vous trouverez le même interrupteur à basculer sur Off.

Rendez-vous ensuite dans l’application Thèmes.

  • Appuyez sur l’icône de votre profil, en bas à droite.
  • Dans la liste choisissez l’option Paramètres.
  • Basculez l’interrupteur Recommandations personnalisées sur Off.

Ce type de manipulation devra être répété, par exemple dans le gestionnaire de fichiers, Mi Vidéo ou le navigateur Mi, en fonction de leur version.

Ces opérations supplémentaires devraient donc limiter fortement la publicité affichée dans les applications fournies par Xiaomi.

Et sur les anciennes versions de MIUI?

Sur des versions plus anciennes de la surcouche, certains paramètres ne sont peut-être pas dans l’une des catégories mentionnées dans ce dossier. Par exemple, l’option Autorisation & révocation peut se retrouver dans la catégorie Paramètres supplémentaires de la gestion des paramètres de votre smartphone.

Il faudra donc un peu fouiller…

Sources

[NAS] Mise à jour de Pi-hole sur votre Synology via l’interface de Docker

[NAS] Mise à jour de Pi-hole sur votre Synology via l’interface de Docker

Si vous avez installé Pi-hole sur votre Synology, sachez qu’il est possible de procéder à sa mise à jour via l’interface de Docker plutôt que par invite de commandes. Cela ne nécessite que quelques minutes. Voyons ensemble comment faire.

Au préalable

Vérifiez tout d’abord s’il existe bien une mise à jour de l’image sur la page de Docker Hub, ensuite connectez-vous à DSM et accédez à l’application Docker.

pi-hole synology docker

Ensuite depuis l’onglet Conteneur, sélectionnez celui de Pi-hole puis cliquez sur le bouton Détails. Dans la vue d’ensemble, assurez-vous d’avoir configuré les chemins pour stocker la configuration dans un dossier partagé de votre NAS (sous-onglet Volume en bas à gauche). Ainsi vous êtes certain de ne pas perdre vos paramètres lors de l’étape d’effacement.

pi-hole synology docker

Lorsque cette simple étape de vérification est effectuée, fermez la fenêtre de détails.

Mise à jour de Pi-hole via Docker

Rendez-vous dans l’onglet Registre de Docker. Recherchez l’image de Pi-hole, sélectionnez là dans la liste (pihole/pihole), puis cliquez sur le bouton Télécharger. Patientez un moment, le téléchargement peut prendre quelques secondes à quelques minutes en fonction de votre connexion internet. En effet l’image pèse plus de 330 Mo.

pi-hole synology docker

Une fois que DSM affiche la notification de téléchargement terminé, rendez-vous cette fois dans l’onglet Conteneur. Arrêtez ensuite Pi-hole (cliquez sur le bouton Action puis choisissez Arrêt). Lors de cette étape il est intéressant d’avoir un serveur DNS secondaire configuré sur vos périphériques – par exemple une autre instance de Pi-hole -, ainsi vous ne perdrez pas l’accès à internet.

pi-hole synology docker

Une fois le conteneur arrêté, cliquez à nouveau sur le bouton Action puis choisissez l’option Effacer. Lorsque l’avertissement s’affiche, confirmez. Patientez quelques secondes. Ensuite relancez le conteneur, accédez à l’interface de Pi-hole et vérifiez que la mise à jour s’est bien déroulée en consultant le numéro de version en bas de page.

Liens

[Windows 10] La mise à jour KB5000802 peut provoquer un BSOD lors d’une impression

[Windows 10] La mise à jour KB5000802 peut provoquer un BSOD lors d’une impression

Le 9 mars 2021, à l’occasion du Patch Tuesday, vous pourriez avoir installé la mise à jour KB5000802, qui malheureusement pourrait provoquer un BSOD (Blue Screen Of Death) sur votre machine lorsque vous lancez l’impression d’un document.

KB5000802 BSOD impression

La mise à jour concerne les builds 20H2 et 20H1 de Windows 10.

Le problème a été confirmé par Microsoft et voici ce qu’on peut lire dans le paragraphe des problèmes connus:

Après avoir installé cette mise à jour, il se peut qu’un écran bleu APC_INDEX_MISMATCH s’affiche lorsque vous tentez d’imprimer sur certaines imprimantes depuis certaines applications.

Microsoft indique que cela concernerait uniquement les pilotes de Type 3. Le problème survient généralement lorsque vous ouvrez simplement la boite de dialogue d’impression. Celle-ci vous permet de choisir une imprimante parmi celles installées sur votre machine.

Aucun correctif n’est actuellement proposé:

Nous travaillons actuellement à la recherche de l’information et fournirons une mise à jour lorsque d’autres informations seront disponibles.

Si la KB5000802 provoque chez vous ce fameux BSOD lors d’une impression, l’une des solutions est de désinstaller la mise à jour problématique. Vous pouvez faire cela soit via le panneau de paramètres, soit à l’aide de l’outil wusa en ligne de commandes.

Une solution de dépannage est également proposée.

A lire également…

[Windows 10] La mise à jour KB4565503 ne corrige pas le bug du défragmenteur

Ce mardi 14 juillet 2020 les français fêtaient bien entendu leur pays. Mais Microsoft est fidèle à son calendrier et à son Patch Tuesday. La nouvelle mise à jour KB4565503 est de sortie et malheureusement celle-ci ne corrige pas le bug du défragmenteur. Microsoft a donc publié une mise à jour pour son système d’exploitation […]

0 commentaire

Sources


Édition du 16/3/2021

Une mise à jour est désormais disponible pour corriger le problème d’écran bleu. Il s’agit de la KB5001567. Celle-ci peut être téléchargée via Windows Update.

[Actualités] Un incendie s’est produit au data center OVH Strasbourg

[Actualités] Un incendie s’est produit au data center OVH Strasbourg

C’est un coup dur pour l’hébergeur français : en effet dans la nuit de ce 10 mars 2021 un incendie s’est produit au sein du data center d’OVH Strasbourg.

incendie data center OVH

La cause n’est pas encore connue.

D’après un tweet d’Octave Klaba, le directeur général d’OVHCloud, l’incendie a totalement détruit le bâtiment SBG2 dans lequel il s’était déclaré. Une partie du bâtiment SBG1 est détruite. L’un des quatre bâtiments n’aurait pas été impacté et les pompiers ont fait le maximum pour protéger SBG3.

Vers 7h20 du matin le feu était éteint mais les pompiers continuaient de refroidir les bâtiments. L’intervention a duré près de six heures. Les équipes d’OVH doivent patienter avant d’accéder au site, mais le travail risque d’être colossal. Les services sont donc à l’arrêt. Ils sont actuellement remontés sur le site de Gravelines.

Même si le data center contenait principalement des applications web à destination d’entreprises, d’autres personnes sont impactées par ce sinistre. Comme le blogueur Korben le souligne, son forum n’est plus accessible.

Heureusement aucune victime n’est à déplorer. Les quelques personnes présentes sur place au moment de l’incident ont été examinées par les secours mais sont hors de danger.

En cette fin de matinée l’entreprise s’est exprimée via un communiqué de presse.

L’importance des sauvegardes

Cet événement nous rappelle à quel point il est important d’effectuer des sauvegardes de nos données. Nous ne sommes pas à l’abri d’un piratage, d’une défaillance matériel voire justement de ce genre de catastrophe.

Après la lecture des différents articles ce matin concernant cet incendie au data center d’OVH, je me suis empressé de faire un backup complet de mes deux blogs. Et même si votre hébergeur vous fournit une solution de sauvegarde, par exemple sur un serveur FTP, n’hésitez pas à rapatrier celles-ci régulièrement.

L’idée n’est pas d’enfoncer le clou mais de mettre en garde.

Je souhaite, comme d’autres, bon courage à tous ceux qui ont été impactés de près ou de loin par cet incident. La journée risque d’être longue.

Sources

[WordPress] L’extension Ninja Forms également touchée par plusieurs failles de sécurité

[WordPress] L’extension Ninja Forms également touchée par plusieurs failles de sécurité

L’un des avantages de WordPress, c’est la possibilité d’installer des extensions pour en étendre les fonctionnalités. En 2019 on en comptait plus de 55.000 rien que dans le dépôt officiel. Et parmi celles-ci la populaire extension Ninja Forms fait parler d’elle. En effet c’est via Clubic que nous apprenons qu’elle est touchée par plusieurs failles de sécurité.

wordpress ninja forms failles

Pour ceux qui ne connaissent pas cette extension, Ninja Forms est en fait un gestionnaire de formulaires pour vos sites (exemple basique : pour créer facilement une page de contact pour vos visiteurs). D’après la page descriptive, il y aurait plus d’un million d’installations actives.

Les failles découvertes sont au nombre de quatre, et sont très bien détaillées par le site Threatpost. La première permettrait d’intercepter le trafic des e-mails envoyés via SendWP. Cela fait repenser au bug qui avait été découvert dans l’extension Easy WP SMTP Settings. Nous en parlions il y a quelques semaines. Le score CVSS de cette vulnérabilité est de 9.9 sur 10.

Ensuite deux failles concernent l’outil de gestion des modules complémentaires, intégré à Ninja Forms. L’une d’entre elle permettrait de mettre fin à une connexion autorisée via OAuth. Enfin, la dernière faille – considérée comme moyennement grave avec un score CVSS de 4,8 – permettrait de rediriger aisément un utilisateur vers une URL malveillante après sa connexion.

Un correctif rapide

Heureusement tous ces problèmes seraient résolus depuis la version 3.4.34.1 publiée le 8 février 2021. Depuis l’extension a reçu d’autres mises à jour. Les statistiques nous montrent qu’actuellement 64,2 % des versions actives sont en 3.4 (sans spécifier le numéro précis). 13% d’entre elles sont en version 3.2 ou inférieur. Cela fait donc potentiellement un paquet de sites vulnérables.

Si vous utilisez WordPress et en particulier Ninja Forms, vérifiez vite les mises à jour, sauf si vous avez activé l’automatisation de celles-ci pour vos extensions (ce qui peut être utile dans ce cas précis). De manière générale il est bon de rappeler de faire attention à ce que vous installez. Par exemple, une extension ou un thème dont le développement n’est plus suivi, pourrait être problématique.

Sources

[Info] Nouvelle section “Archives” et logithèque plus complète

[Info] Nouvelle section “Archives” et logithèque plus complète

Ces derniers temps je n’ai pas été très actif sur le blog mais j’ai profité de ce lundi de congé pour compléter la logithèque mais aussi modifier le fonctionnement des archives. Découvrons ensemble ces nouveautés !

fonctionnement archives logithèque

Attardons-nous d’abord sur les fameuses archives. Dans la colonne de droite, vous constaterez qu’une liste déroulante reprend le nombre d’articles publiés par mois, dans l’ordre décroissant. Cependant celle-ci était devenue un peu longue et cela gâchait un peu l’expérience de navigation. La liste en question a donc été allégée pour n’afficher que les 36 derniers mois avec du contenu.

Un lien a été ajouté juste en dessous et permet de vous rendre sur la page “Archives par mois“. Elle reprend toujours le nombre d’articles mais cette fois jusqu’au mois de création du blog, c’est-à-dire… août 2010. Et dire que j’ai oublié d’en fêter ses dix années… j’ai un peu honte je vous l’avoue.

Passons maintenant à la logithèque. Si aucune révision des catégories principales du menu n’a été effectuée, j’en ai profité pour ajouter quelques logiciels. Citons par exemple Rufus, un outil de création de clés USB démarrables. Vous retrouverez aussi de nouveaux outils d’analyse pour vos disques (CrystalDiskMark et CrystalDiskInfo notamment), des librairies Java et JS pour le développement, etc.

Comme d’habitude je vous invite à commenter et partager vos remarques et vos suggestions. Je profite également de cet article pour m’adresser à vous un peu plus personnellement et ainsi vous dire courage pour la période actuelle qui n’est pas facile pour tout le monde.

[NAS] Créer un dossier partagé pour votre Nvidia Shield TV

[NAS] Créer un dossier partagé pour votre Nvidia Shield TV

Une fonctionnalité intéressante proposée par le boitier multimédia est le fait de pouvoir monter des emplacements réseau. Votre Shield pourra ainsi aller lire et récupérer des fichiers sur ceux-ci. Dans ce tutoriel nous allons voir comment créer un dossier partagé sur votre NAS pour votre Nvidia Shield TV, comment l’ajouter sur celle-ci et en parcourir le contenu.

Pour les exemples repris dans ce dossier je dispose d’un NAS Synology DS920+ sous DSM 6.2.3 update 3. Ma Shield TV 2019 format “Tube” possède le dernier firmware, à savoir la version 8.2.2.

Créer un utilisateur sur le NAS

Au préalable il vous faudra créer un utilisateur sur votre NAS. Ouvrez un navigateur et accédez à DSM. Lancez ensuite le panneau de configuration puis choisissez la catégorie Utilisateur. Cliquez sur le bouton Créer. Donnez un nom – par exemple “shield” – et définissez un mot de passe.

utilisateur nvidia shield tv

Sur les écrans suivants :

  • Indiquez l’appartenance au groupe : choisissez users.
  • Déterminez les accès aux dossiers partagés existants. Par défaut aucun accès ne sera appliqué.
  • Déterminez le quota autorisé par dossier. Dans notre cas cela n’a pas d’intérêt car la Shield ne pourra pas écrire sur l’emplacement monté.
  • Attribuez les permissions liées à l’utilisation des applications. Comme il s’agit d’un utilisateur pour votre boitier multimédia, il n’y a pas d’intérêt à donner les accès à DSM voire au FTP. Vous pouvez donc refuser pour l’ensemble des applications proposées.
  • Lorsque le résumé s’affiche, vérifiez l’ensemble des informations et si cela vous semble bon, confirmez le processus de création.

Créer un dossier partagé

Toujours sur votre NAS vous devez maintenant créer un dossier partagé.

Depuis le panneau de configuration vous devez cette fois vous rendre dans Dossier partagé sur la gauche. Ensuite cliquez sur le bouton Créer. Donnez un nom à votre dossier (par exemple “Shield”) et confirmez avec les paramètres par défaut.

dossier nvidia shield tv

Il est important de ne pas cocher la case “Cacher ce dossier partagé dans Mes emplacements réseaux”. En effet le dossier sera alors invisible et la connexion échouera.

Une fois le dossier créé nous allons lui attribuer les permissions d’accès. Sélectionnez le dossier fraichement créé puis cliquez sur le bouton Modifier puis sur l’onglet Permissions. Dans cet onglet vous pouvez définir les accès pour des utilisateurs mais aussi pour des groupes. Choisissez les personnes qui pourront déposer du contenu dans ce dossier. Choisissez la lecture seule pour l’utilisateur “shield” créé ci-dessus.

Confirmez par OK et passez à l’étape suivante.

Vérifier la configuration de SMB

Afin d’éviter tout problème de connexion, il est recommande de vérifier votre configuration de SMB sur votre NAS. Cela se fait toujours depuis le panneau de configuration. Rendez-vous dans la catégorie Services de fichiers. Dans un précédent article c’était ici même que nous activions le protocole NFS pour Kodi.

Pour SMB, nous avons tout laissé par défaut (groupe de travail = WORKGROUP, accès autorisé aux versions précédentes). Vous pouvez également vérifier les Paramètres avancés.

Pour une utilisation basique toutes les options de cette fenêtre doivent rester décochées. Nous avons défini la version SMB3 comme protocole maximum et SMB2 en tant que protocole minimum. Le mode de chiffrement du transport reste sur la valeur Automatique.

Une fois que tout ceci est vérifié, cliquez sur le bouton Appliquer (sauf si rien n’a été modifié).

Monter le stockage sur votre Shield

Sur votre Nvidia Shield, accédez aux paramètres via la roue crantée en haut à droite de l’écran d’accueil. Cela ouvre les paramètres en superposition.

Ensuite effectuez les opérations suivantes :

  • Accédez aux Préférences relatives à l’appareil.
  • Ouvrez la catégorie Stockage.
  • Choisissez l’option Monter un stockage réseau.
  • Si tout s’est bien passé votre NAS devrait être repris dans la liste.
    • Si c’est le cas choisissez le NAS puis “Se connecter en tant qu’utilisateur inscrit“. Saisissez le nom d’utilisateur et le mot de passe.
    • Si ce n’est pas le cas, utilisez l’option “Ajouter manuellement un stockage réseau
      • Saisissez à la première étape, le chemin du dossier (ex : \\mon-nas\Shield)
      • La seconde étape vous demande le groupe de travail : WORKGROUP (voir la configuration de SMB sur votre NAS)
      • Choisissez ensuite de vous connecter en tant qu’utilisateur inscrit. Saisissez le nom d’utilisateur et le mot de passe.
  • Si l’une des étapes ci-dessus a fonctionné, le stockage réseau devrait apparaitre dans la liste avec la mention “Connecté“. Si ce n’est pas le cas, revérifiez si toutes les étapes de ce tutoriel ont été suivies à la lettre.

Voilà, maintenant que vous possédez toutes les informations nécessaires pour créer un dossier partagé pour votre Nvidia Shield TV, il faut maintenant installer une application pour en explorer le contenu. Pour ma part j’ai choisi X-plore. Elle est disponible sur le Play Store. Elle permet également d’accéder à un service de cloud tel que OneDrive.

[Jeux vidéo] Epic déploie un correctif pour le bug d’utilisation élevée du CPU

[Jeux vidéo] Epic déploie un correctif pour le bug d’utilisation élevée du CPU

Avec la mise à jour 11.0.2, Epic déploie un correctif pour le bug d’utilisation élevée du CPU de son magasin applicatif. C’est Hot Hardware qui signalait le problème le jour de Noël. En effet l’application Epic Games Store présentait une utilisation anormale du CPU même lorsque aucune tâche n’était en cours.

Le site qui remonte l’information a été en mesure de reproduire le problème. Lors de leurs tests, la température de leur processeur – bien refroidi – a grimpé jusqu’à 53°C avec une utilisation d’environ 2%, celle-ci étant répartie sur les 16 cœurs.

epic correctif bug cpu

Le bug semblait toucher principalement les modèles récents de processeurs AMD tels que le Ryzen 7 5800X. Cependant quelques propriétaires de CPU de la marque concurrente ont confirmé avoir le souci sur leur machine.

Hier, via son compte Twitter, le développeur Sergiy Galyonkin annonçait la disponibilité d’un correctif. Toutefois il précise que d’autres mises à jour seront nécessaires. Selon lui la nouvelle version devrait significativement améliorer la situation.

Malheureusement aucune explication n’a encore été donnée concernant les données envoyées. Le site Hot Hardware – encore lui – a souligné que l’application envoie près de 514 Ko de données en une heure, sur différents serveurs.

C’est 14x plus que ce que transmettent en arrière-plan les applications Steam et Nvidia GeForce Experience, sur un même intervalle de temps. Il faudra éclaircir la situation afin de déterminer pourquoi la plate-forme, habituée à distribuer gratuitement des jeux (comme ce fut le cas pour GTA V), récupère une si grande quantité de données.

Sources

[WordPress] Découverte d’une faille dans l’extension Easy WP SMTP Settings

[WordPress] Découverte d’une faille dans l’extension Easy WP SMTP Settings

WordPress est un CMS – Content Management System, ou “Système de gestion de contenu” en français – largement utilisé sur de nombreux sites. Il offre notamment aux utilisateurs la possibilité d’installer des extensions développées par des tiers. Celles-ci ne sont pas toujours sans défaut. C’est en tout cas ce qu’a démontré la découverte d’une faille dans l’extension Easy WP SMTP Settings, heureusement déjà corrigée.

faille plugin smtp

Comme son nom le suggère, l’extension permet aux propriétaires de leur site de configurer les paramètres pour l’envoi d’e-mail. Cela concerne notamment ceux envoyés par WordPress. Par exemple, quand un utilisateur veut réinitialiser son mot de passe, un lien est généré puis transmis à l’utilisateur par e-mail.

C’est malheureusement à cause de ceux-ci que des personnes mal intentionnées ont été capables d’intercepter les liens et réinitialiser les mots de passe de comptes. En effet, dans la version 1.4.2 (et inférieures) le dossier de l’extension ne contient pas de page “index.html” ou similaire. Cela a pour conséquence de permettre l’affichage du contenu du dossier si la fonctionnalité est active sur le serveur.

Il est ainsi possible d’accéder à un fichier journal, qui contient toutes les traces d’envoi des mails. Il reprend évidemment le contenu de ceux-ci. Ainsi il ne reste plus qu’à récupérer les liens de réinitialisation… et le tour est joué !

L’auteur de l’extension a d’ores et déjà corrigé le problème dans la version 1.4.4 d’après les notes de version. On soulignera cependant que le nombre d’installations actives est de plus de 500.000. Si vous consultez la vue avancée sur la page de description de l’extension, vous pourrez constater que 43% de versions actives sont en 1.3, ce qui est relativement inquiétant. Cela signifie que de nombreux sites sont encore vulnérables aux attaques.

Si vous utilisez donc cette extension sur votre site, procédez rapidement à sa mise à jour!

Sources

[Java] Mémo – Trucs et astuces impliquant l’API Stream

[Java] Mémo – Trucs et astuces impliquant l’API Stream

Java propose l’API Stream, qui permet de manipuler et effectuer des opérations sur un ensemble de données, telles qu’une collection, un tableau ou même un flux I/O. Elle offre diverses possibilités : tri, parcours de collections, extraction d’éléments à l’aide de filtres, etc.

Dans cet article nous allons voir comment effectuer un tri basique pour retourner une nouvelle liste mais également comment retourner une liste d’objets d’un type spécifique.

Trier une liste

On suppose que l’opération sera effectuée sur une liste d’objets de la classe Client. Cette dernière définit plusieurs membres dont un numéro de client (numClient) et son getter. Nous souhaitons récupérer une nouvelle liste de noms.

listeClients.stream()
	.sorted(Comparator.comparing(Client::getNumClient))
	.map(lo_c -> lo_c.getNomClient())
	.collect(Collectors.toList());

Dans cet exemple nous avons effectué plusieurs opérations sur le stream :

  • Une opération intermédiaire de tri, grâce à la méthode sorted() qui reçoit en paramètre un Comparator.
  • Une seconde opération intermédiaire qui permet de définir ce que l’on souhaite récupérer, en l’occurrence le nom de la personne.
  • Une troisième opération, finale cette fois, qui consiste en une réduction: on demande à ce que le résultat soit sous forme de liste.

Notez que si vous manipulez une List vous pouvez la trier directement à l’aide de la méthode sort(). La méthode effectue l’opération sur la liste existante sans en créer une copie de celle-ci.

Exemple:

listeClients.sort(Comparator.comparing(Client::getNumClient));

Retourner une liste d’un type spécifique

Comme on l’a vu ci-dessus, à l’aide de la méthode map(), on a obtenu une liste de chaines de caractères. Voyons comment aller plus loin pour retourner une liste d’un type spécifique. Toujours sur base d’un client, nous avons une classe nommée ClientDTO qui sera une version réduite. Elle contiendra uniquement le numéro de client et son nom, ainsi qu’un constructeur prenant en paramètre ces deux champs.

listeClients.stream()
	.sorted(Comparator.comparing(Client::getNumClient))
	.collect(Collectors.mapping(lo_c -> {
		return new ClientDTO(
			lo_c.getNumClient(), lo_c.getNomClient()
		);
	}, Collectors.toList()));

Cette fois on effectue un mappage à l’aide de Collectors.mapping(): la fonction en paramètre retourne une instance de ClientDTO avec les champs de notre classe Client. On demande ensuite à ce que le résultat final soit retourné sous forme de liste, comme dans l’exemple ci-dessus.

Bien sûr ce sont deux exemples parmi tant d’autres, l’API offrant énormément de possibilités. Et même si cela a été introduit dans Java 8 on n’a pas toujours la possibilité ou le temps d’en explorer les différentes méthodes. Voici quelques liens qui pourraient vous intéresser pour creuser le sujet:

Bon développement !

Copy link