Vincent Lecomte
[Toyota] Mise à jour du système Touch & Go 2

[Toyota] Mise à jour du système Touch & Go 2

Depuis quelques années maintenant on retrouve dans nos voitures des systèmes multimédia plutôt complets. Comme chez Toyota avec sa solution baptisée “Touch & Go 2”. Bien que le nom soit identique au fil des années les modèles et l’interface changent bel et bien, et donc les mises à jour ne se font pas forcément de la même manière d’un système à l’autre.

Repérer la version à installer

Ce tutoriel s’applique aux modèles MM17 européens mais également pour la révision MM19 que l’on retrouve dans les voitures de 2020 du constructeur. Ces dernières proposent également Android Auto. Ceux qui ont acheté en fin d’année ont donc un peu plus de chance.

Une fois le contact mis, appuyez sur la touche MENU à gauche de l’écran.

  • Appuyez sur l’icône Configuration.
  • Sur votre gauche choisissez la catégorie Général et défilez jusqu’à pouvoir choisir l’élément “Mise à jour du logiciel“.
  • Dans cet écran vous verrez plusieurs informations apparaitre dont les identifiants des DCU et MEU. Ce sont ces informations qui nous intéressent.
    • Le MEU est ce qu’on appelle le “Multimedia Extension Unit“. Il gère notamment tout ce qui touche à la navigation.
    • Le DCU est ce qu’on appelle le “Display Control Unit“. Il gère notamment ce qui est lié à l’audio.

Par exemple, on a pour le DCU l’identifiant 17TDT2EU-DA01. Jusqu’à présent voici ce que l’on sait de la signification des identifiants. L’information provient d’un forum allemand:

  • 17 : numéro de modèle (donc dans ce cas MM17)
  • D/M : DCU (audio) ou MEU (navigation).
  • X : révision des fonctions (note: avec incertitude).
  • EU : région. On peut également retrouver NA, au Canada par exemple.
  • C/D/E/F : le fabricant (ex pour le DCU : D = Panasonic, C = Denso Ten).
  • YY : la révision matérielle.

Sous ces informations on retrouve l’état actuel du système et donc les versions déjà installées, aussi bien pour l’audio que pour la navigation et la base de données de cartographie.

Télécharger la mise à jour

Il existe une technique relativement pratique pour télécharger le fichier de mise à jour le plus récent pour mettre à jour votre système Touch & Go 2.

http://streamtechdoc.toyota-motor-europe.com/techdoc3/audio_navigation/DCU-OR-MEU-ID_Latest.zip

Copiez l’URL ci-dessus et modifiez la partie “DCU-OR-MEU-ID” par l’un des identifiants repérés précédemment. La technique est donc valable aussi bien pour l’audio que la navigation.

Exemple : 17TDT2EU-DA01_Latest

Le fichier téléchargé est une archive que l’on peut ouvrir avec un logiciel comme 7zip ou WinRAR. Le fichier qui s’y trouve doit être placé à la racine d’une clé USB impérativement formatée en FAT32.

Versions actuelles

Pour savoir si une mise à jour est disponible pour le Touch & Go 2 de votre voiture, vous pouvez créer un compte sur le site Toyota-Tech. L’enregistrement est gratuit. Cependant l’accès au détail des bulletins de mise à jour est payant. Pour une heure, vous devrez débourser 3€.

Vous pouvez également suivre les sujets suivants sur les forums spécialisés:

Installation

Téléchargez la version de mise à jour du Touch & Go 2 pour votre voiture. Ouvrez l’archive avec un logiciel comme 7zip et placez le fichier .kwi à la racine d’une clé USB formatée en FAT32.

Avant de commencer gardez à l’esprit que cette opération doit normalement être réalisée par le concessionnaire. Vous pourriez perdre la garantie en effectuant une mauvaise manipulation.

