ppmax no sekai

Informations sur l'auteur | Curriculum vitae

jeudi 31 juillet 2008

Portable de Geek : HTC Diamond

Cela fait maintenant trois semaines que j'ai mon nouveau téléphone, il s'agit du HTC Diamond sous Windows Mobile 6.1. Il m’a été proposé à 219 euros à sa sortie par Internity couplé à une remise de 50 euros à renvoyer à SFR


Alors pourquoi avoir attendu trois semaines avant de parler de mon nouveau joujou ? Tout simplement qu’il fallait bien ce laps de temps pour appréhender ce nouveau téléphone, car oui, il faut moment pour maitriser un minimum la bête. C’est la première fois que je touche à Windows Mobile 6. Mes téléphones précédents étaient des Nokia et Samsung, j’avais donc envie de changer. Pourquoi ne pas prendre un I-Phone ? Tout simplement parce que je ne désirais pas quitter SFR et parce que le Diamond est tout aussi joli.


Avant d’acheter le téléphone, j’ai parcouru pas mal de forums spécialisés dans les téléphones mobiles afin de me faire une première idée sur la machine. Les premiers retours étaient assez favorables, c’était suffisant pour moi.


Me voilà avec ma machine en main et là mauvaise surprise, le skin noir HTC (tout beau) a été remplacé par une surcouche SFR (toute moche). En plus d’être de mauvais goût, cette surcouche monopolise 10% de puissance processeur en plus. Le second soir, j’avais donc déjà flashé mon téléphone avec une Rom constructeur customisée issue de chez HTC. Et après ça, tout va beaucoup mieux. Certes mon Windows est en anglais, mais c’est rien comparé aux nombreux ralentissements qu’il y avait avant le flashage. Maintenant on va dire que mon Diamond est fonctionnel.


Parlons maintenant des fonctionnalités, le Diamond contient des éléments non négligeables : un disque dur de 4go et un GPS. Concernant le GPS, j’ai pas encore testé, enfin rapidement avec Google map et je n’ai pas trouvé ça très grandiose (Il trouve ma position à 1km près). Pour le disque dur, il remplace l’impossibilité de brancher une carte micro SD pour étendre la mémoire. Enfin, l’intérêt de cette carte est surtout le transfert des fichiers sur un pc ou un autre téléphone mais étant donné que le Diamond dialogue par USB / Wifi / Bluetooth, il y a de quoi faire...


La housse de protection est vendue avec le téléphone


Windows Mobile 6… c’est la chose qui fait que le téléphone n’est pas grand public comme essaient de nous faire croire SFR / Orange, Windows mobile, c’est Windows 98 sur un écran 600 * 480… En gros, c’est tout plein de menus partout, rien de très compliqué en soi, mais qui peut devenir fastidieux pour un utilisateur non initié. Et c’est dommage, car un bon nombre de personne vont se retrouver perdu avec ce téléphone, pas glop du tout. Il n’est pas encore venu le temps de la suprématie de Microsoft sur les téléphones portables ! (Et je ne dis pas que ce téléphone est destiné aux geek/nerds, car avec un peu de manip, -presque- n’importe qui peut utiliser le Diamond).

Sinon Windows Mobile est bien agréable à utiliser une fois qu’on s’est fait la main dessus (héhé, il est tactile XD ). Le plus gros avantage est l’intégration du Framework .NET 3.5 sur le téléphone, en fait en compilant les bonnes sources, on peut utiliser un très grand nombre d’applications programmées en .NET. Et ce n’est vraiment pas négligeable. Cela permet d’avoir un panel applicatif énorme. Mais ça encore c’est de la geekerie :}
Au niveau de l’autonomie, j’ai pu me regarder les sept premiers épisodes d’un anime (7 * 25 minutes) sur mon téléphone portable durant un voyage en train. Donc je m’estime heureux, ce n’est pas plus, pas moins qu’un autre téléphone. Pour ceux qui trouveraient ça faible, une batterie de plus forte capacité va être mise en vente par HTC.

     
L'interface native SFR et la version originale HTC


