Liens et actus

Bonjour à tous,

N’ayant pas eu beaucoup de temps ces derniers temps, et Gregg s’étant fait piraté sa connexion Internet par son FAI adoré, le blog est resté un peu à l’abandon ces dernières semaines. Quelques nouvelles cependant pour faire un peu le tour des dernières nouveautés et des promesses qu’on espère tenir pour les prochains articles.

Tout d’abord, Visual Studio est disponible depuis ce 12 avril, de même que la version 4 du Framework .Net. Pour beaucoup d’entre vous, cela ne risque pas de faire de différences, mais les améliorations sont suffisamment notables que pour que je ne les passe pas sous silence ;) En vrac, on a donc :

  • Intégration de la DLR (Dynamic Language Runtime) (voir ExpandoObjects)
  • Améliorations du Parallel Programming, de la couche réseau
  • ASP.Net passe en version 4.0 et ASP.Net MVC 2.0 est dorénavant directement disponible après installation !
  • Meilleure intégration d’IntelliSense avec du code JavaScript
  • Mise en avant des services WCF
  • Améliorations de la Windows Worlflows Foundation
  • Ajout des paramètres optionnels et nommés
  • Améliorations de l’interopérabilité des fonctionnalités COM
  • Coévolution des langages C# et Visual Basic
  • Co & contra-variance

Liste exhaustive disponible ici pour le .Net Framework 4.0, pour le développement Web et ASP.Net et ici pour Visual Studio 2010 et ici pour un tout bon article de Scott Guthrie.

Pour ceux que cela pourrait intéresser, un article disponible sur Développez.com vous expliquera toutes ces modifications bien mieux que les quelques lignes ci-dessus. N’hésitez également pas à télécharger les éditions Express de Visual Studio, à présent disponibles pour cette édition 2010 de cet IDE d’exception.

Cette nouvelle tombe à pic, puisqu’Apple a modifié les conditions d’utilisation de son App Store suite à la sortie de l’iPad et l’iPhone OS 4.0 :

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Dorénavant donc, il ne sera pas autorisé qu’une application soit écrite dans un autre langage qu’Objective-C, C, C++ ou JavaScript. Les autres points qu’implique cette modification du contrat d’utilisateur sont que les wrappers d’un langage vers la plateforme d’Apple sont également prohibés. Exit MonoTouch ou les compilateurs Flash > iPhone OS. Autre point intéressant : comment concevoir une interface en Objective-C sans les outils XCode? En gros, impossible de bâtir un framework se basant sur Cocoa Touch. Apple veut rester maître de sa plateforme. L’autre solution serait donc de proposer une interface Web optimisée pour iPhone, et donc plus une application native. Source (entre autre) : http://daringfireball.net/

Toujours concernant Apple, il y a également eu la sortie de l’iPad (difficile de passer à coté, mais là, nous allons passer au dessus. Nafout’ de l’iPad d’abord!), et la sortie des nouveaux Macbook Pro’s. Pour les nouveautés, autant aller voir directement à la source. Pour résumer brièvement, on a :

  • Une amélioration de la puissance des processeurs sur les modèles 13″ (minimum Core2Duo moulinant à 2.4Ghz alors que le précédent modèle se limitait à 2.26Ghz; le « haut de gamme » étant équipé d’un processeur cadencé à 2.66Ghz), mais également une amélioration de la taille du disque dur, cependant toujours en 5400rpm. L’entrée de gamme est également équipé de 4Go de RAM d’entrée de jeu.
  • L’apparition des « nouveaux » Core i5/i7 sur les modèles 15″ et 17″
  • Une nouvelle résolution (1680×1050) sur le 15″, disponible contre espèces sonnantes et trébuchantes (€$£ au choix) – un bon petit 90€ pour la haute résolution, et 135€ pour la haute rés’ + filtre anti-glossy
  • Plein de nouvelles cartes graphiques sur tous les portables : des GeForce 320M, des 330M et de l’Intel GMA HD, disponible conjointement sur certains modèles. Autant trancher dans le lard (tant qu’il est froid), la 320M n’est qu’une amélioration du précédent 9400M, tandis que la 330M est une mini-évolution de la 9700M, elle même n’étant qu’une mise-à-jour mineure de la 9600M équipant la génération précédente. Bon ceci dit, ça décode de la HD, et ça peut suffire pour jouer un peu.
  • L’option SSD est à présent dispo un peu partout. Vous pourrez donc vous faire plaisir, ou de mendier devant le banquier (les prix s’échelonnant de 270 à 1260€). Le problème n’est pas que cela soit cher, mais qu’on ne sait pas précisément quel contrôleur équipe ces disques… De plus, OSX ne supporte toujours pas le TRIM.