Allumez le moteur (pas simplement le contact car la batterie doit pouvoir se recharger pendant l’opération). Branchez la clé USB et allez dans le menu “Mise à jour du logiciel” comme expliqué à la première étape.

Après analyse de la clé le système va afficher un popup pour signifier qu’une mise à jour a été détectée. En fonction de ce qui sera mis à niveau, la version à jour s’affiche dans la colonne “Nouveau” à droite. Le bouton “Mettre à jour le logiciel” est alors dégrisé. Appuyez donc dessus.

Les changements contenus dans la mise à jour sont affichés mais restent très vagues par rapport à ce qui est décrit dans le bulletin officiel publié par Toyota. Acceptez en appuyant sur OK et confirmez ensuite les conditions de service.

Avant de commencer la mise à jour le système va afficher un popup qui mentionne la taille du nouveau logiciel à installer. Pour commencer la mise à jour confirmez simplement par “Oui”. Ne touchez plus à rien et ne débranchez surtout pas la clé USB pendant le processus.

Patientez pendant la mise à jour. Celle-ci peut durer une vingtaine de minutes pour le système de navigation et une dizaine seulement pour la partie audio.

Lorsque la mise à jour est terminée vous devez simplement arrêter et redémarrer le moteur pour que cela soit pris en compte. Appuyez donc sur la pédale de frein, éteignez le contact. Attendez quelques secondes. Ensuite toujours avec le pied enfoncé sur la pédale de frein mettez le contact.

Une fois le système lancé, vous pouvez retourner dans MENU – Configuration – Général – Mise à jour du logiciel, et vérifier que celui-ci est bien mis à niveau.

Bravo ! Votre système multimédia Touch & Go 2 est désormais à jour.

[Jeux vidéo] GTA 5 à récupérer gratuitement sur le store Epic

[Jeux vidéo] GTA 5 à récupérer gratuitement sur le store Epic

Chaque semaine Epic Games met à disposition un jeu à récupérer gratuitement sur leur store. Le jeudi plus précisément. Et cette fois-ci il a été annoncé qu’il s’agirait de Grand Theft Auto 5. Hier à 17h00 il était donc possible de mettre la main sur le jeu depuis la boutique Epic. Mais le site a connu un trafic exceptionnellement élevé jusqu’à être temporairement inaccessible le reste de la soirée.

Le secret avait été dévoilé un peu trop tôt par le compte Twitter de l’Epic Games Store. Celui-ci annonçait la mise à disposition d’un jeu Rockstar pour ce jeudi après-midi. Même si sa suppression a été rapide, les internautes ont été très réactifs pour relayer l’information. GTA 5 est donc à récupérer gratuitement sur le store Epic depuis ce jeudi 15 mai 2020. Le jeu qui a déjà été vendu à plus de 120 millions d’exemplaires dans le monde toutes plateformes confondues, continue à faire parler de lui.

Les 6 milliards de dollars que représentent les ventes mondiales font de lui l’un des plus grands succès financier dans la catégorie des produits de divertissement. Sa popularité est telle que le site de la boutique Epic a été rapidement surchargé et a été indisponible une grande partie de l’après-midi et de la soirée.

Si vous n’avez pas encore joué à cette bombe, inutile de perdre plus de temps. Vous avez jusqu’au 21 mai 17h00 pour ajouter le jeu à votre bibliothèque. Connectez-vous dès maintenant à la boutique en suivant ce lien.

A lire aussi…

[Jeux vidéo] Retour du modding dans GTA 5

Il y a quelques jours, Rockstar avait décidé d’empêcher le modding de GTA 5 à l’aide d’OpenIV, un outil spécialement conçu pour ça. Suite à cette décision, de nombreuses personnes de la communauté Steam ont tout simplement décidé de poster un avis négatif sur le jeu afin de faire diminuer son évaluation globale dans le […]

0 commentaire

Pas eu le temps de profiter de la promotion ?

Sources

Gamekult
KitGuru