Bref que dire d’autre sur ce téléphone… Ah oui, il gère très bien la synchronisation avec Exchange, mais bon, c’est Windows Mobile qui permet ça, pas le téléphone à vrai dire. J’ai donc mes mails en temps réel sur mon téléphone et totalement gratuitement (forfait SFR Illimitics 3G+ à 31euros/mois). La synchronisation Exchange se fait à première vue grâce à la connexion wap illimitée, donc j’ai mes mails et mon calendrier gratuitement sur mon téléphone. Une petite redirection des mails de mon adresse Gmail sur le serveur Exchange et j’ai tout ce qu’il faut. Même plus besoin d’utiliser le très bon navigateur Opéra mobile pour checker de temps en temps mes mails :=) Que demande le peuple ?


Je suis encore au stade de la découverte du téléphone, je vais bientôt me lancer dans les parties les plus poussées du systèmes et faire mumuse avec Visual Studio 2008 pour compiler moi-même (voir faire ?) quelques applications pour le téléphone. 


Ce téléphone (pour l’instant) c’est que du bonheur :=)

dimanche 13 avril 2008

MapMof, easy mapping for Mib and Mof

Le premier semestre de Master 2 ISI fut plein de surprises, un des enseignements assez drôle fut le cours de réseau: après si je me souviens bien 8 heures de cours, nous avons eu un projet à réaliser, un truc parait-il en adéquation avec la formation, un truc de méta-modélisation donc.

Après l'énoncé des projets, un seul semblait abordable à mon goût, un projet ayant pour but de remplir des MappingString d'un fichier MOF permettant de référencer une MIB, ok, j'avoue, ça ressemble à du charabia, j'aimerai bien expliquer sauf que j'en suis pas vraiment capable, le réseau et moi, ça fait 3, enfin plutôt 4,5 si je me réfère à ma note de réseau de L2 XD. Apparemment, la prof voulait un outil lui permettant de faire un mapping de façon assistée (ils font le mapping à l'ancienne avec leurs petites mimines et le CTRL + F pour trouver les valeurs dans les fichiers ! ). Autant les MIB, le MOF et tout le reste, c'est obscure pour moi, autant un mapping et des parcours de fichiers, c'est parlant pour nous.

Nous avons travaillé par groupe de quatre, j'étais comme d'habitude avec Florian, Frédéric et Thibault. Un autre groupe a prit le même sujet que nous, ils sont parti sur une idée pas conne: les fichiers MOF sont générés par un outil selon un méta-model défini, ils ont donc choisi de travailler sur ce méta-model pour effectuer le mapping, mais bon, utiliser TopCased, c'est plutôt dangereux.

Nous, on a travaillé sur les fichiers générés. Il se trouve que les fichiers Mof et Mib ont des correspondances en XML. Et le XML, ça n'a pas de secret pour nous. Nous nous sommes dirigé vers une application en Ruby, mais finalement, on a choisi le .NET, mon petit bébé à moi :) Après quelques heures, nous avions une application fonctionnelle. Ça donne ça :

Mof, Mib automatic mapping
Les mof d'un coté, les mib de l'autre et deux boutons pour mapper/démapper


La prof paraissait satisfaite du logiciel :) C'est vachement bien le .NET, on fait plein de truc rapidement et on passe limite pour des personnes trop fortes :d, je me rappelle d'une remarque qu'elle a faite :

    - C'est très bien, vous avez utilisé quoi pour le faire ?
    - .NET
    - Pourquoi ça ?
    - Parce que ça accélère le développement
    - Ah ?
    - Oui !
    - Et pourquoi vous avez utilisé les fichiers XML, nous quand on a essayé, c'était super-lent !
    - Ah ? Bah nous on charge les 1200 fichiers en 3 secondes, ça n'a pas l'air si lent que ça le XML ;)

Je ne m'étendrais pas sur la facilité de parcours et d'utilisation des fichiers XML avec .NET, pour ceux qui sont intéressés, allez faire un tour du coté du type d'objet XMLDocument en C#, vous allez voir, c'est magique !