Qu’est-ce qu’il faut en retenir? Rien. Ce n’est qu’une mise-à-jour « mineure » des portables, Apple étant un peu obligé de mettre ses portables à jour. Alors, évidemment, ça gueule dans tous les sens sur les forums:  « les portables sont trop chers », « ils ont perdu en puissance », « bouh pas bien! » (personne ne s’est encore petit-suicidé, c’est déjà ça). Pour casser le mythe: les portables Apple ont toujours été plus cher que la concurrence, ce n’est pas nouveau. De plus, aucun portable sur le marché n’a de coque unibody en alu, l’autonomie qui own tout (reste à voir à l’utilisation, comme d’hab). De plus, l’entrée de gamme ne bouge pas d’un iota, ou presque (Et non, les Core2Duo en entrée de gamme ne sont pas une honte bourdayl!). Déçus? N’achetez pas.

What else?

Naon, George Clooney n’est pas invité surprise sur PommeGyver. Désolé.

Quelques liens donc pour finir cet article et pour faire les tris dans mes Reader’s préférés:

Et le meilleur pour la fin : pourriez-vous survivre à une attaque de zombies? (Source directe inconnue malheureusement. GameInformer?)

That’s what she said.

Tracks

Alors pour cet article, je vais vous présenter la petite application que je considère comme la super bonne surprise du dernier NanoBundle: Tracks. Cette petite application est une extension à iTunes qui permet de faire des recherches directement depuis la barre système, qui affiche les infos sur la chanson en cours en utilisant les notifications Growl et qui permet une intégration à Last.Fm (pour les intéressés).

Tracks, c’est donc une application qui vous offrira des raccourcis pour contrôler iTunes, pour accéder à une recherche quasi instantanée de vos morceaux et artistes favoris. Bref, une bonne grosse bouffée d’air pur pour profiter de votre musique pendant votre travai/temps libre. Plus besoin de trifouiller la bibliothèque complète et de se tarter une gestion chiante (mais subjective ;) ) pour trouver une musique d’ambiance.

Pour avoir (acheter et) essayer TotalTunesControl à l’époque, je trouve que Tracks se rapproche beaucoup plus de CoverSutra au niveau de la présentation dans la barre des menus. Il lui manque cependant un petit quelque chose qui est l’affichage de la jaquette directement sur le bureau, comme le font si bien CoverSutra ou Bowtie, l’avantage pour ce dernier étant sa gratuité :) .

Actuellement donc, je le garde parce que, quitte à posséder la licence, autant l’exploiter un minimum, non mais ! En plus, l’affichage de la jaquette est un plus très agréable, mais au final, je suis plus souvent en train de bosser que de mater mon bureau dans le blanc de son fond d’écran. Dans le cas contraire, je passerais par Bowtie, CoverSutra étant très complet, mais proposé au prix de 20$ (TotalTunesControl étant, de son coté, abandonné).

Pour les intéressés, allez également voir du coté de Ecoute

C# ToTitleCase()

Une petite astuce en C# (et qui devrait donc être traduisible pour chacun des langages de la plateforme .Net) qui permet de prendre une chaîne de caractères et de mettre uniquement la première lettre de chaque mot en majuscule.

On pourrait bien sûr s’en sortir en faisant un petit algorithme de quelques lignes, splitter la chaîne de caractères initiale suivant les espaces, puis mettre la lettre à l’indice 0 en majuscule en utilisant la méthode ToUpper(); Ou alors utiliser les spécificités du Framework :)

Pour l’exemple, je vais utiliser en même temps une extension de méthode, qui permet d’ajouter des méthodes sur un type de données prédéfini (dans cet exemple, un string). Cette technique fonctionne pour tous les types et est une spécificité du Framework 3.0. Inutile d’essayer ça sur une version précédente… ;)

Pour étendre un type, il faut donc

  1. Créer une classe statique (et accessible), dans ce cas-ci, je l’ai appelée StringExtensions
  2. Créer une méthode statique dont le premier argument est précédé de « this« 
  3. Importer le namespace dans lequel se trouve la méthode définie ci-dessus