[Jeux vidéo] The Last Of Us 2 décliné en… 6 éditions

[Jeux vidéo] The Last Of Us 2 décliné en… 6 éditions

Nous ne sommes plus qu’à un petit mois de la sortie de The Last Of Us 2 et il est désormais temps de choisir son édition. Pour ceux qui ne connaissent pas encore ce jeu vidéo développée par Naughty Dog, il s’agit d’un survival horror qui, dans le premier volet, nous amène aux États-Unis, lourdement affectés après une pandémie due à un virus nommé Cordyceps.

On y retrouve deux personnages principaux, Ellie et Joël, ce dernier étant le personnage dont le joueur aura le contrôle. Il devra mener à terme sa mission tout en faisant face aussi bien à des humains armés qu’à des infectés de toutes sortes. Nous n’en dirons pas plus, mais lors de sa sortie en 2013, le jeu avait fait son petit effet grâce à son scénario bien pensé, une technique et une mise en scène qui confirment le savoir-faire du studio Naughty Dog. Souvenez-vous d’Uncharted…

7 ans après sa sortie et 6 ans après le remaster, inutile de dire que la seconde partie était très attendue. Le jeu sera ainsi décliné en six éditions. Mais pour laquelle allez-vous craquer pour le 19 juin 2020 ?

Peu importe l’édition commandée, les joueurs recevront d’office deux bonus in-game : un manuel pour la confection d’armes et outils, avec des schémas supplémentaires, ainsi qu’une amélioration d’arme pour l’un des protagonistes.

Édition standard

C’est la boite classique, sans fioritures. Elle est vendue au prix conseillé de 69,99 €. Pour l’édition digitale les joueurs recevront un avatar supplémentaire.

Édition limitée

Vendue à 71,99 € par Amazon (prix conseillé), elle inclut un steelbook à l’effigie d’Ellie.

Édition Digital Deluxe

Il s’agit d’une édition uniquement digitale sur le Playstation Store. Pour 79,99 € vous obtiendrez en plus de la version standard un thème dynamique, 6 avatars, la bande-son numérique et un mini artbook numérique.

Édition spéciale

Il s’agit de l’édition qui est représentée sur l’image ci-dessus. Pour dix euros de plus que la version digitale, vous obtiendrez les mêmes bonus avec cette fois un artbook physique et un steelbook à l’effigie d’Ellie.

Édition Collector

L’édition Collector permet pour 189,99 € de posséder une statuette d’Ellie de 30 cm. Elle inclut également une réplique de son bracelet. On y trouvera aussi 6 pins, 5 autocollants, une lithographie, et enfin les bonus inclus dans la version spéciale.

C’est LA version pour les collectionneurs. Sur Amazon, les précommandes pour cette édition ne sont plus possibles. La rupture de stock a été très rapidement atteinte une première fois… puis une seconde fois après une remise en vente.

Édition Ellie

Il s’agit d’une version qui ne sera pas vendue en Europe. Elle inclut une réplique du sac à dos d’Ellie et même un vinyle de la bande originale du jeu. Notez qu’Amazon vend également une version exclusive qui contient un steelbook différent de celui de l’édition limitée. Cette dernière semble réservée à la France.

Sources

Millenium

[JS] Retour sur le rendu d’une page avec PDF.js

[JS] Retour sur le rendu d’une page avec PDF.js

Il y a déjà un moment nous abordions le fait de pouvoir afficher une page de PDF sous forme d’image grâce à la librairie PDF.js. Les différentes mises à jour de celle-ci ont conduit à ce que certains appels soient désormais dépréciés, bien que toujours fonctionnels.

Voici le nouveau code que nous pouvons utiliser :