vendredi 11 avril 2008

BDC 2008, un pas en avant...

Hier se tenait ce que l'on pourrait appeler l'événement annuel toulousain dédié aux technologies Microsoft. Les bewisiens ont décidé cette année de déplacer la BDC (Bewise Developer Conference) au temple toulousain du rugby : le stade Ernest Wallon (le rugby, les valeurs, l'honneur, le fair play toussa quoi... ). Bref, comme l'année dernière, j'étais présent en tant que visiteur professionnel (la classe hein :) ). Et autant le dire tout de suite, j'ai pris une claque.

Tout commença à notre arrivée, une hôtesse a échangé nos affaires contre un badge et une poche Microsoft (la même que l'année dernière en fait) contenant diverses docs sur bewise et les techno Microsoft (yeah ! je vais exploser mon ratio de Microsoft/post à force de répéter crosoft partout), des cds de démo, un stylo Visual Studio 2008 et... c'est tout , snif, pas de T-shirt Microsoft MSDN cette année, bon tant pis.

Cette BDC était décomposée en trois parties :

  • Les sessions plénières
  • Les sessions de démonstrations
  • Les plots de démonstrations

Je vais donc commencer par la première session plénière, la seule à laquelle j'ai participé. Elle était présentée par Sacha Leroux, David Catuhe et Michel Rousseau. La démonstration était sous le signe du Silverlight, démonstration assez bluffante je dois dire; l'année dernière la démonstration de la session plénière était jolie, mais trop technique, en effet, les outils n'étaient pas au point, la majorité de la démo consistait à de la copie de code à l'arrache. Cette année, on a vraiment pu suivre pas à pas la démarche, et je dois dire que réaliser une appli Silverlight en quelques clics ça fait envie. Tout ça dialoguant avec une base de données via WCF tout en requettant la BD avec LinQ, que du bonheur pour les yeux.

J'ai ensuite assisté à 2 sessions de démo, la première traitait de LinQ, cette petite chose qui va faire que nos admins BD vont se retrouver au chômage : plus besoin de faire de store proc, plus besoin de réfléchir au SQL, .NET est là pour ça : génération des objets métiers en mappant les bases de données, persistances des données : que du bonheur.

La session d'après était sur les nouvelles interfaces utilisateurs : en gros le WPF. On reprend les même et on recommence, David Catuhe et Michel Rousseau étaient de la partie. En quelques clics, on a vu comment faire une application WPF (moche) sous Visual Studio 2008 et comment l'habiller avec Expression Studio. Comme toujours, le résultat était bluffant.

Concernant les plots, j'ai visité ceux dédiés à l'ASP.NEt 3.5 (forcément hein), au Silverlight, à WPF, à WCF 3.5 et ça doit être tout. Le plot dédié au XNA n'avais pas beaucoup changé par rapport à l'année dernière, j'ai passé mon chemin. J'ai aussi passé pas mal de temps au plot SharePoint : Kazou animait le stand,  revoir un ancien de l'IUP ISI, ça fait plaisir :)
Vers 21h, nous avons eu le droit à un buffet, diantre, ils ont pas mis de maki cette année, seconde déception de la journée (avec celle des T-shirt ), mais bon, c'était très bon quand même :=).

Bref, pour conclure, un très bon événement qui m'a consolé de ne pas être allé aux TechNet de Paris le mois dernier ! J'étais quand même un peu morose en sortant de là, c'est bien gentil de faire tout ça, mais faut avoir des outils qui suivent, or, Expression Studio, Visual Studio et le reste, c'est pas donné, je m'étais inscrit il y a quelques semaines au système de distribution de logiciels en ligne MSDN Academic Alliance DreamSpark, un truc dédié aux étudiants permettant d'avoir accès aux licences Microsoft. Mais j'avais abandonné l'idée de l'avoir (3 semaines sans nouvelles, ça calme ), sauf que par magie, ce matin en regardant mes mails, j'avais un courrier de billou m'indiquant que ma demande a été validée, à moi le plaisir de Visual Studio, yeah!

Sur ce, mon Visual Studio 2008 vient de finir son installation, je vais aller tâter du Silverlight :)

jeudi 6 mars 2008

Recherche dans des listes grâce aux délégués ( C#)

Le quotidien d'un développeur consiste le plus souvent à trouver l'information dont il a besoin et de l'utiliser de façon intelligente, et j'ai remarqué une petite chose lorsque je regarde des exemples de code sur le net,c'est que pas mal de gens ne savent pas utiliser ce que j'appellerai "'une des plus grande invention du langage" : la recherche dans les collections d'élément via des délégués.

Qu'est-ce que sont les délégués ?
Un petit exemple rapide:
Une classe Personne avec des attributs Nom, Prenom.
Une liste contenant des personnes serait du genre :

List<Personne> listePersonne = new List<Personne>();
///Nouvelles personnes
Personne p1 = new Personne("Duran", "Paul");
Personne p2 = new Personne("Dupont", "Paul");
listePersonne.Add(p1);
listePersonne.Add(p2);

Pour rechercher une personne contenu dans la liste, une grande partie des personnes fait avec la méthode old-school:

Personne perso;
for (int i = 0; i < listePersonne.Count; i++)
{
    if (listePersonne[i].Nom == "Duran")
    {
        perso = listePersonne[i];
    }
}
Ce code marche, mais en C#, il existe la méthode Find :
///Recherche d'une personne
Personne perso = listePersonne.Find(delegate(Personne p) { return p.Nom == "Duran"; });
///Recherche de plusieurs personnes
List<Personne> lperso = listePersonne.FindAll(delegate(Personne p) { return p.Nom == "Paul"; });

Ça fait exactement la même chose (à part que find renvoie la première occurrence trouvée alors que le code avec le for renvoie la dernière occurrence)
De nombreuses méthodes utilisent les délégués (Find, FindAll...) C'est très utile et c'est surtout beaucoup plus propre dans le code. Je suppose que du coté des performances, c'est la même chose, un gain de rapidité grâce au Find, à confirmer toutefois.

vendredi 31 août 2007

Stage 2007 : Dernière ligne droite

Logo IUP ISI

Voilà, mon rapport de stage est terminé depuis quelques jours. Après validation par mon tuteur et surtout après correction orthographique par Magalie, je l'ai envoyé à mon encadrant universitaire. Pour ceux que ça intéresse, j’ai mis en ligne la version PDF de mon rapport, il suffit d’aller sur la page de mon CV pour le télécharger.

Maintenant, il me reste à affronter la soutenance de lundi lundi qui clôturera cette année de Master 1 ISI . Ma présentation Power Point est à retoucher, mais je vais y arriver \(^o^\)(/^.^)/.

Ensuite viendra le choix de ma future entreprise pour le master 2 ISI:

  • Je reste là où je suis (Equadex)
  • Je vais chez Cap Gémini (SSII)
  • Je vais chez IBP (Informatique Banque Populaire)
  • Je vais chez Celad (SSII)

C’est bien sûr pour travailler sur un environnement .NET, pas de J2EE, pas de C++… Tous sont des contrats de professionnalisation et rémunèrent dans la même fourchette, les sujets sont à peut près dans le même style, sauf chez IPB qui se trouve être un travail sur les workflow et les méthodologies de travail...

Si vous avez des idées ou des remarques sur ces entreprises, n’hésitez pas à me les faire partager ! Allez encore deux semaines à faire !

jeudi 16 août 2007

SelectedIndexChanged qui ne marche pas sur un Dropdownlist

Dans le genre, le .net ca marche pas, c’est nul, il y a le : pourquoi ma Dropdownlist ASP (liste déroulante) ne va pas dans son événement SelectedIndexChanged lorsque je clique sur un élément de la liste?

Solution : il ne faut pas oublier d’activer l’attribut AutoPostBack du DropDowlList, après ça miracle, on va automatiquement dans l’évènement SelectedIndexChanged !

Où comment perdre 2h dans une matinée pour trouver ça...

vendredi 20 juillet 2007

Master 2 professionnel IUP Ingénierie des Systèmes Informatiques, j'arrive !

Ayé, je suis officiellement en Master 2 professionnel IUP Ingénierie des Systèmes Informatiques (ISI), je suis allé hier à la réunion d’information. Bien bien, on a eu le droit à un cours de moral disant que l’absentéisme était interdit, bon ça on s’en serait douté… Ils ne vont pas nous dire « ah oui vous pouvez sécher et tout, ça va nous faire plaisir » On a aussi reçu des petits papiers avec des noms de boites et des contacts pour trouver un bon stage : qu’est-ce qu’un bon stage Master 2 ISI ? C’est principalement un stage orienté Meta-modélisation, ou J2EE, le tout en adéquation avec notre enseignement.

Justement, après en avoir parlé avec pas mal de personne, il en est ressorti qu’il ne faut pas prendre un stage qui suit exactement les cours, en effet, si la méta-modélisation se trouve être un truc barbant, je me vois mal en faire 5 jours par semaines, 2 seront bien assez. Ca me conforte donc dans l’idée de trouvé un stage basé sur le framework .NET et on verra ce que ça donne ^^ ;

*ahem* Si vous êtes une entreprise microsoftienne sur Toulouse, n'hésitez pas à me contacter ! (On peut toujours rêver)

mercredi 18 juillet 2007

WPF mon Ami !

Lors de la BDC, j’avais entrevu un peu le WPF, kesako le WPF : le Windows Presentation Foundation. C’est le nouveau système IHM de crosoft. ET wouha ! C’est joli et facile *sik* (enfin quand crosoft se décidera à sortir un vrai bon éditeur XAML parce que le XML à la mano, non merci).

Enfin bref, un de ces jours, je vais me pencher là-dessus et voir ce qu’on peut en tirer. Ca serait pas mal que je puisse trouver un stage là-dessus pour mon année de M2.

*I have a dream…*

Plus d’info :
article sur le jdn
wikipedia

.Net : Request for the permission of type

Voilà, un petit truc sur lequel j'ai galéré pendant une bonne journée sans rien trouver de très explicite, c'est grâce à ce site que j'ai reussi à me débloquer. Je poste ça, on sait jamais, ça peut aider d'autres galériens de l'ASP ^^;

Mise en place du contexte: Je développe une application WEB ASP.NET 2.0. Mon appli communique avec une base de données Access pour récupérer des données via le provider Microsoft.JET.OLEDB.4.0 et là cette erreur apparait :

"Request for the permission of type 'System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."

Comment faire pour résoudre cette erreur?

Il faut tout simplement vérifier le niveau de sécurité dans le web.config de l'appli; en effet, le driver OleDb ne permet pas l'acces à la BD si les droits sont à bas niveau, bref si jamais la ligne ci-dessous est présente:

<trust level="Medium" originUrl="" />

Suppprimez là ou placez là en trust level full. Ca devrait supprimer l'erreur ci-dessus.
Pour plus d'info: la doc sur msdn

mardi 26 juin 2007

Stage, ça continue encore et encore...

Cela doit faire maintenant 4 semaines que je suis sur mon second sujet de stage : la création d’une application WebForm / WinForm. En gros, voilà le schéma de mon application (MVC) :

D’un coté il y a la partie ASP.Net (WebForm) qui sert d’interface pour le client distant, et de l’autre, il y a le WinForm C# qui sert à l’administration locale du logiciel. Durant ces 4 semaines, j’ai conçu le schéma de la base de données et quasi réalisé la partie ASP/AJAX. Depuis vendredi dernier, je me suis penché sur l’interface C#.
Et il n’y a pas à dire, je préfère largement le winform à l’ASP, c’est beaucoup plus intuitif et beaucoup moins lourds à implémenter. Ce qui confirme mon idée générale sur le web, faire des sites web pour s'amuser, ok, mais en faire son métier: Non Non et Non

- page 1 de 2