CONTACTEZ-MOI

Mercredi 15 juin 2011 3 15 /06 /Juin /2011 08:18

Les bases de données ont abandonné depuis longtemps le modèle hiérarchique pour un modèle relationnel beaucoup plus puissant. Du coup ces bases de données relationnelles montrent très vite leurs limites lorsqu'il faut traiter des données ... hiérarchiques.

Pour stocker des données purement hiérarchiques, il y a la solution des bases de données natives xml assez peu utilisées.

Une autre solution est d'utiliser les fonctionnalités xml des SGBD relationnels (Oracle, SQL Server ou DB2).

Depuis longtemps (Oracle v8, Sql Server 2000, DB2 v8), on peut créer dans un modèle purement relationnel, une données hiérarchique sous la forme d'une colonne de type xml.

Les SGBD offre ensuite des fonctions et procédures pour indexer le contenu de cette colonne (entendez "indexer le contenu de la hiérarchie xml) et pour requêter via xpath ou xquery les données de cette colonne.

Les intérêts de cette méthode sont nombreux notamment dans sa capacité à stocker à peu près n'importe quoi pourvu que le contenu respecte le standard xml 1.0.

 

Pour information, je vous livre mes exemples d'utilisation : construction d'interface dynamique asp.net, stockage de compte-rendus d'evénement, d'opération, stockage de données complexes venant d'une partie étendue du SI, stockage de rejets ...

 

Quelques références sur SQL Server :

 

http://www.seangallardy.com/2010/06/xquery-and-xpath-for-xml-in-sql-server-2008-or-and-how-i-learned-to-love-the-bomb/

 

http://programming4.us/database/2576.aspx

 

Par Hugues MEUNIER - Publié dans : General
Ecrire un commentaire - Voir les 0 commentaires
Lundi 16 mai 2011 1 16 /05 /Mai /2011 08:57

Il est souvent utile de construire une interface asp.net dynamique fonction de données XML (ici les données sont récupérées dans une colonne de type xml depuis SQL Server). Ceci permet d'adapter l'IHM en fonction du contenu XML variable.

L'exemple ci-dessous permet d'afficher et de modifier les paramètres msdeploy (Web Deployment Tool). Ces données sont au format suivant:

<parameters>

<setParameter name="IIS Web Application Name" value="WS_TEST" />

<setParameter name="UrlWS" value="http://Serveur/chemin" />

</parameters>

  

Le but est d'afficher une ListTable contenant pour chaque ligne un couple Label, TextBox.

  

Première étape : la page aspx

<asp:DataList ID="DataList1" runat

="server">

<ItemTemplate

>

<tr

>

<td

>

<asp:Label ID="Label1" runat="server" Width="300" style="font-weight: bold; font-size:small; color: Navy" Text='<%#XPath("@name") %>'></asp:Label

>

</td

>

<td

>

<asp:TextBox ID="TextBox1" runat="server" Width="600" Text='<%#XPath("@value") %>'></asp:TextBox

>

</td

>

</ItemTemplate

>

 

</asp:DataList>

 

 

 

// Création du document XML  

 

 

 

XmlDocument xmldoc = new XmlDocument();

xmldoc.CreateXmlDeclaration("1.0", "ISO-8859-1", null);

//Lecture des données xml

xmldoc.LoadXml(item2["ConfigXml"].Text.ToString());

 //Sélection dans l'arbre xml du noeud à afficher

XmlNodeList nodes = xmldoc.SelectNodes("parameters/setParameter"

);
 //Bind des données sur la datalist asp.net

 

DataList1.DataSource = nodes;

DataList1.DataBind();

 

 

Par Hugues MEUNIER - Publié dans : .NET
Ecrire un commentaire - Voir les 0 commentaires
Lundi 21 février 2011 1 21 /02 /Fév /2011 09:31

Un très bon article pour aborder les tests unitaires (indispensables) lorsqu'on développe avec Silverlight :

http://www.codeproject.com/KB/testing/SilverlightUnitTestAsync.aspx

Par Hugues MEUNIER - Publié dans : .NET
Ecrire un commentaire - Voir les 0 commentaires
Vendredi 7 janvier 2011 5 07 /01 /Jan /2011 17:16

Les dernières présentations de Microsoft au CES 2011 tendent à vérifier les bruits de couloir de ces derniers mois. Il semble donc que l'éditeur prépare une refonte globale de l'aspect visuel et graphique du prochain Windows. GDI serait abandonné au profit de Silverlight qui deviendrait la base des applications sous Windows. Il semblerait donc que Windows phone 7 avec son interface Silverlight soit bien le laboratoire pour tous ces aspects IHM.


Voir l'article plus complet sur Pcinpact de v. Hermann.

Par Hugues MEUNIER
Ecrire un commentaire - Voir les 0 commentaires
Mardi 28 décembre 2010 2 28 /12 /Déc /2010 16:28

Un article très instructif sur le temps passé par les développeurs Java pour redéployer les applications dans les conteneurs JEE du marché. Le champion du monde est WAS d'IBM qui nécessite en moyenne 13.8 mn / heure de charge soit plus de 80 mn par jour rien qu'à déployer dans le serveur d'applications...

 

Les résultats du sondage ici !

Par Hugues MEUNIER - Publié dans : J2EE
Ecrire un commentaire - Voir les 0 commentaires
Mardi 23 novembre 2010 2 23 /11 /Nov /2010 08:27

La nouvelle n'échappe à personne aujourd'hui. Des bruits couraient depuis quelques temps sur cette opération. Cela risque de porter un coup à VMWARE sur le segment du Cloud et de la virtualisation. Microsoft va pouvoir mettre à disposition gràce à son hyperviseur HYPERV et via ses offres CLOUD, des environnements Windows et Linux basé sur SUSE. De plus, Novell c'est plus de 800 brevets dans des domaines variés qui tombent dans l'escarcelle du géant de Redmond ce qui inquiète au plus haut point les communautés Linux. Celles-ci s'attendent à un abandon progressif de SUSE; moi je parie le contraire car Mcrosoft a tout intérêt à avoir une offre Linux complémentaire à son OS historique.

Par Hugues MEUNIER - Publié dans : General
Ecrire un commentaire - Voir les 0 commentaires
Lundi 22 novembre 2010 1 22 /11 /Nov /2010 16:47

Le cloud computing semble décoller depuis quelques mois. Ici, la société iKoula propose de bénéficier d'une VM W2K8 avec une franchise d'utilisation pour 1 €.

La franchise est :

  • RAM
512 Mo
  • Espace Disque
40 Go
  • CPU
4 200 Ikbogo
  • Données Entrée/Sortie
5 Go
  • Bande Passante
Entrée : 128 kb/s
Sortie  : 512 kbs

 

Je vous laisse consulter le site pour le calcul précis des éléments de la franchise :

http://express.ikoula.com/vm

 

A combien vous reviennent vos environnements de développement?

 

Par Hugues MEUNIER - Publié dans : Hardware
Ecrire un commentaire - Voir les 0 commentaires
Mardi 16 novembre 2010 2 16 /11 /Nov /2010 08:07

Les méthodes de gestion de projet agiles permettent d'améliorer la satisfaction des utilisateurs via la mise en place d'itérations qui permettent d'améliorer le produit petit à petit.

 

La méthode scrum s'appuie sur 2 éléments, la création d'un esprit d'équipe au sein du projet et l'auto-organisation de cette dernière suivant un principe très simple : l'implication des membres de l'équipe dans un projet commun.

De plus en plus d'entreprises appliquent ces méthodes à la gestion d'entreprises notamment en impliquant les salariés dans les décisions de l'entreprise jusqu'à un certain partage des bénéfices. La plupart des entreprises ayant  adoptées ces principes ont vu une amélioration de la profitabilité et une diminution de l'absentéisme.

Avant d'aller plus loin dans le raisonnement, revenons un peu à la situation actuelle...

 

L'organisation des entreprises françaises est basée sur des principes de hiérarchisation très forts tirés de l'époque napoléonienne et des fondements de l'entreprise publique. Après les privatisations, de nombreuses entreprises ont gardé les principes de gestion de l'époque publique. Ces principes sont fondés sur une hyper hiérarchisation dans l'organisation (tout le monde étant pratiquement le chef de quelqu'un). Dans les faits, il est tout de même difficile de trouver des responsables et les cycles de validation sont très longs voir interminables.

 