pdfjsLib.getDocument(
{
	data : ao_pdfData
})
.promise.then(function(dPdf)
{
	dPdf.getPage(ai_num).then(function(page)
	{
		var canvas = document.createElement('canvas');
		canvas.id = as_id + '-page-' + ai_num;
		canvas.className = 'f-canvas';

		var vContext = canvas.getContext('2d');
		var vViewport = page.getViewport({
			scale: af_scale2,
			rotation: 0
		});
		
		canvas.height = vViewport.height;
		canvas.width = vViewport.width;

		var renderContext = {
			canvasContext: vContext,
			viewport: vViewport
		};
		
		page.cleanupAfterRender = true;
		
		var renderTask = page.render(
			renderContext
		);
		
		renderTask.promise.then(function()
		{
			if (canvas.msToBlob) 
			{
				$('#' + img_id).attr("src", 
					canvas.toDataURL(
						"image/jpeg", 0.85
					)
				);
			}
			else
			{
				canvas.toBlob(function(blob) 
				{
					let img = new Image();
					img.onload = function() { 
						URL.revokeObjectURL(img.src); 
					}; 
					img.src = URL.createObjectURL(blob);
					$('#' + img_id).attr("src", 
						img.src
					);
				}, "image/jpg", 0.85);
			}
		})
	});
});

Quelques détails concernant ce code :

  • On charge toujours le document en passant en paramètre les données qui auront été décodées à l’aide de la méthode atob(). On aura passé le contenu du PDF sous forme de chaine de caractères en Base64.
  • Petite différence : on appelle la méthode then() sur un objet “promise”. Même modification pour la tâche de rendu (variable “renderTask”).
  • La variable “viewport” est toujours initialisée avec getViewport() mais on passe un objet contenant les paramètres.
    • scale : l’échelle permettant de définir le zoom (ex: 1,5)
    • rotation : indique la rotation du document (0 = position initiale)
  • On définit toujours la hauteur et la largeur du canevas avec les valeurs du viewport.
  • On ajoute une petite option qui permet d’indiquer que la page doit être libérée et nettoyée après son rendu.
  • Petite nouveauté : l’utilisation de la méthode toBlob() dans les navigateurs qui supportent cela. Notez que si la méthode “msToBlob” existe alors on va plutôt appeler toDataUrl() pour la compatibilité avec IE.
    • On peut également déterminer le type de l’image.
    • On peut aussi indiquer la compression (ex : 0.85, 1 étant la qualité la plus élevée).

Grâce à ces modifications vous n’obtiendrez plus de message dans la console indiquant du code deprecated.

N’hésitez pas à partager votre expérience ou à suggérer des améliorations pour ce code !

[Windows] La mise à jour de mai 2020 est retardée

[Windows] La mise à jour de mai 2020 est retardée

Vous l’attendiez peut-être depuis quelques jours surtout après les bonnes nouvelles concernant la refonte du moteur d’indexation et de recherche du système d’exploitation, qui permettrait de significativement améliorer les performances sur les machines à disques durs. Et bien malheureusement la build 2004 de Windows 10 est retardée… à cause d’une faille de sécurité.

Comme chaque année depuis sa sortie, Windows 10 reçoit deux mises à jour importantes dont une aux alentours du mois d’avril. À la lecture de nombreux articles on pouvait penser à juste titre que celle-ci arriverait en début de mois de mai, sauf que suite à la découverte d’une faille zero-day, elle sera bel et bien repoussée. Dommage !

D’après Mary Jo Foley, une journaliste du site ZDNet, il n’est pas impossible que la mise à jour soit livrée le 28 mai. Quant aux développeurs ils devraient recevoir une mise à jour lors du Patch Tuesday (à savoir le 12 mai). On n’apprend malheureusement rien de plus sur cette fameuse faille de sécurité mais on peut facilement comprendre ce report surtout après les nombreuses critiques de ces dernières semaines.

Sources

Phonandroid
ZDNet

[Info] Quelques nouveautés…

[Info] Quelques nouveautés…

