<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-6600058157523930715</id><updated>2009-12-18T10:13:35.024-08:00</updated><title type='text'>Formation, formations</title><subtitle type='html'>Le portail de la formation et de la documentation des outils de développement pour les webmasters.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lesformations.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-3222904811543784740</id><published>2008-01-23T04:43:00.000-08:00</published><updated>2008-01-23T04:47:12.752-08:00</updated><title type='text'>Le président Sarkozy veut taxer Internet</title><content type='html'>&lt;p align="justify"&gt;Edition du 14/01/2008 - par Miléna Nemec-Poncik&lt;/p&gt;&lt;p align="justify"&gt;Lors de sa dernière conférence de presse, datée du 8 janvier dernier, le président de la République Nicolas Sarkozy a évoqué une possible suppression de la publicité sur les chaînes publiques afin de « libérer le service public de critères purement mercantiles » au profit de la qualité. Or la publicité rapporte à ces chaîne 800 M€ chaque année. Pour combler cet énorme manque à gagner (la redevance audiovisuelle ne serait pas suffisante), le président a proposé d'instaurer « une taxe infinitésimale sur le chiffre d'affaires des nouveaux moyens de communication comme la téléphonie mobile et l'accès à Internet ainsi qu'une taxe sur les recettes publicitaires accrues des chaînes privées ». Ce projet de loi reste encore très vague, nul ne sait comment cette taxe s'appliquerait, sur quelle base elle serait calculée, ni quelles répercussions elle aurait sur les abonnés. &lt;/p&gt;&lt;p align="justify"&gt;Pour rappel, un projet de « modernisation de la diffusion audiovisuelle et de la télévision du futur » avait déjà été étudié par l'Assemblée nationale l'année dernière. Ce projet envisageait de taxer les fournisseurs d'accès Internet (jusqu'à 4,5% de leur chiffre d'affaires) pour cofinancer le Cosip (compte de soutien de l'industrie des programmes audiovisuels) . Cette proposition avait été très mal accueillie par les FAI, notamment Free qui craignait que cette mesure ait un impact économique sur les internautes. Le projet avait finalement été abandonné par le Sénat. &lt;/p&gt;&lt;p align="justify"&gt;Ni Free ni l'AFA (association des fournisseurs d'accès et de services Internet) n'ont souhaité commenter cette annonce, estimant « ne pas connaître les modalités exactes de cette mesure». &lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-size:85%;"&gt;Source : &lt;a href="http://www.lemondei%20nformatique.%20fr/actualites/%20lire-le-presiden%20t-sarkozy-%20veut-taxer-%20internet-%2025057.html"&gt;lemondeinformatique.fr&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-3222904811543784740?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3222904811543784740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3222904811543784740'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2008/01/le-prsident-sarkozy-veut-taxer-internet.html' title='Le président Sarkozy veut taxer Internet'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-1203725464362347909</id><published>2008-01-15T07:17:00.000-08:00</published><updated>2008-01-15T07:18:29.247-08:00</updated><title type='text'>Annuaires : Google pourrait s'emparer de Yell</title><content type='html'>&lt;div align="justify"&gt;Le spécialistes anglais des pages jaunes est néanmoins un gros morceau, sa capitalisation atteint 3,2 milliards d'euros.&lt;/div&gt;&lt;div align="justify"&gt;Encore une fois, la rumeur insistante de rachat de Yell par Google refait surface. Yell est le spécialiste anglais des annuaires professionnels, son chiffre d'affaires a atteint 2 milliards de livres en 2007.&lt;br /&gt;Les deux entreprises se connaissent bien. En 2005, Google et Yell signaient un partenariat qui permettait aux internautes anglais d'utiliser le moteur américain lorsqu'ils effectuent des recherches locales en ligne. Concrètement, le service de localisation de Google est associé aux recherches sur l'annuaire de Yell. Pour ce faire, Google a accès aux deux millions d'adresses professionnelles anglaises de Yell.&lt;br /&gt;Un tel rachat aurait du sens pour Google qui cherche à diversifier ses sources de revenus. Surtout, Yell est un acteur mondial. En 2006, il s'offre TPI, les annuaires de Telefonica qui lui ouvrent les portes de l'Espagne et de l'Amérique Latine. L'éditeur britannique est également premier éditeur indépendant d'annuaires aux États-Unis.&lt;br /&gt;Mais Yell est un gros morceau. Sa capitalisation boursière atteint 3,22 milliards d'euros, son résultat net dépasse les 210 millions de livres en 2007.&lt;/div&gt;&lt;br /&gt;Source : &lt;a href="http://www.silicon.fr/fr/news/2008/01/14/annuaires___google_pourrait_s_emparer_de_yell"&gt;silicon.fr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-1203725464362347909?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/1203725464362347909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/1203725464362347909'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2008/01/annuaires-google-pourrait-semparer-de.html' title='Annuaires : Google pourrait s&apos;emparer de Yell'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-1392242545645434465</id><published>2008-01-14T13:49:00.000-08:00</published><updated>2008-01-14T14:19:51.025-08:00</updated><title type='text'>Google et ses amis, Dmoz et Wikipedia</title><content type='html'>&lt;div align="justify"&gt;Pour faire suite à la chronique du mois précédent et revenir sur l'importance du contenu éditorial au niveau de votre site, voici un nouvel argument donné indirectement par Google lui-même. Depuis son lancement, Google se base sur l'annuaire Open Directory (Dmoz). Il a même, pendant de longues années, proposé une version de cet annuaire à sa propre sauce, c'est-à-dire avec une présentation personnalisée. Aujourd'hui, Google a coupé tous les ponts avec Dmoz... En effet, c'est un annuaire et comme tous les annuaires, c'est un intermédiaire inutile entre les internautes recherchant des informations et Google, fournisseur de liens vers les sites d'information. Par contre, aujourd'hui, il y a un autre site qui est bien mis en avant sur Google, c'est.... vous ne voyez pas qui cela peut être ? et bien, c'est Wikipedia. En effet, quelle que soit votre recherche, Wikipedia se retrouve en première position (ou si c'est une requête très concurrentielle, dans les premières positions). Ces premières places ressemblent beaucoup à celles qu'occupaient certains annuaires dans les résultats de Google jusque mi-2007. La seule différence, et elle est de taille, c'est qu'un annuaire n'apporte rien pour l'internaute au niveau information sauf des liens vers d'autres sites, alors que Wikipedia est lui une encyclopédie en ligne et toutes les pages présentes sur Google sont des pages riches d'informations. Après, comment Wikipedia gère son business est une autre histoire et ne m'intèresse pas du tout... tout au moins ici. Google est conscient de la valeur ajoutée de Wikipedia et, de la même manière qu'il s'est appuyé en son temps sur Dmoz, aujourd'hui, il s'appuie sur Wikipedia. Mais, combien de temps cela va-t-il durer ? En effet, Google est en train de lancer une plateforme Google Knol (Knol pour "knowledge" qui veut dire "connaissance" en anglais) qui a pour objectif de remplacer Wikipedia... et ainsi, permettre d'éjecter Wikipedia des premières positions occupées sur les pages de résultats de Google. D'ailleurs, il est à noter qu'ils n'en sont pas dupes chez Wikipedia et qu'ils sont bien conscients que 80% (chiffre fantaisiste avancé par moi-même mais qui ne doit pas être loin de la vérité) de leur trafic vient de Google... ils sont donc en train de préparer la relève en créant eux-mêmes leur propre moteur de recherche. Maintenant, est-ce que Google va arriver à faire aussi bien que Wikipedia et Wikipedia à remplacer Google... ce sont les surprises des années 2008-2009. Je vous souhaite à toutes et tous une Bonne Année 2008. &lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Source : &lt;/span&gt;&lt;a href="http://www.moteurzine.com/"&gt;&lt;span style="font-size:85%;"&gt;Moteurzine&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-1392242545645434465?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/1392242545645434465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/1392242545645434465'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2008/01/google-et-ses-amis-dmoz-et-wikipedia_14.html' title='Google et ses amis, Dmoz et Wikipedia'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-3302738226604039009</id><published>2008-01-02T05:51:00.000-08:00</published><updated>2008-01-15T07:23:30.875-08:00</updated><title type='text'>Architecture Active Directory</title><content type='html'>&lt;div align="justify"&gt;Architecture Active Directory&lt;br /&gt;Résumé Introduction&lt;br /&gt;Avantages offerts par Active Directory&lt;br /&gt;Service d'annuaire Active Directory&lt;br /&gt;Intégration de DNS dans Active Directory&lt;br /&gt;DNS et Internet&lt;br /&gt;Intégration des espaces de noms DNS et Active Directory&lt;br /&gt;Active Directory et l'espace de noms DNS global&lt;br /&gt;Enregistrements de ressources SRV et mises à jour dynamiques&lt;br /&gt;Création de contrôleurs de domaine à l'aide de Active Directory&lt;br /&gt;Catalogue global Rôles de maître d'opérations&lt;br /&gt;&lt;br /&gt;voir : &lt;a href="http://www.microsoft.com/france/technet/produits/win2000s/adarch.mspx#EO"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-3302738226604039009?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3302738226604039009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3302738226604039009'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2008/01/architecture-active-directory.html' title='Architecture Active Directory'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-3293658109548152586</id><published>2008-01-02T05:13:00.001-08:00</published><updated>2008-01-15T07:23:10.785-08:00</updated><title type='text'>Le ciblage comportemental</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://www.moteurzine.com/147-le_ciblage_comportemental.html"&gt;Réseaux sociaux et publicité par Ciblage Comportemental&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Facebook a défrayé la chronique dernièrement en annonçant la commercialisation du profil de ses membres à des annonceurs via « Beacon », sa solution de publicité par ciblage comportemental. De belles rumeurs couraient depuis août dernier, mais l’annonce officielle est intervenue fin octobre. Simultanément, Microsoft annonçait devenir la régie publicitaire exclusive de Facebook, en échange d’une prise de participation à son capital, permettant de valoriser Facebook à plus de 15 milliards de dollars.&lt;br /&gt;&lt;br /&gt;Myspace n’a mis que dix jours à réagir en annonçant à son tour sa solution de ciblage comportemental qui porte le nom de « HyperTargeting ». Certes, compte tenu de son lancement rapide, les fonctionnalités de la version 1 sont limitées. Cependant, les annonceurs en test ont vu une amélioration des performances de leur publicité de plus de 300%.&lt;br /&gt;&lt;br /&gt;Dix jours plus tard, Google annonçait son concept « Open Social ». Une partie des standards définis dans ce concept concerne la publicité. Dix jours plus tard, le réseau social Xing annonçait l’arrivée imminente de sa solution publicitaire. Cela bouge vite dans l’univers des réseaux sociaux et de la publicité, le nerf de guerre, l’unique moyen pour eux de faire du chiffre d’affaires.&lt;br /&gt;&lt;br /&gt;Dans l’absolu, le système initial de Facebook permettait a un candidat conservateur aux élections présidentielles américaines, d’envoyer un message publicitaire spécifique aux membres de Facebook ayant déclaré être démocrates, homosexuels et d’origine ethnique latino-américaine... Un message publicitaire différent pouvait être envoyé aux membres de Facebook ayant plus de deux enfants, passionnés de sport et d’économie. Le top du top en matière de ciblage publicitaire, surtout juste avant les campagnes électorales aux USA.&lt;br /&gt;&lt;br /&gt;Mais, en Europe, les lois sont différentes et les notions de respect de la vie privée plus sensibles, surtout quand on parle politique, préférence sexuelle ou origine raciale. D’où la levée de boucliers obligeant le fondateur de Facebook à des excuses publiques et à apporter des modifications à sa solution.&lt;br /&gt;&lt;br /&gt;Pour l’expert en ciblage comportemental, le problème de ces réseaux sociaux est que leur ciblage n’est basé que sur des données déclaratives. Or l’objet même de ces réseaux sociaux est de donner à leurs membres l’occasion de s’amuser et de délirer. Alors les informations déclarées par les membres sont-elles vraies?&lt;br /&gt;&lt;br /&gt;Pour rester dans du classique, vous pensez que les femmes déclarent leur âge réel? Des hommes ne s’amuseraient-ils pas à se faire passer pour des femmes dans ces réseaux sociaux? Un étudiant qui aura déclaré gagner plus de $100000 par an pour rigoler et épater les copines recevra-t-il des publicités pour des vols en première classe et des hôtels 5 étoiles alors que pour ses congés il prend un billet jeune SNCF et fait du camping.&lt;br /&gt;&lt;br /&gt;L’annonceur verra-t-il un retour sur investissement de sa campagne publicitaire? Son image sera-t-elle brouillée face à ce public non intéressé?&lt;br /&gt;&lt;br /&gt;Le vrai ciblage comportemental doit mixer les méthodologies de profiling des internautes. Les données déclaratives doivent être vérifiées par des données de surf, de search, des clics sur bannières publicitaires, les statistiques d’outils d’analyses d’audience, celles des panels, des questionnaires envoyés aux internautes, .... Le vrai ciblage comportemental se fait avec des algorithmes complexes, pas avec une solution simpliste à base de données déclaratives.&lt;br /&gt;&lt;br /&gt;Si vous aussi, vous jouez avec les réseaux sociaux, retrouvez-moi sur Facebook sous mon vrai nom (Alain Sanjaume). Mais je ne vous promets pas que toutes mes données déclarées soient exactes...&lt;br /&gt;&lt;br /&gt;source &lt;a href="http://www.moteurzine.com/"&gt;moteurezine&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-3293658109548152586?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3293658109548152586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3293658109548152586'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2008/01/le-ciblage-comportemental.html' title='Le ciblage comportemental'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-2976640315381090409</id><published>2008-01-02T05:13:00.000-08:00</published><updated>2008-01-15T07:21:07.610-08:00</updated><title type='text'>Le ciblage comportemental</title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://www.moteurzine.com/147-le_ciblage_comportemental.html"&gt;Réseaux sociaux et publicité par Ciblage Comportemental&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Facebook a défrayé la chronique dernièrement en annonçant la commercialisation du profil de ses membres à des annonceurs via « Beacon », sa solution de publicité par ciblage comportemental. De belles rumeurs couraient depuis août dernier, mais l’annonce officielle est intervenue fin octobre. Simultanément, Microsoft annonçait devenir la régie publicitaire exclusive de Facebook, en échange d’une prise de participation à son capital, permettant de valoriser Facebook à plus de 15 milliards de dollars.&lt;br /&gt;&lt;br /&gt;Myspace n’a mis que dix jours à réagir en annonçant à son tour sa solution de ciblage comportemental qui porte le nom de « HyperTargeting ». Certes, compte tenu de son lancement rapide, les fonctionnalités de la version 1 sont limitées. Cependant, les annonceurs en test ont vu une amélioration des performances de leur publicité de plus de 300%.&lt;br /&gt;&lt;br /&gt;Dix jours plus tard, Google annonçait son concept « Open Social ». Une partie des standards définis dans ce concept concerne la publicité. Dix jours plus tard, le réseau social Xing annonçait l’arrivée imminente de sa solution publicitaire. Cela bouge vite dans l’univers des réseaux sociaux et de la publicité, le nerf de guerre, l’unique moyen pour eux de faire du chiffre d’affaires.&lt;br /&gt;&lt;br /&gt;Dans l’absolu, le système initial de Facebook permettait a un candidat conservateur aux élections présidentielles américaines, d’envoyer un message publicitaire spécifique aux membres de Facebook ayant déclaré être démocrates, homosexuels et d’origine ethnique latino-américaine... Un message publicitaire différent pouvait être envoyé aux membres de Facebook ayant plus de deux enfants, passionnés de sport et d’économie. Le top du top en matière de ciblage publicitaire, surtout juste avant les campagnes électorales aux USA.&lt;br /&gt;&lt;br /&gt;Mais, en Europe, les lois sont différentes et les notions de respect de la vie privée plus sensibles, surtout quand on parle politique, préférence sexuelle ou origine raciale. D’où la levée de boucliers obligeant le fondateur de Facebook à des excuses publiques et à apporter des modifications à sa solution.&lt;br /&gt;&lt;br /&gt;Pour l’expert en ciblage comportemental, le problème de ces réseaux sociaux est que leur ciblage n’est basé que sur des données déclaratives. Or l’objet même de ces réseaux sociaux est de donner à leurs membres l’occasion de s’amuser et de délirer. Alors les informations déclarées par les membres sont-elles vraies?&lt;br /&gt;&lt;br /&gt;Pour rester dans du classique, vous pensez que les femmes déclarent leur âge réel? Des hommes ne s’amuseraient-ils pas à se faire passer pour des femmes dans ces réseaux sociaux? Un étudiant qui aura déclaré gagner plus de $100000 par an pour rigoler et épater les copines recevra-t-il des publicités pour des vols en première classe et des hôtels 5 étoiles alors que pour ses congés il prend un billet jeune SNCF et fait du camping.&lt;br /&gt;&lt;br /&gt;L’annonceur verra-t-il un retour sur investissement de sa campagne publicitaire? Son image sera-t-elle brouillée face à ce public non intéressé?&lt;br /&gt;&lt;br /&gt;Le vrai ciblage comportemental doit mixer les méthodologies de profiling des internautes. Les données déclaratives doivent être vérifiées par des données de surf, de search, des clics sur bannières publicitaires, les statistiques d’outils d’analyses d’audience, celles des panels, des questionnaires envoyés aux internautes, .... Le vrai ciblage comportemental se fait avec des algorithmes complexes, pas avec une solution simpliste à base de données déclaratives.&lt;br /&gt;&lt;br /&gt;Si vous aussi, vous jouez avec les réseaux sociaux, retrouvez-moi sur Facebook sous mon vrai nom (Alain Sanjaume). Mais je ne vous promets pas que toutes mes données déclarées soient exactes...&lt;br /&gt;&lt;br /&gt;source &lt;a href="http://www.moteurzine.com/"&gt;moteurezine&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-2976640315381090409?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/2976640315381090409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/2976640315381090409'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2008/01/le-ciblage-comportemental_02.html' title='Le ciblage comportemental'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-3728918033487847684</id><published>2008-01-02T05:10:00.000-08:00</published><updated>2008-01-15T07:23:51.250-08:00</updated><title type='text'>Google et ses amis, Dmoz et Wikipedia</title><content type='html'>&lt;div align="justify"&gt;Pour faire suite à la chronique du mois précédent et revenir sur l'importance du contenu éditorial au niveau de votre site, voici un nouvel argument donné indirectement par Google lui-même.&lt;br /&gt;&lt;br /&gt;Depuis son lancement, Google se base sur l'annuaire Open Directory (Dmoz). Il a même, pendant de longues années, proposé une version de cet annuaire à sa propre sauce, c'est-à-dire avec une présentation personnalisée. Aujourd'hui, Google a coupé tous les ponts avec Dmoz... En effet, c'est un annuaire et comme tous les annuaires, c'est un intermédiaire inutile entre les internautes recherchant des informations et Google, fournisseur de liens vers les sites d'information.&lt;br /&gt;&lt;br /&gt;Par contre, aujourd'hui, il y a un autre site qui est bien mis en avant sur Google, c'est.... vous ne voyez pas qui cela peut être ? et bien, c'est Wikipedia. En effet, quelle que soit votre recherche, Wikipedia se retrouve en première position (ou si c'est une requête très concurrentielle, dans les premières positions). Ces premières places ressemblent beaucoup à celles qu'occupaient certains annuaires dans les résultats de Google jusque mi-2007. La seule différence, et elle est de taille, c'est qu'un annuaire n'apporte rien pour l'internaute au niveau information sauf des liens vers d'autres sites, alors que Wikipedia est lui une encyclopédie en ligne et toutes les pages présentes sur Google sont des pages riches d'informations. Après, comment Wikipedia gère son business est une autre histoire et ne m'intèresse pas du tout... tout au moins ici.&lt;br /&gt;&lt;br /&gt;Google est conscient de la valeur ajoutée de Wikipedia et, de la même manière qu'il s'est appuyé en son temps sur Dmoz, aujourd'hui, il s'appuie sur Wikipedia. Mais, combien de temps cela va-t-il durer ? En effet, Google est en train de lancer une plateforme Google Knol (Knol pour "knowledge" qui veut dire "connaissance" en anglais) qui a pour objectif de remplacer Wikipedia... et ainsi, permettre d'éjecter Wikipedia des premières positions occupées sur les pages de résultats de Google.&lt;br /&gt;&lt;br /&gt;D'ailleurs, il est à noter qu'ils n'en sont pas dupes chez Wikipedia et qu'ils sont bien conscients que 80% (chiffre fantaisiste avancé par moi-même mais qui ne doit pas être loin de la vérité) de leur trafic vient de Google... ils sont donc en train de préparer la relève en créant eux-mêmes leur propre moteur de recherche.&lt;br /&gt;&lt;br /&gt;Maintenant, est-ce que Google va arriver à faire aussi bien que Wikipedia et Wikipedia à remplacer Google... ce sont les surprises des années 2008-2009.&lt;br /&gt;&lt;br /&gt;Je vous souhaite à toutes et tous une Bonne Année 2008.&lt;br /&gt;&lt;br /&gt;source : &lt;a href="http://www.moteurzine.com/"&gt;moteurzine&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-3728918033487847684?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3728918033487847684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/3728918033487847684'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2008/01/google-et-ses-amis-dmoz-et-wikipedia.html' title='Google et ses amis, Dmoz et Wikipedia'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-1267027910902575636</id><published>2007-12-10T13:34:00.000-08:00</published><updated>2007-12-10T13:38:45.368-08:00</updated><title type='text'>Surcharger une méthode d'extension</title><content type='html'>&lt;a name="1.section"&gt;&lt;strong&gt;Les surcharges de méthodes d'extension&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="1.section1.subsection"&gt;&lt;strong&gt;Préambule&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;L'article a nécessité une correction post-publication le 2 décembre. Il m'a paru important de conserver le contenu initial de ce dernier par transparence vis-à-vis des premiers lecteurs mais aussi parce que l'erreur commise a un intérêt pédagogique. Un chapitre « Mise à jour » a donc été ajouté en fin d'article, le reste n'ayant pas été modifié.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="1.section2.subsection"&gt;Rappel sur les méthodes d'extension&lt;/a&gt;&lt;br /&gt;Pour définir une méthode d'extension, il suffit de créer une classe statique. Ensuite, le premier paramètre de chaque méthode sera « balisé » par le mot clé « this » afin de désigner le type de l'objet que l'on souhaite « étendre ».Prenons un exemple. Soit un objet « Personne » ayant pour propriétés : un prénom, un nom et un âge.&lt;br /&gt;public class Personne&lt;br /&gt;{&lt;br /&gt;    public string Nom { get; set; }&lt;br /&gt;    public string Prenom { get; set; }&lt;br /&gt;    public int Age { get; set; }&lt;br /&gt;}Si vos objets sont alimentés par différentes sources, vous vous apercevrez que le nom est parfois en majuscule, parfois en minuscule, ce qui vous posera problème par exemple pour écrire de façon standard un courrier sous Word.&lt;br /&gt;List&lt;personne&gt; personnes = new List&lt;personne&gt;();&lt;br /&gt;personnes.Add(new Personne(){Nom="DURAND",Prenom="Cyril",Age=21});&lt;br /&gt;personnes.Add(new Personne() { Nom = "Kempé", Prenom = "Laurent", Age = 36 });&lt;br /&gt;personnes.Add(new Personne() { Nom = "MELANTOIS", Prenom = "Frédéric", Age = 38 });&lt;br /&gt;personnes.Add(new Personne() { Nom = "Perfetti", Prenom = "Michel", Age = 30 });Pour nos documents, nous aimerions bien avoir une méthode « PrenomNom ()» dans la classe « Personne », permettant d'avoir le prénom puis le nom en majuscules. Mais dans bien des cas, vous n'aurez pas la possibilité de réécrire cette classe. Les méthodes d'extension viennent alors à notre secours :&lt;br /&gt;namespace EspaceDeNom1&lt;br /&gt;{&lt;br /&gt;    public static class ExtensionPersonne&lt;br /&gt;    {&lt;br /&gt;        //prénom + Nom en majuscule&lt;br /&gt;        //[//System.Runtime.CompilerServices.Extension]&lt;br /&gt;        public static string PrenomNom(this Personne p)&lt;br /&gt;        {&lt;br /&gt;            StringBuilder s = new StringBuilder(p.Prenom);&lt;br /&gt;            s.Append(" ");&lt;br /&gt;            s.Append(p.Nom.ToUpper());&lt;br /&gt;            return s.ToString();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}Veuillez noter que le compilateur C# refuse l'utilisation de l'attribut « System.Runtime.CompilerServices.ExtensionAttribute » contrairement à Visual Basic. La seule façon de créer une méthode d'extension est d'ajouter le mot clé « this ». Sous le capot, comme nous avons pu le voir dans un &lt;a class="articleLink" href="http://www.techheadbrothers.com/Articles.aspx/comprendre-bases-linq-to-objects"&gt;précédent article&lt;/a&gt;, le « this » est retranscrit en attribut sur la classe et la méthode statique au niveau de l'IL (Intermediate Language).Le compilateur permet un usage aisé de la méthode :&lt;br /&gt;foreach (string identite in from p in personnes select p.PrenomNom())&lt;br /&gt;{&lt;br /&gt;    Console.WriteLine(identite);&lt;br /&gt;}Ce qui nous donne le résultat suivant :&lt;br /&gt; &lt;br /&gt;  Nous pouvons constater qu'un des noms comporte une majuscule avec accent, ce qui ne nous convient pas. Imaginons que nous ne sommes pas en possession des sources de la méthode d'extension ou que celle-ci se trouve dans une assembly déjà déployée. Nous avons très largement employé la méthode d'extension « PrenomNom() » un peu partout dans notre projet. Celle-ci satisfait nombre de vos collègues mais pas vous dans votre propre utilisation. Vous pouvez alors soit modifier son utilisation par un remplacement systématique par une autre méthode soit « surcharger » la méthode d'extension. Cette dernière solution est bien évidemment bien moins lourde !&lt;br /&gt;&lt;a name="1.section3.subsection"&gt;Surcharger une méthode d'extension&lt;/a&gt;&lt;br /&gt;La surcharge d'une méthode d'extension est possible sous certaines conditions. Celle-ci doit se trouver dans la même assembly et le même espace de nom que l'appel à la méthode d'extension. Si ces conditions ne sont pas remplies, le compilateur renverra une erreur signifiant un appel ambigu de méthodes d'extension. Ecrivons rapidement une méthode d'extension (la performance extrême dans les exemples n'est pas l'objet de l'article)&lt;br /&gt;public static class ExtensionPersonne&lt;br /&gt;{&lt;br /&gt;    internal static string UpperToStandardUpper(this string chaine)&lt;br /&gt;    {&lt;br /&gt;        string accent =    "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜ";&lt;br /&gt;        string sansAccent = "AAAAAACEEEEIIIINOOOOOOUUUU";&lt;br /&gt;        char[] tableauSansAccent = sansAccent.ToCharArray();&lt;br /&gt;        char[] tableauAccent = accent.ToCharArray();&lt;br /&gt;        for (int i = 0; i &lt; accent.Length; i++)&lt;br /&gt;        {&lt;br /&gt;            chaine = chaine.Replace(tableauAccent[i].ToString(), tableauSansAccent[i].ToString());&lt;br /&gt;        }&lt;br /&gt;        return chaine;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static string PrenomNom(this Personne p)&lt;br /&gt;    {&lt;br /&gt;        StringBuilder s = new StringBuilder(p.Prenom);&lt;br /&gt;        s.Append(" ");&lt;br /&gt;        s.Append(p.Nom.ToUpper().UpperToStandardUpper());&lt;br /&gt;        return s.ToString();&lt;br /&gt;    }&lt;br /&gt;}Si nous ajoutons ce code dans le même espace de nom que l'appel, une surcharge de méthode d'extension s'opère. De sorte que la requête suivante :&lt;br /&gt;foreach (string identite in from p in personnes select p.PrenomNom())&lt;br /&gt;{&lt;br /&gt;    Console.WriteLine(identite);&lt;br /&gt;}renvoie :&lt;br /&gt; &lt;br /&gt;  Nous venons de réaliser avec succès une surcharge de méthode d'extension. Cet aspect nous apparaît bien pratique. Toutefois, sachez que bien évidemment vous pouvez passer outre par l'invocation direct des méthodes :&lt;br /&gt;foreach (string identite in from p in personnes select EspaceDeNom1.ExtensionPersonne.PrenomNom(p))&lt;br /&gt;    ou&lt;br /&gt;foreach (string identite in from p in personnes select ConsoleApplication1.ExtensionPersonne.PrenomNom(p))&lt;br /&gt;&lt;a name="1.section4.subsection"&gt;Résoudre les éventuels conflits&lt;/a&gt;&lt;br /&gt;Les méthodes d'extension sont très séduisantes mais peuvent générer des conflits. En effet, il suffit d'utiliser deux espaces de noms différents comportant une signature de méthode d'extension identique. C'est alors que le compilateur génère une erreur d'appel ambigu de méthodes d'extension. Comment éviter au maximum ces conflits ? Comme le suggère la documentation MSDN, il faut rassembler ses méthodes d'extension sous un même espace de nom bien évocateur : « Extensions ». Si ceci est une bonne pratique, car elle permet de localiser très rapidement l'ensemble de vos méthodes d'extension, cela n'évitera pas les conflits si un éditeur de logiciel a créé une même signature que vous. Une solution peut être de préfixer chacun de vos noms de méthode d'extension. C'est à vous de bien penser au nom que vous allez donner à votre méthode. Il existe une solution pour limiter l'impact de vos méthodes d'extension, c'est de changer la portée de « public » à « internal ». Nous l'avons vu dans un précédent exemple avec la méthode « UpperToStandardUpper ». Sa portée est donc limitée à l'assembly de sorte que les utilisateurs de cette dernière n'ont pas accès à cette méthode et n'auront donc pas de conflit. C'est une pratique à généraliser dès les premières heures d'utilisation de c# 3.0 ou de Visual Basic 9&lt;br /&gt;&lt;a name="1.section5.subsection"&gt;Un exemple de surcharge de méthodes d'extension de Linq&lt;/a&gt;&lt;br /&gt;Dans certains cas, il peut être intéressant de surcharger une méthode d'extension. Si vous lisez cet article, vous avez sans doute déjà utilisé Linq et en particulier Linq to SQL. Pour ceux d'entre vous qui l'utiliseront, se posera une problématique concernant la couche d'accès aux données que vous aurez construite. En effet, si nous proposons une méthode renvoyant un IEnumerable&lt;t&gt; dans notre DAL&lt;br /&gt;public IEnumerable&lt;personne&gt; GetPersonnes()&lt;br /&gt;{&lt;br /&gt;    DataClasses1DataContext t = new DataClasses1DataContext(_myDatabaseConnectionString);&lt;br /&gt;    var c = from h in t.PERSONNEs select h;&lt;br /&gt;    return c;&lt;br /&gt;}Vous ne pourrez empêcher personne d'écrire dans la couche de présentation ceci :&lt;br /&gt;IQueryable&lt;personne&gt; q = (IQueryable&lt;personne&gt;) MyDAL.GetPersonnes();&lt;br /&gt;var r = from s in q where s.Personne_Age &gt; 30 select s;ce qui aura pour incidence de créer un nouvel accès à la base de données par l'usage du IQueryable. Pour éviter, cette problématique, il faut que notre couche d'accès ne renvoie que des IEnumerable aucunement IQueryable. Nous pouvons réitérer de manière à ne plus avoir d'IQueryable de la façon suivante :&lt;br /&gt;public IEnumerable&lt;personne&gt; GetPersonnes()&lt;br /&gt;{&lt;br /&gt;    DataClasses1DataContext t = new DataClasses1DataContext(_myDatabaseConnectionString);&lt;br /&gt;    var c = from h in t.PERSONNEs select h;&lt;br /&gt;    return from i in c.AsEnumerable() select i;&lt;br /&gt;}Mais si nous devons appliquer ces changements à chaque méthode de notre couche d'accès, ce travail devient fastidieux et nous risquons d'en oublier. La surcharge de méthodes d'extension peut venir à notre secours dans ce cas, en surchargeant la méthode d'extension « Select » de Linq To Objects. Voici le code de la surcharge :&lt;br /&gt;internal static class ExtensionLinq&lt;br /&gt;{&lt;br /&gt;    internal static IEnumerable&lt;tresult&gt; Select&lt;tsource,&gt;(this IEnumerable&lt;tsource&gt; source,&lt;br /&gt;   Func&lt;tsource,&gt; selector)&lt;br /&gt;    {&lt;br /&gt;        IEnumerable&lt;tsource&gt; sourceEnum = source;&lt;br /&gt;        foreach (TSource s in sourceEnum)&lt;br /&gt;            yield return selector.Invoke(s);&lt;br /&gt;    }&lt;br /&gt;}Cette surcharge permet de ne plus avoir à ce soucier dans la couche de présentation des manipulations telles que :&lt;br /&gt;IQueryable&lt;personne&gt; q = (IQueryable&lt;personne&gt;) MyDAL.GetPersonnes();&lt;br /&gt;var r = from s in q where s.Personne_Age &gt; 30 select s;Elles deviennent impossibles. De sorte, que les requêtes Linq en couche de présentation ne se font qu'en mémoire. Vous aurez remarqué que j'ai pris soin d'écrire ma surcharge avec la portée « internal » de sorte qu'il n'y ait pas d'erreur d'appel ambigu de méthodes d'extension dans ma couche de présentation en faisant usage de Linq.&lt;br /&gt;&lt;a name="1.section6.subsection"&gt;Mise à jour du 2 décembre&lt;/a&gt;&lt;br /&gt;Je tiens vivement à remercier Flavien pour m'avoir notifié une ligne de code inutile. En ont découlé des discussions très instructives avec Flavien CHARLON et Matthieu MEZIL qui m'ont amené à retester différents cas de figure et à montrer que la surcharge du « Select » pour « Linq To SQL » n'était pas une solution satisfaisante.Rappelons le code proposé :&lt;br /&gt;internal static class ExtensionLinq&lt;br /&gt;{&lt;br /&gt;    internal static IEnumerable&lt;tresult&gt; Select&lt;tsource,&gt;(this IEnumerable&lt;tsource&gt; source,&lt;br /&gt;   Func&lt;tsource,&gt; selector)&lt;br /&gt;    {&lt;br /&gt;        IEnumerable&lt;tsource&gt; sourceEnum = source;&lt;br /&gt;        foreach (TSource s in sourceEnum)&lt;br /&gt;            yield return selector.Invoke(s);&lt;br /&gt;    }&lt;br /&gt;}la ligne « IEnumerable&lt;tsource&gt; sourceEnum = source; » est complètement inutile car le « yield return » fabrique sous le capot un objet privé implémentant IEnumerable&lt;t&gt; et non IQueryable&lt;t&gt;. Voici le code que j'aurai dû écrire :&lt;br /&gt; internal static IEnumerable&lt;tresult&gt; Select&lt;tsource,&gt;(this IEnumerable&lt;tsource&gt; source,&lt;br /&gt;Func&lt;tsource,&gt; selector)&lt;br /&gt; {&lt;br /&gt;    foreach (TSource s in source)&lt;br /&gt;        yield return selector.Invoke(s);&lt;br /&gt; }On pourrait être satisfait mais le Select ne fonctionne pas comme on le souhaiterait. En effet, si au lieu de renvoyer toutes les colonnes de la table Personne, nous sélectionnons uniquement le nom par exemple :&lt;br /&gt;var c = from h in dt.PERSONNEs where h.Personne_Age &gt; 30 select h.Personne_Nom;La requête effectuée vers la base de donnée renverra toutes les colonnes avant que n'opère le « Select » que nous avons écrit. Cette solution n'est donc pas satisfaisante. Si l'on souhaite que la base de données ne renvoie que les colonnes que l'on a réellement besoin, il faut faire appel à la méthode d'extension « Select » de « System.Linq.Queryable » :&lt;br /&gt;internal static IEnumerable&lt;tresult&gt; Select&lt;tsource,&gt;(this IQueryable&lt;tsource&gt; source,&lt;br /&gt;    System.Linq.Expressions.Expression &lt;br /&gt;{&lt;br /&gt;    IQueryable iq = Queryable.Select(source, selector);&lt;br /&gt;    foreach (TResult s in iq)&lt;br /&gt;        yield return s;&lt;br /&gt;}Si vous utilisez le Debugger ou le système de log du « DataContext », vous pourrez constater que cette surcharge répond désormais à notre exigence.Toutefois, les discutions avec mes camarades m'ont amené à effectuer de nombreux tests. J'ai alors pu constater que cette surcharge ne fonctionnait pas dans certains cas. Par exemple, si vous écrivez une requête du style « select * from matable where condition », le compilateur ne génèrera que « Table&lt;matable&gt;.Where(condition) » car le « Select » est inutile car toutes les colonnes sont demandées. On peut donc se féliciter d'un tel comportement pour ce qui est de la performance. Mais, la surcharge que je vous propose, ne fonctionne donc pas dans tous les cas. Je vous recommande donc de ne pas l'employer dans votre couche d'accès. Vous pouvez écrire une méthode d'extension qui empêchera de pouvoir requêter de nouveau via « Linq to SQL » :&lt;br /&gt;internal static IEnumerable&lt;tsource&gt; ToLinqToObject&lt;tsource&gt;(this IQueryable&lt;tsource&gt; source)&lt;br /&gt;{&lt;br /&gt;    foreach (TSource s in source)&lt;br /&gt;        yield return s;&lt;br /&gt;}Son utilisation se fera comme suit :&lt;br /&gt;public IEnumerable&lt;string&gt; GetPersonnes()&lt;br /&gt;{&lt;br /&gt;    DataClasses1DataContext t = new DataClasses1DataContext(myDatabaseConnectionString);&lt;br /&gt;    var c = from h in t.PERSONNEs where h.Personne_Age &gt; 30 select h;&lt;br /&gt;    return c.ToLinqToObject();//return from i in c.AsEnumerable() select i;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;source : &lt;/span&gt;&lt;a href="http://www.techheadbrothers.com/"&gt;&lt;span style="font-size:85%;"&gt;http://www.techheadbrothers.com/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-1267027910902575636?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/1267027910902575636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/1267027910902575636'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/12/surcharger-une-mthode-dextension.html' title='Surcharger une méthode d&apos;extension'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-9131421716974773480</id><published>2007-12-02T13:34:00.000-08:00</published><updated>2007-12-02T13:39:33.085-08:00</updated><title type='text'>Segmentation du marché et Personas</title><content type='html'>&lt;div align="justify"&gt;La segmentation du marché et les personas sont deux outils différents ayant chacun leurs propres objectifs. On écoute souvent dire : « je travaille déjà avec des personas, parce que je segmente mon marché ». En réalité, alors que la segmentation de votre marché vous aide à cibler des clients potentiels qualifiés, les personas, eux, vous aident à satisfaire ces clients potentiels. Votre objectif, en tant qu’éditeur de site web, est donc de combiner ces deux outils marketing pour, d’une part, générer la demande et d’autre part, satisfaire cette demande. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;La segmentation du marché&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;La segmentation du marché consiste à trouver les meilleures façons de cibler et de délivrer des messages marketing qui créeront la demande. Une population de clients potentiels est segmentée en groupes qui, en raison de leurs différences, sont susceptibles de répondre à toute une variété de messages. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;En raison de son objectif d’attirer l’attention du consommateur, de le persuader et de créer la demande, la segmentation du marché est basée sur des variables telles que l’âge, le genre, le revenu, le niveau d’éducation, les hobbies, la situation géographique, le style de vie, la personnalité psychologique... Cet outil est indispensable car il vous aide à définir comment parler efficacement aux différents groupes qui composent votre marché. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Les personas&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Les personas, quant à eux, concernent la manière dont vos clients potentiels vont répondre à votre message. Les personas sont des segments définis principalement par les objectifs et les comportements de chaque groupe d’individus, car ces attributs sont les éléments les plus importants de la prise de décision. Les objectifs révèlent pourquoi les gens viennent sur votre site et ce qu’ils souhaitent y trouver, et les comportements montrent comment ils envisagent d’accomplir d’atteindre leurs objectifs. Par exemple, pour un site d’achat de biens immobiliers, si vous avez un segment dont l’objectif est de trouver un appartement, vous savez quels contenu et fonctionnalités proposer pour aider ce segment de population. Si vous connaissez le comportement de ce segment, comme, par exemple, s’il préfère principalement être contacté parce qu’il a trouvé l’appartement qui lui convenait sur votre site, vous pouvez prendre des décisions efficaces sur la manière de créer et structurer ce type de fonctionnalités et de contenu. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Synergie des deux outils&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;La segmentation de marché répond aux questions « Qui » et « Quoi » : qui ciblez-vous ? Quels produits ou services désirent-ils ? Que sont-ils susceptibles d’acheter et à quel prix ? Quels sont les outils marketing qui les atteindront le mieux ?... Une fois que vous avez répondu au « Qui » et au « Quoi », les personas vous aident à répondre aux questions du « Pourquoi » et du « Comment » : pourquoi ce produit ou service répond-il au besoin de la cible et pourquoi va-t-elle l’utiliser ? Comment va-t-on structurer le site pour qu’il satisfasse au mieux les besoins de la cible ? Comment être certain que le site réponde aux exigences de la cible tout en obtenant le chiffre d’affaires escompté ? Ces deux méthodes sont essentielles pour créer et implémenter une stratégie efficace pour votre site web, et sont plus performantes, naturellement, si elles sont employées ensemble. Plus vous incorporerez les personas suffisamment tôt dans le processus de segmentation de votre marché, plus le profil obtenu de vos clients potentiels sera complet. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;En conclusion&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;L‘utilisation combinée de la segmentation du marché et des personas vous fournit une meilleure compréhension de vos clients, incluant la manière de les faire venir jusqu’à vous, et la manière de les satisfaire pour qu’ils puissent à nouveau revenir sur votre site. Ensemble, ces deux techniques sont votre meilleur atout pour réussir avec votre site web. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="right"&gt;&lt;span style="font-size:78%;"&gt;source &lt;/span&gt;&lt;a href="http://www.moteurzine.com/"&gt;&lt;span style="font-size:78%;"&gt;http://www.moteurzine.com&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-9131421716974773480?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/9131421716974773480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/9131421716974773480'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/12/segmentation-du-march-et-personas.html' title='Segmentation du marché et Personas'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-6536737444313290714</id><published>2007-11-23T13:01:00.000-08:00</published><updated>2008-01-15T07:22:44.774-08:00</updated><title type='text'>MIN_ACTIVE_ROWVERSION</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;Depuis l'arrivée du Service Pack 2 de Sql Serveur 2005, est apparue une nouvelle fonction appellée MIN_ACTIVE_ROWVERSION()&lt;br /&gt;Cette fonction permet de renvoyer la prochaine valeur de type Timestamp à insérer dans la base de donnée.En comparaison avec ce qui se faisait avant le SP2, MIN_ACTIVE_ROWVERSION() correspond à la valeur renvoyée par @@DBTS + 1.&lt;br /&gt;Note : Nous allons travailler avec un type timestamp. Sachez que ce type peut être aussi appellée rowversion. D'ailleurs les deux écritures sql sont correctes.&lt;br /&gt;Prenons un exemple : Voici une table contenant une colonne de type timestamp &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Create table Person.ClientWithRowVersion (version ROWVERSION)Nous allons insérer une nouvelle ligne dans cette table, puis faire une Select pour récupérer le résultat :&lt;br /&gt;Insert Into Person.ClientWithRowVersion Values (DEFAULT)&lt;br /&gt;Select * from Person.ClientWithRowVersionLe résultat est :&lt;br /&gt;(1 row(s) affected) version&lt;br /&gt;---------------------------&lt;br /&gt;0x00000000000007D3Maintenant effectuons un test sur la valeur renvoyée par MIN_ACTIVE_ROWVERSION() et par @@DBTS&lt;br /&gt;print 'MIN_ACTIVE_ROWVERSION : '&lt;br /&gt;print MIN_ACTIVE_ROWVERSION()&lt;br /&gt;print '@@DBTS'&lt;br /&gt;print @@DBTS&lt;br /&gt;------------------------------------------------------------------&lt;br /&gt;MIN_ACTIVE_ROWVERSION :&lt;br /&gt;0x00000000000007D4&lt;br /&gt;@@DBTS&lt;br /&gt;0x00000000000007D3Le résultat attendu est bien correct, MIN_ACTIVE_ROWVERSION() est bien la prochaine valeur insérée et @@DBTS la valeur en cours.&lt;br /&gt;La où cela devient intéressant (et où l'on comprend l'intéret de cette nouvelle fonction) c'est lors de l'ajout d'une transaction dans notre exemple.Nous allons récupérer les valeurs PENDANT la transaction :&lt;br /&gt;BEGIN TRAN&lt;br /&gt;&lt;br /&gt;INSERT INTO Person.ClientWithRowVersion VALUES (DEFAULT)&lt;br /&gt;SELECT * FROM Person.ClientWithRowVersion&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;PRINT 'MIN_ACTIVE_ROWVERSION'&lt;br /&gt;PRINT MIN_ACTIVE_ROWVERSION()&lt;br /&gt;PRINT 'DBTS'&lt;br /&gt;PRINT @@DBTS&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;COMMIT&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;0x00000000000007D5&lt;br /&gt;&lt;br /&gt;(1 row(s) affected)&lt;br /&gt;&lt;br /&gt;MIN_ACTIVE_ROWVERSION&lt;br /&gt;0x00000000000007D5&lt;br /&gt;DBTS&lt;br /&gt;0x00000000000007D5Que constatons nous ? Que la valeur de MIN_ACTIVE_ROWVERSION n'a pas été encore mise à jour, alors que celle de DBTS, si .&lt;br /&gt;Là où cette implémentation est judicieuse, c'est lors de l'utilisation de cette fonction lors d'une synchronisation.L'un des principes lors d'une synchronisation, c'est la récupération des enregistrements de la base de données Source.Grâce à l'utilisation de MIN_ACTIVE_ROWVERSION() vous êtes sûr de ne récupérer que les enregistrements VALIDES par la base de données, et non des enregistrements en cours de validation et donc potentiellement incorrects...&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;Par &lt;/span&gt;&lt;a href="http://www.techheadbrothers.com/Auteurs.aspx/sebastien-pertus"&gt;&lt;span style="font-size:78%;"&gt;Sébastien Pertus&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt; publié le 23/11/2007 à 11:00 &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-6536737444313290714?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/6536737444313290714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/6536737444313290714'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/11/minactiverowversion.html' title='MIN_ACTIVE_ROWVERSION'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-7550060372592342393</id><published>2007-11-23T12:50:00.000-08:00</published><updated>2007-11-23T12:55:57.046-08:00</updated><title type='text'>Appels asynchrones en ADO.NET 2.0</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;ADO.NET V2 apporte une simplification appréciable pour exécuter de manière asynchrone des requêtes en BD pour l'espace de nom SqlClient.&lt;/span&gt; &lt;/div&gt;&lt;a name="L'exemple"&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;L'exemple&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Un peu à la façon des proxies Web Services générés automatiquement par Visual Studio 2003 lors de leur référencement, la classe « System.Data.SqlClient.SqlCommand » propose de nouvelles méthodes « Begin* » et « End* » permettant d'exécuter de manière asynchrone des requêtes sur une base de données SQL Server. Par exemple :&lt;br /&gt;BeginExecuteNonQuery : le pendant de ExecuteNonQuery pour les requêtes actions asynchrones.&lt;br /&gt;BeginExecuteReader : le pendant de ExecuteReader pour la récupération d'un jeu de données en asynchrone.Voici donc les grandes étapes pour récupérer un jeu de données de manière asynchrone sur SQL Server :&lt;br /&gt;Etape 1 : création d'un délégué qui permettra de définir une signature afin de lier un IDataReader à une DataGridView : // Delegue definissant la mise jour la grille lors du callback&lt;br /&gt;public delegate void ProcessDelegate(IDataReader dr);&lt;br /&gt;Etape 2 : création de la méthode exécutée en fin d'appel asynchrone et qui utilisera le délégué précédent pour lier le IDataReader à la DataGridView. Vous noterez l'utilisation de la propriété « InvokeRequired » afin de vérifier si le handle du contrôle a été créé sur un autre Thread ou pas (utile pour la liaison puisque cette dernière ne peut se faire que sur le même Thread que celui qui a créé le contrôle) : &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;// Methode executee en callback&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;private void ExecuteOnCallBack(IAsyncResult result)&lt;br /&gt;{&lt;br /&gt;// Recuperation de la commande initiale passee en parametre lors du BeginExecuteReader&lt;br /&gt;SqlCommand cmd = (SqlCommand)result.AsyncState;&lt;br /&gt;SqlDataReader reader = cmd.EndExecuteReader(result);&lt;br /&gt;// Verifie si le handle du controle a ete cree sur un autre Thread ou pas.&lt;br /&gt;if (dataGridView1.InvokeRequired)&lt;br /&gt;dataGridView1.Invoke(new ProcessDelegate(Process), new object[] { reader });&lt;br /&gt;else&lt;br /&gt;Process(reader);&lt;br /&gt;}&lt;br /&gt;Etape 3 : création de la méthode permettant de lier le IDataReader à la DataGridView selon le modèle défini par le délégué précédent : // Methode executee pour realiser la liaison de donnees&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;public void Process(IDataReader dr)&lt;br /&gt;{&lt;br /&gt;BindingSource source = new BindingSource();&lt;br /&gt;source.DataSource = dr;&lt;br /&gt;dataGridView1.DataSource = source;&lt;br /&gt;dr.Close();&lt;br /&gt;}&lt;br /&gt;Etape 4 : Codage de l'appel asynchrone. Vous noterez la modification de la chaîne de connexion : « async=true » : private void Form1_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;// La chaine de connexion doit etre positionnee dans un fichier de configuration. En dur dans le code, c'est Mal !&lt;br /&gt;string connectionString = "data source=(local);initial catalog=Northwind;user id=sa;password=XxXx;async=true";&lt;br /&gt;SqlConnection cn = new SqlConnection(connectionString);&lt;br /&gt;cn.Open();&lt;br /&gt;SqlCommand cmd = cn.CreateCommand();&lt;br /&gt;cmd.CommandText = "sSelectOrdersDetail";&lt;br /&gt;cmd.CommandType = CommandType.StoredProcedure;&lt;br /&gt;// Appel asynchrone&lt;br /&gt;IAsyncResult iar&lt;br /&gt;= cmd.BeginExecuteReader&lt;br /&gt;(&lt;br /&gt;new AsyncCallback(ExecuteOnCallBack),&lt;br /&gt;cmd,&lt;br /&gt;CommandBehavior.CloseConnection&lt;br /&gt;);&lt;br /&gt;}&lt;br /&gt;L'exemple que vous trouverez en attache permet d'exécuter une procédure stockée sur la base exemple Northwind sur SQL Server 2000. Vous noterez l'utilisation dur « WAITFOR » pour simuler un long traitement : CREATE PROCEDURE dbo.sSelectOrdersDetail&lt;br /&gt;(&lt;br /&gt;@OrderID INT = NULL&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;WAITFOR DELAY '000:00:10'&lt;br /&gt;SELECT [Order Details].*&lt;br /&gt;FROM [Order Details]&lt;br /&gt;WHERE ( (@OrderID IS NULL) OR (OrderID = @OrderID) )&lt;br /&gt;END&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Cet article a été réalisé sur les versions suivantes :&lt;br /&gt;Framework .NET version 2.0.50215&lt;br /&gt;Visual Studio 2005 version 8.0.50215.44 (beta2.050215-4400)&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;Par &lt;/span&gt;&lt;a href="http://www.techheadbrothers.com/Auteurs.aspx/frederic-colin"&gt;&lt;span style="font-size:78%;"&gt;Frédéric Colin&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt; publié le 25/09/2005 à 20:01 &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-7550060372592342393?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/7550060372592342393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/7550060372592342393'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/11/appels-asynchrones-en-adonet-20.html' title='Appels asynchrones en ADO.NET 2.0'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-5728581736266413875</id><published>2007-11-06T03:23:00.000-08:00</published><updated>2007-11-06T03:26:20.227-08:00</updated><title type='text'>L'actualité des moteurs de recherche</title><content type='html'>&lt;div style="text-align: justify; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="lettrine"&gt;D&lt;/span&gt;epuis près d'un an maintenant, Google intégre des sitelinks sous les sites de fort trustrank. Un sitelink étant constitué de liens internes de votre site, visibles en tapant uniquement le nom de votre domaine sans son extension dans une recherche sur Google.&lt;br /&gt;En d'autres termes, si vous obtenez un backlink sur un site possédant un sitelink, ceci sera très bénéfique pour augmenter votre propre trustrank (indice de confiance Google).&lt;br /&gt;A noter que ceci n'a rien à voir avec votre Pagerank, notion qui semble devenir de plus en plus obsolète malgré une mise à jour massive et souvent à la baisse de ceux-ci ces derniers jours.&lt;br /&gt;Google propose maintenant, dans ses " Webmaster Tools " (rubrique " Links &gt; Sitelinks ") une rubrique où les liens actuels sont affichés. Il est alors possible d'en ajouter d'autres ou de modifier ceux existant.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft prend des parts dans Facebook&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Facebook, le nouveau réseau social en vogue qui fait parler de lui, vient d'être valorisé à 15 milliards de dollars grâce à Microsoft qui vient de prendre une participation de 1,6% de Facebook pour la modique somme de 240M$.&lt;br /&gt;Facebook avait refusé précédemment 1M$ de Yahoo pour son rachat. En d'autres termes, cette petite participation empêche les autres acteurs intéressés par Facebook de rentrer facilement dans son capital (je parle de Yahoo et de Google), Microsoft obtenant ainsi une exclusivité publicitaire sur Facebook jusqu'en 2011.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Soirée Ref-Party 3ème édition&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Le 11 Décembre 2007, une 3eme soirée &lt;a href="http://www.ref-party.com/" target="_blank"&gt;Ref-Party&lt;/a&gt; aura lieu dans un espace exceptionnel de 700m2 pour y accueillir plus de 500 personnes. Nous y accueillerons le monde du référencement et de la publicité en ligne.&lt;br /&gt;Les inscriptions seront disponibles début Novembre. Cette 3ème édition sera organisée par David BERDAH et Sébastien POULET-MATHIS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-size:78%;"&gt;Source :moteurzine.com&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-5728581736266413875?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/5728581736266413875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/5728581736266413875'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/11/lactualit-des-moteurs-de-recherche.html' title='L&apos;actualité des moteurs de recherche'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-5804813643608335400</id><published>2007-10-29T12:15:00.000-07:00</published><updated>2008-01-15T07:22:05.079-08:00</updated><title type='text'>F#: la programmation fonctionnelle orientée objet bientôt dans Visual Studio</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Microsoft planche sur un langage de programmation fonctionnelle depuis quelques années déjà. Baptisé F#, il devrait être proposé dans une prochaine version de Visual Studio. C'est ce qu'a révélé le 24 octobre le responsable des développements Visual Studio chez Microsoft, S. 'Soma' Somasegar (dixit The Register). Ce langage s'adosse à Objective CAML. Une implémentation orientée objets du langage de programmation fonctionnel CAML élaboré par l'INRIA depuis 1985. Microsoft entend faire du F# un langage adapté aux développements complexes, dans le domaine l'informatique financière, scientifique et technique.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;source : &lt;a href="http://www.journaldunet.com/"&gt;http://www.journaldunet.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-5804813643608335400?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/5804813643608335400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/5804813643608335400'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/10/f-la-programmation-fonctionnelle.html' title='F#: la programmation fonctionnelle orientée objet bientôt dans Visual Studio'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-2387704897079587111</id><published>2007-10-26T07:27:00.000-07:00</published><updated>2007-10-26T07:28:45.745-07:00</updated><title type='text'>C# SSII Spécialiste DotNet</title><content type='html'>&lt;div align="justify"&gt;Microsoft résume C# ainsi:&lt;br /&gt;"C# est un &lt;span style="font-family:arial;"&gt;langage&lt;/span&gt; orienté objet élégant et de type sécurisé qui permet aux développeurs de générer une large gamme d'applications sécurisées et fiables qui s'exécutent sur le .NET Framework. Vous pouvez utiliser C# pour créer, entre autres, des applications clientes Windows traditionnelles, des services Web XML, des composants distribués, des applications client-serveur et des applications de base de données. Microsoft Visual C# fournit un éditeur de code avancé et des concepteurs d'interfaces utilisateur pratiques, il intègre un débogueur et de nombreux autres outils qui accélèrent le développement des applications avec la version 2.0 du langage C# et le .NET Framework."Le langage et la plate forme de développement permet donc de développer:&lt;br /&gt;- Des applications dite Web: intranet, extranet et internet. la caractéristique principale de ces applications reside dans le fait que l'on y accède par un navigateur web classique. Dans l'environnement de développement dotNet , il s'agit de développement informatique dit 'WebForm'.&lt;br /&gt;- Des applications Winform: Ces applications, souvent client/serveur, sont moins indépendante du poste de l'utilisateur (Il faut souvent les installer) mais bénéficient de possibilités plus vastes en terme d'ergonomie et donc de richesse/productivitéCe qu'il faut aussi retenir de C#, c'est qu'il a été concu pour être orienté objet . Il s'appuie donc sur les concepts d'encapsulation, d'héritage et de polymorphisme, de classes...Fondement de la révolution initiée par C++ puis java, la notion d'objet, si elle est bien utilisée, permet de concevoir des applications plus robustes,communicantes et dont les 'objets' informatiques ainsi créés sont réutilisables. Les ingénieurs ont étudié depuis déjà plusieurs années ces concepts lors de leur formation.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-2387704897079587111?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/2387704897079587111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/2387704897079587111'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/10/c-ssii-spcialiste-dotnet.html' title='C# SSII Spécialiste DotNet'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-8603172382341165447</id><published>2007-10-24T13:09:00.000-07:00</published><updated>2007-10-24T13:12:23.845-07:00</updated><title type='text'>Le web-marketing : Définition d'un projet de site Internet (étapes 1 à 3)</title><content type='html'>&lt;div style="text-align: justify; font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span class="lettrine"&gt;L&lt;/span&gt;’une des étapes fondamentales de l’élaboration d’un site web est la définition du projet en lui-même, permettant l’identification du périmètre initial du projet et l’établissement de l’organisation adéquate et des moyens nécessaires, tant humains, techniques que budgétaires, pour sa mise en application. Beaucoup de projets de création de sites internet échouent en raison du manque ou de l’absence de cadrage initial.&lt;br /&gt;&lt;br /&gt;Cette étape est articulée autour de 5 tâches distinctes : l’étude des besoins et des attentes (audit préalable), la rédaction du rapport de synthèse, la rédaction du cahier des charges fonctionnel, l’élaboration du plan projet et le plan de maintenance du site. Nous ne rentrerons pas en détail dans toutes ces tâches, mais voici quelques conseils qui sauront vous orienter pour les 3 premières étapes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1ère étape : Auditer votre client (ou vous-même)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Le but de cet audit préalable est de déterminer l’objectif primaire du projet et les objectifs secondaires, la ou les cibles, les objectifs liés à la perception de la marque, la nature du contenu du site, les spécificités techniques et la stratégie de communication. Il faut donc collecter le maximum d’informations lors de cette étape afin de pouvoir réaliser une étude approfondie du projet (faisabilité, étude de marché, de la concurrence) et conduire à l’élaboration d’un outil maximisé (le site) répondant efficacement à vos besoins et à ceux de votre cible.&lt;br /&gt;&lt;br /&gt;Voici un modèle général de questionnaire :&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1)Informations générales&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Nom du projet&lt;br /&gt;- URL actuelle ou URL souhaitée&lt;br /&gt;- Contacts pour le projet (nom, email, téléphone)&lt;br /&gt;- Échéance de lancement du site&lt;br /&gt;- Les facteurs externes pouvant influer sur l’échéancier&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2)Pourquoi ?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Quel est l’objectif que vous souhaitez atteindre avec ce projet (quelle problématique d’entreprise souhaitez-vous résoudre au travers de votre site web) ?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3)Pour qui ?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Qui est votre cible ? Décrivez votre cible (CSP, usage d’Internet...)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4)Valeur&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Pourquoi votre cible aurait-elle besoin de vous ? Quel est son intérêt ?&lt;br /&gt;- Qu’offrez-vous de mieux que votre concurrence ?&lt;br /&gt;- Comment sont perçus vos produits/services par votre cible ?&lt;br /&gt;- Comment votre cible utilisera-t-elle votre site ? Quels sont ses objectifs (ceux de la cible)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5)Perception&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;- Listez des adjectifs sur la manière dont vous souhaitez que votre cible perçoive votre nouveau site&lt;br /&gt;- Qu’y a-t-il de différent par rapport à la perception actuelle de votre entreprise (ou ancien site web)&lt;br /&gt;- Listez des sites web que vous aimez. Qu’aimez-vous dans ces sites ?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6)Le contenu&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Possédez-vous un contenu existant à fournir pour votre site ou est-ce un nouveau contenu ? Qui rédigera le nouveau contenu ?&lt;br /&gt;- Quels sont les visuels dont nous devrons nous servir ? Existent-ils ou devrons-nous les créer (logos, photos, charte graphique...) ?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;7)Technologie&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- Quels types de technologies souhaitez-vous mettre en place pour votre site (Flash, AJAX...). Si tel est le cas, expliquez comment cela améliorera l’expérience des utilisateurs sur votre site.&lt;br /&gt;- Aurez-vous besoin de fonctionnalités liées à une base de données (CMS pour mettre à jour par votre propre équipe certaines parties de votre site, personnalisation des connexions, espace privé...) ?&lt;br /&gt;&lt;/span&gt;        &lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: verdana;"&gt; - Aurez-vous besoin de transactions sécurisées (dans le cadre d’un e-commerce) ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Aurez-vous besoin d’autres fonctionnalités de programmation, comme une fonction de recherche par exemple ? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;8)Marketing et communication&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Comment souhaitez-vous que votre cible vous trouve ? Quels leviers initieront une visite (backlinks, incentive, résultats organiques, liens sponsorisés...) ? Si vous avez déjà un site web, comment communiquez-vous votre URL online et offline ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Avez-vous déjà une idée sur la stratégie marketing que vous souhaitez adopter pour promouvoir votre site ? Si oui, pouvez-vous nous la décrire ? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;9)Mises à jour&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Comment allez-vous planifier la conservation du contenu actuel de votre site et sa mise à jour (dans le cas d’un site web existant) ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - A quelle fréquence le contenu doit-il être mis à jour ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Qui est responsable de la mise à jour et de la rédaction des contenus ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Quel logiciel allez-vous utiliser pour vos mises à jour ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Notes et commentaires additionnels &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;10)Budget&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Quel est l’enveloppe budgétaire globale allouée au projet ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Comment est réparti le budget dans les différents postes de travail (audit, conception, réalisation, marketing &amp;amp; communication...) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;2ème étape : Rédiger le rapport de synthèse&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; En vous appuyant sur les informations fournies lors de l’audit, rédigez une synthèse pour définir noir sur blanc les objectifs du projet, le profil de la cible, la perception de la cible, le message principal à délivrer et l’avantage compétitif. Voici une trame de rédaction : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;1)Sommaire du projet&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Brève description du projet&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Objectifs et échéance de lancement&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Échéance estimée pour atteindre l’objectif commercial &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;2)Profil de la cible&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Profil de la cible (CSP, niveau d’usage d’Internet...)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Usage général d’Internet par la cible&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Les besoins et les principaux centres d’intérêt de la cible &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;3)Perception de la cible&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Comment votre cible vous perçoit ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Comment souhaitez-vous que la cible vous perçoive ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Comment le nouveau site web permettra d’accéder à cette nouvelle perception ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Adjectifs caractérisant le nouveau site &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;4)Message&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Quel est le message principal à transmettre à la cible ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Comment sera transmis ce message ? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;5)Avantage compétitif&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Quelles sont les différences avec la concurrence ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Quels sont les atouts du site web actuel ? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana;"&gt;3ème étape : Le cahier des charges fonctionnel&lt;/strong&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; A l’aide de l’audit préalable, un document exprimant les besoins fonctionnels du site et les différentes tâches que l’internaute aura à accomplir sur le futur site, afin que l’équipe technique du site sache ce qu’elle a à développer et surtout, comment elle doit le développer. Il est donc nécessaire de rechercher, caractériser et hiérarchiser chaque fonctionnalité du site. Ensuite, pour chaque fonctionnalité, une fiche technique sera rédigée comportant : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - L’intitulé&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - L’objectif&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Une description précise&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - Les critères d’appréciation de la réalisation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; - La priorité d’élaboration&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: verdana;"&gt;&lt;span style="font-size:78%;"&gt;Source: moteurzine.com&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-8603172382341165447?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/8603172382341165447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/8603172382341165447'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/10/le-web-marketing-dfinition-dun-projet.html' title='Le web-marketing : Définition d&apos;un projet de site Internet (étapes 1 à 3)'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-7621154986795580148</id><published>2007-10-23T13:31:00.000-07:00</published><updated>2007-10-23T13:32:46.773-07:00</updated><title type='text'>15 extensions de sécurité pour Firefox</title><content type='html'>&lt;table id="bloc-image-gauche" align="left"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="bloc-image" colspan="3"&gt;&lt;a href="http://www.journaldunet.com/solutions/securite/selection/07/0723-extensions-firefox/2.shtml"&gt;&lt;img style="width: 105px; height: 100px;" alt="Firefox de Mozilla" src="http://www.journaldunet.com/solutions/securite/selection/07/0723-extensions-firefox/images/firefox_logo.jpg" border="0" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td class="bordure-bottomg"&gt;  &lt;center&gt;    &lt;/center&gt; &lt;/td&gt; &lt;td class="bloc-contenu"&gt;&lt;span class="credit"&gt; © Mozilla&lt;/span&gt;&lt;/td&gt; &lt;td class="bordure-bottomd"&gt;  &lt;center&gt;    &lt;/center&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;h2 style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Chiffrement, alertes de sécurité, définition de mots de passe, protection  contre le phishing, le pharming, le spam, ou encore les keyloggers : 15 extensions  simples d'utilisation pour Firefox.&lt;/span&gt;&lt;/h2&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;Souvent mis en valeur pour sa sécurité, Firefox peut se caparaçonner plus encore  grâce à l'ajout d'extensions utilisables directement depuis le navigateur. Disponibles  depuis le site de &lt;a href="https://addons.mozilla.org/fr/firefox/" target="_blank"&gt;Mozilla&lt;/a&gt;,  en français ou en anglais, elles s'intègrent aisément pour sécuriser la navigation.  &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;NoScript, Get jetable mail, SCM, PhishTank SiteChecker, Gmail S/MIME, KeyScrambler  Personal, SafeDownload, et de nombreuses autres.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-7621154986795580148?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/7621154986795580148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/7621154986795580148'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/10/15-extensions-de-scurit-pour-firefox.html' title='15 extensions de sécurité pour Firefox'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-2040611353371188993</id><published>2007-10-22T15:20:00.000-07:00</published><updated>2007-10-22T15:21:55.776-07:00</updated><title type='text'>Oracle améliore les accès PHP à sa base de données</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: verdana;"&gt;L'éditeur publie une nouvelle version d'Oracle Call Interface (OCI8) pour PHP : l'interface qu'il propose pour gérer les accès à sa base de données depuis des applications basées sur le langage de script côté serveur. Au chapitre des améliorations apportées à cette nouvelle édition : la prise en compte et la gestion de connections en provenance de pool de serveurs PHP. Une évolution qui vise à répondre au besoin croissance d'applications PHP en environnement critique.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:78%;color:#000000;"&gt;&lt;!-- #BeginEditable "Auteur" --&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-family:Verdana;font-size:78%;color:#000000;"&gt;&lt;a href="http://www.journaldunet.com/developpeur/contact/redaction.shtml"&gt;Rédaction   JDN Développeur&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-2040611353371188993?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/2040611353371188993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/2040611353371188993'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/10/oracle-amliore-les-accs-php-sa-base-de.html' title='Oracle améliore les accès PHP à sa base de données'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-5148590267023559539</id><published>2007-10-22T15:19:00.000-07:00</published><updated>2007-10-22T15:20:28.011-07:00</updated><title type='text'>Zend Studio est décliné pour Eclipse</title><content type='html'>&lt;div style="text-align: justify; font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;Zend Technologies dévoile une version adaptée à l'infrastructure Eclipse de son environnement de développement PHP, Zend Studio. Le produit est basé sur le plug-in pour PHP récemment lancé par la fondation Eclipse : PDT (PHP Development Tools). Pour l'heure en version beta, la solution de Zend Technologies devrait être commercialisée début 2008. Zend Studio pour Eclipse permet aux utilisateurs de cet environnement de tirer parti des fonctionnalités d'Eclipse.&lt;br /&gt;&lt;br /&gt;Parallèlement, Zend a annoncé en lien avec Microsoft un composant de services (FastCGI) permettant d'exécuter en natif des applications PHP sur le serveur Web IIS.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-family:Verdana;font-size:78%;color:#000000;"&gt;&lt;a href="http://www.journaldunet.com/developpeur/contact/redaction.shtml"&gt;Rédaction   JDN Développeur&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-5148590267023559539?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/5148590267023559539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/5148590267023559539'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/10/zend-studio-est-dclin-pour-eclipse.html' title='Zend Studio est décliné pour Eclipse'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry><entry><id>tag:blogger.com,1999:blog-6600058157523930715.post-6775852721236907768</id><published>2007-10-22T15:12:00.000-07:00</published><updated>2007-10-22T15:22:33.980-07:00</updated><title type='text'>Visual Studio : vers une amélioration de l'analyse de code</title><content type='html'>&lt;div  style="text-align: justify;font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;Microsoft vient d'annoncer sa volonté d'améliorer les dispositifs d'analyse de code de son environnement de développement. Cette évolution sera mise en œuvre au sein de la prochaine version de l'application, Visual Studio 2008. Aux côtés des outils d'analyse statique Managed Code Analysis et C/C++ Code Analysis, l'éditeur prévoit d'ajouter une bibliothèque d'indicateurs d'analyses (Cyclomatic Complexity, Depth of Inheritance, etc.), ainsi qu'une fenêtre d'outils de navigation pour  traquer les portions de code non-maintenables ou trop complexes.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Verdana;font-size:78%;"  &gt;&lt;a href="http://www.journaldunet.com/developpeur/contact/redaction.shtml"&gt;Rédaction   JDN Développeur&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600058157523930715-6775852721236907768?l=lesformations.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/6775852721236907768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600058157523930715/posts/default/6775852721236907768'/><link rel='alternate' type='text/html' href='http://lesformations.blogspot.com/2007/10/visual-studio-vers-une-amlioration-de.html' title='Visual Studio : vers une amélioration de l&apos;analyse de code'/><author><name>Webmater</name><uri>http://www.blogger.com/profile/02263171062535042555</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05430817999040788649'/></author></entry></feed>