vendredi, décembre 14, 2007
Comment obtenir le chemin courant en .NET Compact framework
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
Effectivement sur windows ce 4.2 ou 5.0 il n'y a pas de notion de 'current directory' que l'on peut avoir l'habitude d'utiliser.
Webcam - Traitement d'image et plus
http://www.thecodeproject.com/KB/audio-video/Motion_Detection.aspx
Il s'agit en fait d'une implémentation de la librairie AForge.Net (http://code.google.com/p/aforge/) dans laquelle on retrouve
- tout ce qu'il faut pour afficher différents flux vidéo ... dont les flux locaux issus de webcams
- tout ce qu'il faut pour traiter les images (filtres RGB, HSL, Mathématique ...)
- et pour terminer ... tout ce qu'il faut pour réaliser des réseaux neuronnaux et trucs un peu tordus du genre !
Je me suis donc retrouvé d'afficher ma webcam, à étudier les réseaux neuronnaux ...
Je pensais avant d'avoir regarder le truc qu'il fallait être un mathématicien averti afin de pouvoir utiliser ce genre de chose. Et à priori cela n'est pas aussi compliqué que je le pensais. Ca n'est cependant pas simple ! Si cela vous intéresse, il y a une petite démo sur ce que l'on peut faire avec les réseaux neuronnaux (mais avant faut quand même se mettre dans le bain) http://www.codeproject.com/KB/recipes/aforge_neuro.aspx
Bonne lecture !
lundi, juillet 09, 2007
Lors d'un développement un de mes collègues a eu un problème assez louche :
Coté PPC une application en .NET CF 1.0 qui filtre des commandes en fonction des dates d'expédition. En fonction de cette date, on appele un service web qui retourne une liste de commande en fonction de la date choisie. Jusque là rien d'extra et tout fonctionnait bien. On nous a demandé de rajouter l'heure de départ, sur le papier ça parraissait on ne peut plus facile mais en réaliter ... grosse galère !
Pour une raison assez mystèrieuse, lorsque l'on passait le datetime avec l'heure comprise on avait un décalage coté serveur de +9H ! on a regarder la partie paramètres régionaux et tout coller ... impossible de trouver la raison.
Pour solutionner, on a du changer la signature de la méthode et passer les heures séparemment ... tout simplement étrange!
samedi, juillet 07, 2007
Pour ceux qui sont intéressés comme moi à se certifier sur les technos ASP.NET, il y a eu quelques récents changements.
J'ai toujours entendu parler de MCAD (Microsoft Certified Application Developper) et bien maintenant c'est remplacé pour par le MCSP (Microsoft Certified Solution Professional).
Pour cela, il est nécessaire de devenir un MCTS Web developper, 2 examens :
Exam 70–536: TS: Microsoft .NET Framework 2.0 - Application Development Foundation
Exam 70-528: TS: Microsoft .NET Framework 2.0 - Web-Based Client Development
Ensuite pour obtenir le MCSP Web developper, il faut passer un examen supplémentaire :
Exam 70-547: PRO: Designing and Developing Web Applications by Using the Microsoft .NET Framework
Vous retrouverez tout ça sur le lien suivant : http://www.microsoft.com/learning/mcp/mcpd/webdev/default.mspx
lundi, mai 28, 2007
NHibernate en release
http://www.hibernate.org/343.html
jeudi, janvier 04, 2007
API Google MAP
Je pense qu'il serait intéressant de faire un petit Wrapper .Net si celui-ci n'existe pas encore...
http://developpeur.journaldunet.com/tutoriel/dht/061222-google-maps-api/0.shtml
jeudi, octobre 26, 2006
Lien RS232 et portée maximum
vendredi, octobre 20, 2006
Créer un composant MMC
Pour un composant MMC v 2, il existe un SDK fonctionnant avec C++ mais pas en .Net .
Heureusement, un projet OpenSource a palié à ce probleme http://sourceforge.net/projects/mmclibrary/ qui possède également une mise à jour pour la version 3. Cependant pour cette même version, il sera bientot disponible un SDK .NET
CodeProject propose un tutoriel en utilisant mmcLibrary : http://www.codeproject.com/csharp/mmcfileactcs.asp?df=100&forumid=26094&exp=0&select=665986
Maintenant il n'y a plus qu'à tester tout ca !! :)
jeudi, octobre 12, 2006
Envoyer des SMS dans son application
Il existe plusieurs solutions pour envoyer des SMS dont deux principales (elles ont un cout dans tous les cas) :
- en envoyant un mail
- en faisant une requete http
Pour ma part, j'ai choisi la seconde solution car moins contraignante dans l'utilsation. Effectivement, pour la 1ere solution, il est nécessaire d'avoir un serveur SMTP alors que notre application n'en a pas forcémment besoin et même si l'on a ce serveur, il faut le paramétrer pour autoriser le relais. De plus, cela pose un problème de configuration pour le client qui ne maitrise pas forcemment sa messagerie.
Avec la 2nde solution, il faut juste avoir un accès internet et pouvoir faire du HTTP. Voici un petit exemple avec smsmode.com où le SMS me coûte environ 10cts TTC (le prix est dégressif en fonction du volume).
//On convertit le message au format URL
m_Message = System.Web.HttpUtility.UrlEncode(m_Message);
//On créé la requete spécifié par le fournisseur
HttpWebRequest maRequete = (HttpWebRequest) WebRequest.Create(PASSERELLE+"?pseudo="+LOGIN+"&pass="+MOTDEPASSE
+"&message="+m_Message
+"&numero="+m_Destinataire);
//On recupère la réponse de la requete
HttpWebResponse maReponse = (HttpWebResponse) maRequete.GetResponse();
bool statut = false;
if (maReponse.StatusCode == HttpStatusCode.OK)
{
statut = true;
//Si le code retour est OK
//On lit la réponse enfin d'obtenir les informations
Stream dataStream = maReponse.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string reponse = reader.ReadToEnd();
//On récupère le code retour de cette facon car la trame est :
//code_retourdescription_statussmsID
CodeRetour code = (CodeRetour)Convert.ToInt32(reponse.Split(Convert.ToChar(""))[0]);
maReponse.Close();
return code;
}
En espérant que cela puisse vous aider. J'ai fait une petit API à ce sujet, si vous souhaitez l'obtenir, contactez moi.
lundi, octobre 09, 2006
Persistance d'objet NHibernate
En théorie, Microsoft a sorti son propre outils de persistance mais au vu du succès qu'il obtient, je me dis qu'il faut certainement s'orienter vers autres chose. Pour info, il s'appelle : Object Space dont voici un lien http://www.labo-dotnet.com/articles/ADOdotnet/Object%20Space/0/48.aspx
Pour ma part je me suis lancé avec NHibernate, outils OpenSource connu dans le mode Java. Sa deniere version n'est pas encore totalement débugger mais semble bien fonctionner. L'avantage de cet outils c'est la documentation et examples disponibles sur le net. http://www.hibernate.org/343.html
Je ne vous cache pas que j'ai rencontré quelques difficultés de compréhension dans l'utilisation de celui-ci mais à force de persévérance, j'y suis parvenu! Le plus gros problème que j'ai rencontré est le mappage d'un attribut du style List
Prochainement, j'essaierai de faire un petit tutoriel sur cette expérience bien que l'on en trouve déjà de nombreux à ce sujet.
mercredi, septembre 13, 2006
Report viewer - mise à jour automatique
Lorsque vous utilisez un report viewer dont les DataSource dépendent d'une dropdownlist ou autre qui a besoin d'un postback pour être pris en compte. Et bien, vous pouvez mettre à jour le rapport non pas en faisant ReportViewer1.DataBind()
mais ReportViewer1.LocalReport.Refresh()
C'est trop simple mais pas évident à savoir quand on ne connait pas :)
jeudi, septembre 07, 2006
Liste de mes projets actuels
Dans un premier temps, je suis en train de développer une petite application de traçabilité sur terminal Psion Tecklogix WorkAbout Pro (Windows CE 4.2). Le but du jeux est de noter tout ce que l'on apporte et récupère de chez le client et de l'imprimer sur un petite imprimante Zebra RW Series.
Difficultés techniques :
- Ne pas partir sur un développement en .Net CF 2.0 car non supporté sur windows CE 4.2
- L'utilisation de la RFID qui n'en ait plus vraiment un car Psion a mis en place un système Wedge (écran / clavier)
- La communication Bluetooth avec l'imprimante Zebra. Ca ce gère facilement via les ports COM ... normalement. A savoir qu'avec .Net CF 1.1, il faut utiliser l'API OpenNETCF.org
- Et pour terminer, l'utilisation de SQL CE
Ensuite, il y a la mise en place d'un extranet qui a été réalisé par une de nos stagiaires. Il reste la persistance d'objet à implémenter, ainsi que quelques petits déboggages.
Pour la persistance, on m'a conseillé NHibernate qui semble être assez performant mais à qui il manque cruellement un plug-in pour Visual Studio.
Il y a d'autres projets à l'étude mais qui n'ont pas de caractéristiques particulières.
lundi, septembre 04, 2006
Premier pas sur mon blog
Je me lance aussi dans la création de blog tout comme beaucoup de mon aujourd'hui. L'object de celui-ci sera principalement l'informatique.
Les sujets abordés seront variés mais seront principalement liés au developpement ASP.Net C#, car il s'agit de mon coeur de métier.
Je me suis fixé comme objectif de vous faire part de mes expériences et surtout de mes nouvelles découvertes.