Cela faisait un bon mois que je n’étais plus venu alimenter mon blog, c’est désormais chose faite. J’en ai même profité pour faire un tour de la logithèque pour vérifier quelques liens et en supprimer d’autres. Le confinement a ses côtés positifs !

Autre nouveauté qui n’est peut-être pas passée inaperçue : j’ai récemment modifié la manière dont on peut partager les articles sur Twitter et Facebook. Il n’y a plus aucun lien permettant d’envoyer un article par e-mail ou sur d’autres réseaux. Désormais on retrouve deux nouveaux boutons sous chacun des articles. Ceux-ci exploitent directement les APIs proposées par les réseaux sociaux.

De manière invisible j’ai également mis à jour les liens du script Prism.js. La version utilisée est maintenant la 1.19.0. En théorie les contenus existants ne doivent pas être impactés mais si c’est le cas vous pouvez m’en faire part dans les commentaires, comme d’habitude. Cela vaut aussi pour la logithèque.

[Java] Filtre sur liste avec les streams

[Java] Filtre sur liste avec les streams

L’une des grosses améliorations de Java 8, c’est ce qu’on appelle les streams. C’est un nouveau pattern de manipulation de données et cela permet de se passer notamment des itérateurs que l’on connait. On peut les utiliser sur des collections ou même des tableaux.

On prend la classe suivante comme exemple :

public class MyObject
{
 private String sId;
 private String sName;
 
 // ...
}

Une méthode nous retourne alors une liste qui reprend des objets caractérisés par leur nom et un identifiant. On voudrait filtrer la liste pour ne récupérer que les objets nommés “chair” par exemple.

Stream<MyObject> lo_s = lo_listObj.stream().filter(
 myObj -> myObj.getName().equals("chair")
);

Le paramètre de la méthode filter() est un prédicat (type Predicate). Le code ci-dessus renvoie un stream que l’on peut ensuite manipuler pour retourner une collection ou bien un seul objet. Par exemple on pourrait utiliser la méthode collect() pour renvoyer une nouvelle liste.

List<Myobject> lo_list = lo_s.collect(Collectors.toList());

On peut aussi retourner le premier objet qui correspond au filtre, avec findFirst(). Cela retourne un objet de type Optional.

Optional<MyObject> lo_opt = lo_s.findFirst();

Plusieurs opérations sont possibles sur cet objet. On peut savoir s’il y a bien un résultat avec la méthode isPresent(), ou bien retourner directement le résultat ou une autre valeur si aucun objet n’avait été trouvé lors du filtre.

MyObject lo_result = lo_opt.orElse(lo_defaultObject);

La méthode orElse() renvoie la valeur qui avait été trouvée et si elle n’est pas présente, alors elle renvoie un autre objet du même type.

if (lo_opt.isPresent())
{
 MyObject lo_result = lo_opt.get();
}

L’exemple ci-dessus montre comment récupérer l’objet uniquement s’il est présent et pour également éviter l’exception NoSuchElementException. Cela peut être un raccourci à la méthode orElse(), tout dépend de quoi on a besoin en retour et ce qu’on va en faire.

[Java] Mémo – Validation de beans

[Java] Mémo – Validation de beans

En Java, il est possible d’utiliser la validation de beans pour permettre d’en valider son contenu, donc les différents membres de la classe. Par exemple, si on a une classe “Personne“, qui contient un nom et un prénom, on voudrait valider que ceux-ci ne dépassent pas une certaine taille ou même qu’ils respectent une expression régulière. Plutôt que de créer des méthodes visant à vérifier chaque élément un à un, on va se baser sur des annotations.

Prenons la classe suivante comme référence pour ce 1er exemple :

public class Person
{
    @Size(min = 1, max = 5, message = "cod: btw. 1 and 5")
    private String      cod;
 
    @Size(max = 60, message = "firstName: Length max 60")
    private String      firstName;

    @NotNull(message = "birthdate: mandatory")
    private LocalDate   birthdate;
 
    // ...
}