Depuis les années 70 (de l'ancien millénaire), le managérial de l'entreprise française type est le monopole des grandes écoles (ENA, centrale, ...) et des écoles de commerce. Nous avons vu, depuis les années 90, apparaître une foison de chefs de projet informatique venant des écoles de commerce. Ces mêmes écoles ont également envahies le monde de la finance avec les résultats que l'on sait. Les principes de management enseignés dans ces écoles sont basés sur la hiérarchisation des responsabilités (CP, DP, Sponsor ...) et sur une pression croissante sur les équipes projet dans le but d'obtenir le résultat attendu, cette pression étant rythmée par les nombreux livrables demandés par les méthodes de gestion de projet classique.

 

Certains responsables  ont fait fi de cette histoire de l'entreprise française et ont appliqué un certain nombre de principes tirés des méthodes agiles notamment de SCRUM :

·     J'implique mes salariés dans les décisions de l'entreprise (impliquer signifie qu'il y a une action du salarié pour faire avancer son entreprise, par exemple lors d'un vote);

·     Je ne mets pas de pression inutile sur les salariés mais au contraire je favorise créativité, participation active et communication

·     Je définis des plannings et des plans de charge raisonnables avec les salariés

·     J'organise des activités de groupe qui favorise l'auto organisation.

·     Enfin, je fais confiance à mes salariés

Il n'est pas très étonnant de constater que les méthodes fondées sur la confiance, la créativité, l'écoute donnent de meilleurs résultats que les méthodes basées sur l'encadrement et l'hyper pression. Un projet est une micro organisation mais l'application de ces principes sur des organisations plus importantes semble donner des résultats favorables mais l'entreprise française est-elle prête pour cette révolution?

 

 

Par Hugues MEUNIER - Publié dans : General
Ecrire un commentaire - Voir les 0 commentaires
Vendredi 15 octobre 2010 5 15 /10 /Oct /2010 14:22

L'exemple ci-dessous est une méthode qui chiffre une chaîne de caractères avec une clé de 128 bits et un vecteur d'initialisation de 128 bits. L'algorithme de chiffrement est AES 128 bits.

 

/// 
  <summary> 
  /// 
Méthode pour chiffrer une chaîne de caractères 
  /// 
</summary> 
  /// <param name="clearText">Chaîne à chiffrer 
</param> 
  /// <param name="strKey">clé de chiffrement obligatoirement de 16 caractères (128 bits) 
</param> 
  /// <param name="strIv">vecteur d'initialisation de 16 caractères (128 bits) 
</param> 
  /// <returns>une chaîne de caractères chiffrée 
</returns> 
  public static string EncryptString(string clearText, string strKey, string strIv) 
{ 
  // Place le texte à chiffrer dans un tableau d'octets 
  byte[] plainText = Encoding 
.UTF8.GetBytes(clearText); 
// Place la clé de chiffrement dans un tableau d'octets 
byte[] key = Encoding.UTF8.GetBytes(strKey); 
// Place le vecteur d'initialisation dans un tableau d'octets 
byte[] iv = Encoding.UTF8.GetBytes(strIv); 
RijndaelManaged rijndael = new RijndaelManaged(); 
  
// Définit le mode utilisé 
rijndael.Mode = CipherMode.CBC; 
// Crée le chiffreur AES - Rijndael 
ICryptoTransform 
aesEncryptor = rijndael.CreateEncryptor(key, iv); 
MemoryStream ms = new MemoryStream(); 
// Ecris les données chiffrées dans le MemoryStream 
CryptoStream cs = new CryptoStream(ms, aesEncryptor, CryptoStreamMode 
.Write); 
cs.Write(plainText, 0, plainText.Length); 
cs.FlushFinalBlock(); 
// Place les données chiffrées dans un tableau d'octet 
byte[] CipherBytes = ms.ToArray(); 
ms.Close(); 
cs.Close(); 
  
// Place les données chiffrées dans une chaine encodée en Base64 
return Convert.ToBase64String(CipherBytes); 
} 
Par Hugues MEUNIER - Publié dans : .NET
Ecrire un commentaire - Voir les 0 commentaires
Mercredi 1 septembre 2010 3 01 /09 /Sep /2010 13:53

Sans aucun doute, l'une des technologies importantes apportées par .NET 4 et VS 2010 est MEF.

Shivprasad koirala nous présente simplement le framework MEF et ses différences avec l'IOC dans l'article suivant :

http://www.codeproject.com/KB/aspnet/DOTNETMEF4_0.aspx

Par Hugues MEUNIER - Publié dans : .NET
Ecrire un commentaire - Voir les 0 commentaires

Recherche

Présentation

Syndication

  • Flux RSS des articles

Calendrier

Février 2012
L M M J V S D
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        
<< < > >>

Créer un Blog

Recommander

 
Créer un blog gratuit sur over-blog.com - Contact - C.G.U. - Signaler un abus - Articles les plus commentés