On utilise l’annotation Size pour définir la taille maximum qu’une chaine peut avoir. Si on ne spécifie pas de minimum, cela veut dire que la chaine peut être vide. A chaque fois on spécifie le paramètre “message” pour indiquer quel sera le message retourné lors de la validation.

Pour récupérer les erreurs sous forme de chaine :

Person lo_p = new Person();
Set<ConstraintViolation<T>> lo_violations = 
 Validation.buildDefaultValidatorFactory()
  .getValidator()
  .validate(lo_p);
for (ConstraintViolation<T> lo_violation : lo_violations)
{
    System.out.println(lo_violation.getMessage());
}

Ce code affiche les messages en fonction des champs qui sont en erreur par rapport à l’objet qu’on donne en paramètre de la méthode validate().

Si notre classe contient une liste d’objets que l’on veut aussi valider, ou un objet d’une autre classe, il faut rajouter une annotation Valid pour qu’il soit pris en compte lors de la validation.

public class PremObj
{
    @Size(min = 1, max = 20, message = "id: btw. 1 and 20")
    private String                  id;
 
    @Valid
    @NotNull(message = "liste_sousobj: Mandatory")
    private List<UnSousObj>  liste_sousobj;
 
    // ...
}

Chaque objet de la liste sera donc analysé. C’est aussi valable si on avait mis un seul objet de type “UnSousObj“. La classe que l’on référence doit évidemment posséder diverses annotations de validation.

Un champ peut également être validé sur base de valeurs d’une énumération. On peut ainsi utiliser l’annotation Enum (sur une variable de type String). Le paramètre obligatoire “enumClass” permet de spécifier la classe qui servira à la validation.

D’autres annotations utiles :

  • Pattern : sur une chaine, permet de faire en sorte qu’elle respecte une expression régulière.
  • Min : indique la valeur minimale d’un nombre.
  • Max : indique la valeur maximale d’un nombre.

Liens

Liste des annotations disponibles

[Windows 7] Impossible d’éteindre le PC

[Windows 7] Impossible d’éteindre le PC

Après les récents problèmes de moteur de recherche sous Windows 10, qui étaient en fait dus à une indisponibilité de Bing, les utilisateurs de Windows 7 rencontrent également des difficultés… pour éteindre leur PC. Soudainement le système d’exploitation les informe qu’ils n’ont pas les droits pour réaliser l’opération d’extinction. Le site Bleeping Computer explique que cela pourrait provenir d’une corruption des policies, – donc des stratégies de groupe, – ou des récentes mises à jour.

(image: hothardware.com)

Plusieurs utilisateurs indiquent avoir créé un nouveau compte administrateur sur lequel ils se sont connectés pour ensuite revenir sur leur compte habituel afin de retrouver les droits. Microsoft est au courant des soucis rencontrés. Cela pourrait également provenir d’une mise à jour problématique d’Adobe et des services liés… Tout cela reste donc à confirmer.

Sources

Bleeping Computer

[Utilitaires] Plugin Compare pour Notepad++

[Utilitaires] Plugin Compare pour Notepad++

Si vous cherchez un plugin de comparaison pour la version 64 bits de Notepad++, vous pouvez télécharger celui proposé par le développeur Pavel Nedev. Il vous permettra de mettre en évidence les différences dans deux fichiers texte, et si ceux-ci correspondent vous serez directement notifié par l’outil.

Téléchargez donc la version 64 bits. Pour l’installer:

  • Depuis Notepad++ cliquez sur le menu Compléments puis sur Open plugins folder…
  • Par défaut cela ouvre C:\Program Files\Notepad++\plugins
  • Créez un sous-dossier “ComparePlugin“.
  • Décompressez le contenu de l’archive dans ce nouveau dossier.

Vous devriez donc obtenir quelque chose de similaire à la capture d’écran ci-dessous.

Fermez Notepad++ puis relancez-le. Vous devriez donc avoir le menu

Copy link