<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11712011</id><updated>2012-01-10T03:04:47.745+01:00</updated><category term='C#'/><category term='PHP'/><category term='SHAREPOINT'/><category term='Cuisine'/><category term='Astronomie'/><category term='Visual Studio'/><category term='MSDN'/><category term='WCSF'/><category term='Architecture'/><category term='ROR'/><category term='WCF'/><category term='Web Services'/><category term='DOTNET'/><category term='MOSS'/><category term='T4'/><category term='XBAP'/><category term='IIS'/><category term='WPF'/><category term='Mapwindow'/><category term='kids'/><category term='ASP.NET'/><title type='text'>.Net et moi, notes de travail.</title><subtitle type='html'>Une experience de developpement avec .NET, C#.
Et les quelques Framworks associés : ASP.NET, C#, WPF, WCF, Microsoft Office Sharepoint Portal Server (MOSS) 2007, Windows Sharepoint Services (WSS) 3.0, etc...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>96</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11712011.post-4244391266680578934</id><published>2010-05-21T22:37:00.001+02:00</published><updated>2010-05-21T22:39:18.949+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Afficher le modèle de données d'une base SQL Server</title><content type='html'>Voici un exemple minimaliste de code pour afficher le modèle de données des tables d’une base SQL server.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Assembly :&lt;/span&gt;&lt;br /&gt;C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll&lt;br /&gt;C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Smo.dll&lt;br /&gt;C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Management.Sdk.Sfc.dll&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Code sources:&lt;/span&gt; &lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using Microsoft.SqlServer.Management.Common;&lt;br /&gt;using Microsoft.SqlServer.Management.Smo;&lt;br /&gt; &lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            string sServerName = "MonServeur";&lt;br /&gt;            string sDatabaseName = "MaBase";&lt;br /&gt; &lt;br /&gt;            ServerConnection conn = new ServerConnection(sServerName);&lt;br /&gt;            conn.LoginSecure = false;&lt;br /&gt;            conn.Login = "sa";&lt;br /&gt;            Server server = new Server(conn);&lt;br /&gt;            Database database = server.Databases[sDatabaseName];&lt;br /&gt; &lt;br /&gt;            Console.Write("Server : {0}\n",sServerName);&lt;br /&gt;            Console.Write("Database : {0}\n", sDatabaseName);&lt;br /&gt;            Console.Write("Liste des tables de la base\n");&lt;br /&gt;            string sOutputformat = "\t{0,-20} {1,-13} {2,-13} {3,-20}\n";&lt;br /&gt;            foreach (Table tbl in database.Tables)&lt;br /&gt;            {&lt;br /&gt;                Console.Write("\nTable Name : {0}\n", tbl.Name.ToUpper());&lt;br /&gt;                Console.Write(sOutputformat, "Column Name", "InPrimaryKey ", "IsForeignKey ", "DataType");&lt;br /&gt;                foreach (Column col in tbl.Columns)&lt;br /&gt;                {&lt;br /&gt;                    Console.Write(sOutputformat, col.Name, col.InPrimaryKey, col.IsForeignKey, col.DataType.Name);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            Console.ReadKey();&lt;br /&gt; &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4244391266680578934?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4244391266680578934/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4244391266680578934' title='6 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4244391266680578934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4244391266680578934'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/05/afficher-le-modele-de-donnees-dune-base.html' title='Afficher le modèle de données d&apos;une base SQL Server'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-7634563561846055955</id><published>2010-05-20T21:49:00.004+02:00</published><updated>2010-05-20T22:37:08.809+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='T4'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Colorisation Syntaxique pour le T4 et Visual Studio</title><content type='html'>En ce momment je fais plus de T4 que de C#. Et je dois reconnaitre que c'est trop top. Mais bon sans editeur sympa et intellisence, c'est dur dur.&lt;br /&gt;Voici un lien sur un plug-in Visual Studio 2010 et 2008 &lt;a href="http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html"&gt;t4-editor.tangible-engineering&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Voici un autre lien sur des liens exemple, tuto, docs, etc. &lt;a href="http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx"&gt;Scott Hanselman&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Le site de monsieur T4 : &lt;a href="http://www.olegsych.com/"&gt;Oleg Sych&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-7634563561846055955?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/7634563561846055955/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=7634563561846055955' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7634563561846055955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7634563561846055955'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/05/colorisation-syntaxique-pour-le-t4-et.html' title='Colorisation Syntaxique pour le T4 et Visual Studio'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-68156211918360697</id><published>2010-02-20T12:39:00.002+01:00</published><updated>2010-02-20T12:43:52.627+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>60+ .NET libraries every developer should know about.</title><content type='html'>Voici un copie du post "60+ .NET libraries every developer should know about."&lt;br /&gt;Je me suis permis la copie du blog ici, pour ne pas perdre le contenu.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.webdistortion.com/2010/02/16/60-net-libraries-every-developer-should-know-about"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Voici la copie du blog.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Yedda Twitter Library.&lt;br /&gt;URL: http://devblog.yedda.com/index.php/twitter-c-library/&lt;br /&gt;&lt;br /&gt;I’ve used this on a number of very simple twitter projects, where I’ve just needed to send an update. As the site says its more of a wrapper for the Twitter API than an actual library, but none the less its an easy way to integrate with the service via a drop in dll. Here’s how to use it.&lt;br /&gt;&lt;br /&gt;1.Dim objYedda As New Yedda.Twitter&lt;br /&gt;2.Dim status as String&lt;br /&gt;3.Dim strTwitterUser as String = “username”&lt;br /&gt;4.Dim strTwitterPassword as String = “password”&lt;br /&gt;5.status = “Hello World”&lt;br /&gt;6.objYedda.Update(strTwitterUser, strTwitterPassword, strStatus, Yedda.Twitter.OutputFormatType.RSS)&lt;br /&gt;This small section of code will update your Twitter stream (provided you have a reference to the DLL), and your username and password correct.&lt;br /&gt;&lt;br /&gt;FileHelpers Library&lt;br /&gt;URL: http://filehelpers.sourceforge.net/&lt;br /&gt;&lt;br /&gt;The FileHelpers library was created to stop developers from continuing to parse CSV. If you are doing any kind of importing and exporting within your application using the CSV format to get data in or out, look no further.&lt;br /&gt;&lt;br /&gt;You can strong type your flat file simply by coding up a class that maps a data type to each record. This way data consistency, and import / export reliability can be tightened up on quite a bit.  Writing out to a new file is also pretty easy once you’ve created your base classes defining the structure. Great little library for your toolkit.&lt;br /&gt;&lt;br /&gt;First define the structure class…&lt;br /&gt;&lt;br /&gt;1.&lt;DelimitedRecord(“,”)&gt;_&lt;br /&gt;2.Public Class Product&lt;br /&gt;3.Public ProductName As String&lt;br /&gt;4.Public ProductCode As Integer&lt;br /&gt;5.etc..&lt;br /&gt;6.End Class&lt;br /&gt;Add a reference to the FileHelper.dll, and read from the file , casting to a array of product objects.&lt;br /&gt;&lt;br /&gt;1.Dim engine As New FileHelperEngine(GetType(Product))&lt;br /&gt;2.Dim myProduct As Product() = DirectCast(engine.ReadFile(“product.txt”), Product())&lt;br /&gt;Perform actions on the array of Products.&lt;br /&gt;&lt;br /&gt;1.For Each pro As Product In myProduct)&lt;br /&gt;2.Response.Write(pro.ProductName)&lt;br /&gt;3.Next&lt;br /&gt;Elmah&lt;br /&gt;URL: http://code.google.com/p/elmah/&lt;br /&gt;&lt;br /&gt;Elmah stands for error logging module and handlers. It is a completely pluggable in system for error handling within your .NET app. It catches bot thrown and unhandled exceptions across the scope of your app, logs them, and allows you to browse the full stack trace, all without exposing the error to the users of your application. That’s useful for a number of reasons. Firstly you aren’t getting the performance hit of using debug=true within your application (which by the way you should never be using in a production environment anyway) – and it means you can still get to the bottom of little blips as and if they happen. Coolio.&lt;br /&gt;&lt;br /&gt;Elmah works as an HTTP module, so it takes little or no effort to deploy on any project. Just configure a few bits and bobs, and away it goes. All of the configuration is performed in the configuration file – just telling it whether you want your errors logged in a database, in memory or in a txt file is as simple as changing some web config parameters. You can even grab recent errors via RSS and get notified like that.&lt;br /&gt;&lt;br /&gt;Log4Net&lt;br /&gt;URL: http://logging.apache.org/log4net/&lt;br /&gt;&lt;br /&gt;Following in the same vein as Elmah – Log4Net is a port of the well known logging framework for Java log4J. Whilst Elmah concentrates on exceptions that are thrown, Log4Net allows a much more granualar approach to program debugging.&lt;br /&gt;&lt;br /&gt;With log4net it is possible to enable logging at runtime without modifying the original application binary and without incurring a high performance cost. Multiple “levels” of logging can be set within your program as well, and so you can determine quickly where “fatal” errors occur, and where “warnings” occur that can be ignored in the safe running of your application.&lt;br /&gt;&lt;br /&gt;Log4Net enables all of these things whilst providing the same level of control over the logging format and location as Elmah. You can decide whether you’d like your debug message sent  to a database, a text file, or indeed a TCP port. Different “Appenders” define where and how to send the messages, so if there’s somewhere else you’d like to see errors, you can easily write your own appender to perform this. Again, the appenders are defined in the web.config file.&lt;br /&gt;&lt;br /&gt;1.Imports log4net&lt;br /&gt;2.Imports log4net.Config&lt;br /&gt;3.Private Shared log As log4net.ILog&lt;br /&gt;4.Public Sub Page_Load(Byval s as Object, Byval e As EventArgs) Handles MyBase.Load&lt;br /&gt;5.log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)&lt;br /&gt;6.BasicConfigurator.Configure()&lt;br /&gt;7.log.Debug(“Debug Message”)&lt;br /&gt;8.log.Warn(“Warning Message”)&lt;br /&gt;9.log.Fatal(“Fatal Message”)&lt;br /&gt;10.End Sub&lt;br /&gt;Enterprise DT FTP Library&lt;br /&gt;URL: http://www.enterprisedt.com/products/edtftpnet/overview.html&lt;br /&gt;&lt;br /&gt;Enterprise DT is a great little FTP library, that performs all the needful without you getting your hands too dirty. It works with both web and offline applications, and again is a port of a Java library. I’ve used it for automating FTP tasks at the command line, sending photos between two sites automatically via FTP, and for sending feeds to google. It’s really easy to use, and saves you from having to write your own FTP operations. Fire it up, pass some usernames and passwords to it, and away we go. As below:&lt;br /&gt;&lt;br /&gt;1.Dim ftp as FTPConnection = new FTPConnection()&lt;br /&gt;2.ftpConnection.ServerAddress = “myserver”&lt;br /&gt;3.ftpConnection.UserName = userName&lt;br /&gt;4.ftpConnection.Password = password&lt;br /&gt;5.ftpConnection.Connect()&lt;br /&gt;6.ftpConnection.UploadFile(localFilePath, remoteFileName)&lt;br /&gt;7.ftp.Close()&lt;br /&gt;HtmlAgilityPack&lt;br /&gt;URL: http://www.codeplex.com/htmlagilitypack&lt;br /&gt;&lt;br /&gt;The Html Agility Pack is a library for parsing HTML. It is particularly useful if you are doing any kind of scraping work, with the main object of the software to transform real world HTML into structured and parseable DOM structure. It supports plain XPATH or XSLT syntax for traversing through HTML, making loops and extraction of text a breeze.  Knowing these two technologies isn’t a pre-requisite to using it, but it sure as heck helps.  You don’t have to setup the WebRequest or anything to grab remote files, which is handy – as you’ll see from the example.&lt;br /&gt;&lt;br /&gt;1.Dim hw As New HtmlAgilityPack.HtmlWeb&lt;br /&gt;2.Dim doc As HtmlAgilityPack.HtmlDocument&lt;br /&gt;3.doc = hw.Load(“http://blog.webdistortion.com”)&lt;br /&gt;4.For Each s As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes(“//a[@href]“)&lt;br /&gt;5.Dim att As HtmlAgilityPack.HtmlAttribute = s.Attributes(“href”)&lt;br /&gt;6.Response.Write(att.Value &amp; vbCrLf)&lt;br /&gt;7.Next&lt;br /&gt;OpenAuth Library&lt;br /&gt;URL: http://code.google.com/p/oauth-dot-net/&lt;br /&gt;&lt;br /&gt;Open Auth is slowly becoming the norm, with web apps many preferring its usage over other less secure forms of authentication. This library is a .NET implementation of OpenAuth, and is mighty useful if you need to get up and running quickly. You are sure to run into a web service that needs you to auth via it. Google, Yahoo, Netflix and Twitter all support OpenAuth to interact with their service. The code needed for open auth is more extensive than some of the other bits and bobs, and has been better explained by others. Some of these links are worth a look.&lt;br /&gt;&lt;br /&gt;•Shannon Whitley offers this example: Code | Live demo&lt;br /&gt;•Daniel Crenna’s examples:&lt;br /&gt;OAuth Specification&lt;br /&gt;&lt;br /&gt;The OAuth Workflow&lt;br /&gt;&lt;br /&gt;OAuth Walkthrough&lt;br /&gt;&lt;br /&gt;Microsoft AntiXSS library&lt;br /&gt;URL: http://bit.ly/toCrt&lt;br /&gt;&lt;br /&gt;This is one of the security packs that MS have released to help .NET developers write better, more secure code. Essentially it is an encoding library designed to help protect ASP.NET web-based applications from XSS attacks, and works on the principals of inclusion (white-listing) to accept valid characters. I’ve used it successfully on a couple of projects, and some of the pre-written methods have been rigourously tested by leading security experts.&lt;br /&gt;&lt;br /&gt;1.Microsoft.Security.Application.AntiXss.HtmlEncode(strNotrust)&lt;br /&gt;2.Microsoft.Security.Application.AntiXss.JavaScriptEncode(strNotrust)&lt;br /&gt;C5 Collections – Collections for .NET&lt;br /&gt;URL: http://www.itu.dk/research/c5/&lt;br /&gt;&lt;br /&gt;C5 provides functionality and data structures not provided by the standard .Net System.Collections.Generic namespace, such as persistent tree data structures, heap based priority queues, hash indexed array lists and linked lists, and events on collection changes. Also, it is more comprehensive than collection class libraries on other similar platforms, such as Java. Unlike many other collection class libraries, C5 is designed with a strict policy of supporting “code to interface not implementation”. Definitely worth a look.&lt;br /&gt;&lt;br /&gt;Honourable Mentions&lt;br /&gt;Dependency Injection/Inversion of Control&lt;br /&gt;&lt;br /&gt;•Unity Framework – Microsoft&lt;br /&gt;•StructureMap – Jeremy Miller&lt;br /&gt;•Castle Windsor&lt;br /&gt;•NInject&lt;br /&gt;•Spring Framework&lt;br /&gt;•Autofac&lt;br /&gt;•Managed Extensibility Framework&lt;br /&gt;Logging&lt;br /&gt;&lt;br /&gt;•Logging Application Block – Microsoft&lt;br /&gt;•NLog&lt;br /&gt;Compression&lt;br /&gt;&lt;br /&gt;•SharpZipLib&lt;br /&gt;•DotNetZip&lt;br /&gt;•YUI Compressor (CSS and JS compression/minification)&lt;br /&gt;Ajax&lt;br /&gt;&lt;br /&gt;•Ajax Control Toolkit – Microsoft&lt;br /&gt;•AJAXNet Pro&lt;br /&gt;Data Mapper&lt;br /&gt;&lt;br /&gt;•XmlDataMapper&lt;br /&gt;•AutoMapper&lt;br /&gt;ORM&lt;br /&gt;&lt;br /&gt;•NHibernate&lt;br /&gt;•Castle ActiveRecord&lt;br /&gt;•Subsonic&lt;br /&gt;•XmlDataMapper&lt;br /&gt;Charting/Graphics&lt;br /&gt;&lt;br /&gt;•Microsoft Chart Controls for ASP.NET 3.5 SP1&lt;br /&gt;•Microsoft Chart Controls for Winforms&lt;br /&gt;•ZedGraph Charting&lt;br /&gt;•NPlot – Charting for ASP.NET and WinForms&lt;br /&gt;PDF Creators/Generators&lt;br /&gt;&lt;br /&gt;•PDFsharp&lt;br /&gt;•iTextSharp&lt;br /&gt;Unit Testing/Mocking&lt;br /&gt;&lt;br /&gt;•NUnit&lt;br /&gt;•Rhino Mocks&lt;br /&gt;•Moq&lt;br /&gt;•TypeMock.Net&lt;br /&gt;•xUnit.net&lt;br /&gt;•mbUnit&lt;br /&gt;•Machine.Specifications&lt;br /&gt;Automated Web Testing&lt;br /&gt;&lt;br /&gt;•Selenium&lt;br /&gt;•Watin&lt;br /&gt;URL Rewriting&lt;br /&gt;&lt;br /&gt;•url rewriter&lt;br /&gt;•UrlRewriting.Net&lt;br /&gt;•Url Rewriter and Reverse Proxy – Managed Fusion&lt;br /&gt;Controls&lt;br /&gt;&lt;br /&gt;•Krypton – Free winform controls&lt;br /&gt;•Source Grid – A Grid control&lt;br /&gt;•Devexpress – free controls&lt;br /&gt;Unclassified&lt;br /&gt;&lt;br /&gt;•CSLA Framework – Business Objects Framework&lt;br /&gt;•AForge.net – AI, computer vision, genetic algorithms, machine learning&lt;br /&gt;•Enterprise Library 4.1 – Logging, Exception Management, Validation, Policy Injection&lt;br /&gt;•Quartz.NET – Enterprise Job Scheduler for .NET Platform&lt;br /&gt;•MiscUtil – Utilities by Jon Skeet&lt;br /&gt;•Lucene.net – Text indexing and searching&lt;br /&gt;•Json.NET – Linq over JSON&lt;br /&gt;•Flee – expression evaluator&lt;br /&gt;•PostSharp – AOP&lt;br /&gt;•IKVM – brings the extensive world of Java libraries to .NET.&lt;br /&gt;•FlickrNET – Flickr library for .NET&lt;br /&gt;•PowerCollections – Power Collections for .NET&lt;br /&gt;•Facebook.net – Facebook API interface.&lt;br /&gt;Related Posts&lt;br /&gt;•Sending SMS Messages using 24x and VB.NET &lt;br /&gt;•A decade in web design&lt;br /&gt;•29 awesome websites to promote your web based applications&lt;br /&gt;•ASP.NET News management script released.&lt;br /&gt;•NHibernate. (Another Guide). For Visual Studio 2005.&lt;br /&gt;•Essential Utilities and Programs you need when re-installing Windows.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-68156211918360697?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/68156211918360697/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=68156211918360697' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/68156211918360697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/68156211918360697'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/02/60-net-libraries-every-developer-should.html' title='60+ .NET libraries every developer should know about.'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3666716567623722608</id><published>2010-02-16T21:39:00.003+01:00</published><updated>2010-02-16T21:52:13.566+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Mapwindow'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>MapWindow version WPF</title><content type='html'>Je viens de contribuer au projet MapWindow un outil de cartographie en Dotnet. Une très bonne illustration du développement collaboratif avec Dotnet et en multi langage. Effectivement une partie des sources sont en VB.Net, une autre en C#, et enfin l'ActiveX de base MapWinGis est lui developpé en C++.&lt;br /&gt;Ma petite contribution est une encapsulation de cette ActiveX pour pouvoir l'utiliser dans une application WPF.&lt;br /&gt;Les codes sources sont disponibles sur le site &lt;br /&gt;&lt;a href="http://www.mapwindow.org/"&gt;www.mapwindow.org&lt;/a&gt;. Ma contribution est disponible dans subversion : &lt;a href="http://svn.mapwindow.org/svnroot/MW4Playground/MW4_WPF/"&gt;MW4Playground/MW4_WPF&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3666716567623722608?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3666716567623722608/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3666716567623722608' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3666716567623722608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3666716567623722608'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/02/mapwindow-version-wpf.html' title='MapWindow version WPF'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-7322369299140149978</id><published>2010-01-16T18:17:00.003+01:00</published><updated>2010-01-16T18:27:14.373+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kids'/><title type='text'>Programmez avec les 'enfants'</title><content type='html'>Le titre dit tout...&lt;br /&gt;Pour prendre la tête à un enfant, voici trois solutions.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fuse.microsoft.com/kodu/"&gt;Microsoft KODU&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/fr-fr/coding4fun/dd262150.aspx"&gt;Small Basic&lt;/a&gt;&lt;br /&gt;&lt;a href="http://education.mit.edu/drupal/starlogo-tng"&gt;Star Logo (pour les nostalgique du Logo)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;C'est un peu comme avec le train électrique ou le circuit 24/24, aprés une heure c'est vous qui jouez...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-7322369299140149978?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/7322369299140149978/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=7322369299140149978' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7322369299140149978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7322369299140149978'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/01/programmez-avec-les-enfants.html' title='Programmez avec les &apos;enfants&apos;'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3847992982852826082</id><published>2010-01-14T16:56:00.002+01:00</published><updated>2010-01-14T17:01:04.211+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>WIKI-OS: ALife est une implementation du jeu de la vie.</title><content type='html'>Le jeu de la vie est un automate cellulaire dont l'aglo est extraiment simple, mais le resultat étonnant.&lt;br /&gt;Les spécifications du jeu : &lt;a href="http://fr.wikipedia.org/wiki/Jeu_de_la_vie"&gt;http://fr.wikipedia.org/wiki/Jeu_de_la_vie&lt;/a&gt;&lt;br /&gt;Un autre site sympa : &lt;a href="http://www.dlegland.fr/maths/life/confis1.html"&gt;http://www.dlegland.fr/maths/life/confis1.html&lt;/a&gt;&lt;br /&gt;Et biensur la version sur WIKI-OS : &lt;a href="http://www.wiki-os.org/https://www.wiki-os.org/Silverlight.aspx"&gt;http://www.wiki-os.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3847992982852826082?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3847992982852826082/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3847992982852826082' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3847992982852826082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3847992982852826082'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/01/wiki-os-alife-est-une-implementation-du.html' title='WIKI-OS: ALife est une implementation du jeu de la vie.'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-2631825630251430161</id><published>2010-01-14T11:43:00.004+01:00</published><updated>2010-01-14T11:49:41.869+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>FileHelpers.Net: Import/export de fichier taille fixe, ou variable avec séparateur.</title><content type='html'>Voici une petite librairie .Net qui permet l'import/export de fichier texte de taille fixe, ou délimitée. Elle permet de définir une classe qui représente le modèle de données du fichier et de faire le mapping automatiquement vers le modèle de classe. Il y a un petit générateur de classe a partir de la définition du fichier. Bref c'est plutôt sympa.&lt;br /&gt;&lt;a href="http://filehelpers.sourceforge.net/"&gt;filehelpers/&lt;/a&gt; (license LGPL)&lt;br /&gt;Merci à Emmanuel pour l'info.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-2631825630251430161?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/2631825630251430161/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=2631825630251430161' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2631825630251430161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2631825630251430161'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/01/filehelpersnet-importexport-de-fichier.html' title='FileHelpers.Net: Import/export de fichier taille fixe, ou variable avec séparateur.'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4633652703584384274</id><published>2010-01-10T13:08:00.002+01:00</published><updated>2010-01-10T13:13:21.034+01:00</updated><title type='text'>Pourquoi je n'utilise plus Acrobat Reader (II)</title><content type='html'>Pour faire suite à mon post&lt;br /&gt;&lt;a href="http://fberton.blogspot.com/2008/10/pourquoi-je-nutilise-plus-acrobat.html"&gt;"Pourquoi je n'utilise plus Acrobat Reader"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Voici FoxitReader, il est beaucoup plus rapide qu'Acrobat Reader, et juste 10 fois moins gros (10 Mo contre 100 Mo). &lt;a href="http://www.foxitsoftware.com/downloads/index.php"&gt;FoxitReader&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4633652703584384274?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4633652703584384274/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4633652703584384274' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4633652703584384274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4633652703584384274'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/01/pourquoi-je-nutilise-plus-acrobat.html' title='Pourquoi je n&apos;utilise plus Acrobat Reader (II)'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-866575112950762843</id><published>2010-01-08T13:54:00.003+01:00</published><updated>2010-01-09T17:35:19.797+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>JSon.net un serializer plus rapide que le BinaryFormatter</title><content type='html'>Le site de l'auteur: &lt;a href="http://james.newtonking.com/projects/json-net.aspx"&gt;http://james.newtonking.com/projects/json-net.aspx&lt;/a&gt;&lt;br /&gt;Le site codeplex: &lt;a href="http://www.codeplex.com/Json"&gt;http://www.codeplex.com/Json&lt;/a&gt;&lt;br /&gt;Le bench fait , par l'auteur : &lt;a href="http://james.newtonking.com/archive/2010/01/01/net-serialization-performance-comparison.aspx"&gt;http://james.newtonking.com/archive/2010/01/01/net-serialization-performance-comparison.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-866575112950762843?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/866575112950762843/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=866575112950762843' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/866575112950762843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/866575112950762843'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2010/01/jsonnet-une-serializer-plus-rapide-que.html' title='JSon.net un serializer plus rapide que le BinaryFormatter'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3682645099248309357</id><published>2009-12-06T15:53:00.002+01:00</published><updated>2009-12-06T15:56:19.241+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XBAP'/><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><title type='text'>Vider le cache XBAP</title><content type='html'>Pour vider le cache des applications XBAP, si vous n'avez pas le SDK .Net sur la machine, utilisez la commande :&lt;br /&gt;rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache&lt;br /&gt;Sinon, utiliser : mage -cc&lt;br /&gt;&lt;br /&gt;Source:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/karstenj/archive/2006/08/09/693488.aspx"&gt;http://blogs.msdn.com/karstenj/archive/2006/08/09/693488.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3682645099248309357?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3682645099248309357/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3682645099248309357' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3682645099248309357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3682645099248309357'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/12/vider-le-cache-xbap.html' title='Vider le cache XBAP'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-8504973905511549894</id><published>2009-11-05T11:57:00.002+01:00</published><updated>2009-11-05T12:01:03.971+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>C# supprimer les accents d'une chaine</title><content type='html'>La formule magique :&lt;br /&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;string text = "éàéö";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;System.Text.Encoding.ASCII.GetString(System.Text.Encoding.GetEncoding(1251).GetBytes(text))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;L'explication du code sur :&lt;br /&gt;&lt;a href="http://www.clt-services.com/blog/post/Enlever-les-accents-dans-une-chaine-(proprement).aspx"&gt;http://www.clt-services.com/blog/post/Enlever-les-accents-dans-une-chaine-(proprement).aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-8504973905511549894?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/8504973905511549894/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=8504973905511549894' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8504973905511549894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8504973905511549894'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/11/c-supprimer-les-accents-dune-chaine.html' title='C# supprimer les accents d&apos;une chaine'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-6894354144267201260</id><published>2009-10-29T23:29:00.008+01:00</published><updated>2009-10-29T23:48:02.767+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Serialisation/deserialsation de données XML avec WCF DataContractSerializer</title><content type='html'>&lt;div&gt;Dans cette exemple, j'ai une liste générique de personne définit comme un DataContract WCF, que je serialise dans un fichier puis l'inverse.&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;    &lt;span style="font-size:78%;"&gt;&lt;span style="font-family:arial;"&gt;[DataContract]&lt;br /&gt; public class Person&lt;br /&gt; {&lt;br /&gt;     [DataMember]&lt;br /&gt;     public string Nom {get;set;}&lt;br /&gt;     [DataMember]&lt;br /&gt;     public string Prenom { get; set; }&lt;br /&gt;     [DataMember]&lt;br /&gt;     public int Age { get; set; }&lt;br /&gt; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Serialisation de données&lt;/strong&gt;&lt;/div&gt;&lt;span class="Apple-style-span"   style="border-collapse: separate; color: rgb(0, 0, 0);   font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:'Times New Roman';font-size:medium;"&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;   font-family:arial, sans-serif;font-size:13px;"&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;FileStream writer = new FileStream(@"c:\temp\test.xml", FileMode.Create);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;DataContractSerializer ser = new DataContractSerializer(typeof(List&lt;person&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;ser.WriteObject(writer, lstPers);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;writer.Close();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span"   style="border-collapse: separate; color: rgb(0, 0, 0);   font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:'Times New Roman';font-size:medium;"&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;   font-family:arial, sans-serif;font-size:13px;"&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Desrialisation de données &lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="border-collapse: separate; color: rgb(0, 0, 0);   font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:'Times New Roman';font-size:medium;"&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;   font-family:arial, sans-serif;font-size:13px;"&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;FileStream reader = new FileStream(@"c:\temp\test.xml", FileMode.Open);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;DataContractSerializer ser = new DataContractSerializer(typeof(List&lt;person&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;lstPers = (List&lt;person&gt;)ser.ReadObject(reader);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;reader.Close();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-6894354144267201260?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/6894354144267201260/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=6894354144267201260' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/6894354144267201260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/6894354144267201260'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/10/serialisationdeserialsaition-de-donnees.html' title='Serialisation/deserialsation de données XML avec WCF DataContractSerializer'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-51973440053371805</id><published>2009-10-29T23:20:00.003+01:00</published><updated>2009-10-29T23:25:22.124+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Lire des données dans Excel avec ADO.NET</title><content type='html'>&lt;div&gt;  &lt;p class="MsoNormal"&gt;L'exemple de code ci dessous permet de lire les données d'une feuille (Feuil1) dans un fichier Excel (Classeur1.xls).&lt;br /&gt;La feuille contient une première ligne avec nom, prenom,et age qui forme le titre des colonnes, Les lignes suivantes contiennent des données.&lt;/p&gt;  &lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;string connectionString = @"Provider=Microsoft.Jet.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;OLEDB.4.0;Data Source=c:\\temp\\Classeur1.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;xls;Extended Properties=""Excel 8.0;HDR=YES;""";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;            DbProviderFactory factory = DbProviderFactories.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;GetFactory("System.Data.OleDb"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;            using (DbConnection connection = factory.CreateConnection())&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;            {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                connection.ConnectionString = connectionString;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                using (DbCommand command = connection.CreateCommand())&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                    command.CommandText = "SELECT nom,prenom,age FROM [Feuil1$]";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                    connection.Open();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                    lstPers = new List&lt;person&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                    using (DbDataReader dr = command.ExecuteReader())&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                    {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                        while (dr.Read())&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                        {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                            double d = dr.GetDouble(dr.GetOrdinal("&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;age"));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                            lstPers.Add(new Person(dr["nom"].ToString(), dr["prenom"].ToString(), (Int32)d ));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                        }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                    }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-51973440053371805?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/51973440053371805/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=51973440053371805' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/51973440053371805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/51973440053371805'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/10/lire-des-donnees-dans-excel-avec-adonet.html' title='Lire des données dans Excel avec ADO.NET'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1521312450450106528</id><published>2009-10-05T21:59:00.004+02:00</published><updated>2010-01-08T13:37:54.323+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Recopie des entités metiers dans les DataContracts</title><content type='html'>Vous pouvez utiliser le générateur de code &lt;a href="http://www.codeplex.com/AutoMapper"&gt;AutoMapper&lt;/a&gt; disponible sur CodePlex.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1521312450450106528?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1521312450450106528/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1521312450450106528' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1521312450450106528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1521312450450106528'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/10/recopie-des-entites-metiers-dans-les.html' title='Recopie des entités metiers dans les DataContracts'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1240930829854492968</id><published>2009-10-05T17:50:00.004+02:00</published><updated>2009-10-05T18:05:49.947+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF, charger dynamiquement tout les services configurés dans system.serviceModel</title><content type='html'>Voici un exemple de code qui vous permet de charger dynamiquement tout les services définit dans la section system.serviceModel de votre fichier app.config.&lt;br /&gt;Ce code est inspiré par celui de Ingo &lt;a href="http://blogs.thinktecture.com/ingo/archive/2006/09/05/414686.aspx"&gt;Start ServiceHosts for all configured Services&lt;/a&gt;.&lt;br /&gt;Dans l'exemple présent, on considère que les services sont contenus dans une assembly externe. Pour récupérer le type du service il faut donc construire son nom de type avec la forme "completeTypeName,assemblyName", ce qui est fait par le code&lt;br /&gt;&lt;span style="font-size:78%;"&gt;String sServicesAssembleName = appSettings.Settings["ServiceAssemblyName"].Value.ToString();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;String sTypeName = String.Format("{0},{1}", srvElem.Name, sServicesAssembleName);&lt;/span&gt;&lt;br /&gt;Voici le code complet :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;&lt;span style="color:#33ff33;"&gt;&lt;span style="color:#33cc00;"&gt;// Get the configuration file.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);&lt;br /&gt;System.Configuration.AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");&lt;br /&gt;String sServicesAssembleName = appSettings.Settings["ServiceAssemblyName"].Value.ToString();&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//Get the appSettings section.&lt;/span&gt;&lt;br /&gt;ServiceModelSectionGroup SrvModel = (ServiceModelSectionGroup)config.GetSectionGroup("system.serviceModel");&lt;br /&gt;foreach (ServiceElement srvElem in SrvModel.Services.Services)&lt;br /&gt;{&lt;br /&gt;String sTypeName = String.Format("{0},{1}", srvElem.Name, sServicesAssembleName);&lt;br /&gt;Type typeService = Type.GetType(sTypeName);&lt;br /&gt;if (typeService != null)&lt;br /&gt;m_ListServiceHost.Add(new ServiceHost(typeService));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;foreach (ServiceHost host in m_ListServiceHost)&lt;br /&gt;{&lt;br /&gt;host.Open();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:78%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1240930829854492968?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1240930829854492968/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1240930829854492968' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1240930829854492968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1240930829854492968'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/10/wcf-charger-dynamiquement-tout-les.html' title='WCF, charger dynamiquement tout les services configurés dans system.serviceModel'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-8936928112885494242</id><published>2009-09-27T16:32:00.003+02:00</published><updated>2009-09-27T16:40:17.716+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Le coach PHP pour Visual Studio</title><content type='html'>Dans un post en début d'année 2009 (&lt;a href="http://fberton.blogspot.com/2009/02/visual-studio-2008-ide-pour-php.html"&gt;http://fberton.blogspot.com/2009/02/visual-studio-2008-ide-pour-php.html&lt;/a&gt;), je vous avez donnée le lien sur un plug'in Visual Studio pour faire du PHP.&lt;br /&gt;Je viens de decouvrir, un coach pour la prise en main de ce plug 'in &lt;a href="http://msdn.microsoft.com/fr-fr/vstudio/msdn.coach.vsphp.atelier1.aspx"&gt;http://msdn.microsoft.com/fr-fr/vstudio/msdn.coach.vsphp.atelier1.aspx&lt;/a&gt;.&lt;br /&gt;ça donne envi de faire du PHP...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-8936928112885494242?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/8936928112885494242/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=8936928112885494242' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8936928112885494242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8936928112885494242'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/09/le-coach-php-pour-visual-studio.html' title='Le coach PHP pour Visual Studio'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4385576537727228935</id><published>2009-09-16T13:57:00.003+02:00</published><updated>2009-09-16T14:01:11.900+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Diagramme de classe WPF et .Net Framework 3.5</title><content type='html'>&lt;p&gt;Voici deux urls pour trouver les diagrammes de classes du Microsoft .Net Framework 3.5 et de WPF. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://download.microsoft.com/download/4/a/3/4a3c7c55-84ab-4588-84a4-f96424a7d82d/NET_35_Namespaces_Poster_JAN08.pdf"&gt;fichier PDF du MS .NET Framework 3.5 Namespace&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.interknowlogy.com/johnbowen/archive/2007/05/02/13107.aspx"&gt;WPF class library reference par interknowlogy&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4385576537727228935?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4385576537727228935/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4385576537727228935' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4385576537727228935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4385576537727228935'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/09/diagramme-de-classe-wpf-et-net.html' title='Diagramme de classe WPF et .Net Framework 3.5'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1458603239166389462</id><published>2009-06-26T00:17:00.007+02:00</published><updated>2009-07-01T00:03:15.411+02:00</updated><title type='text'>J'ai décidé d'écrire mes posts avec un formalisme proche des celui des patterns</title><content type='html'>&lt;strong&gt;Problématique:&lt;/strong&gt;&lt;br /&gt;Le premier paragraphe a pour objectif de d'écrire la problématique de manière simple, et concise.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pré-requis: &lt;/strong&gt;&lt;br /&gt;Les pré requis donne la liste des éléments nécessaire à la mise en place de la solution.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;La solution dans un style de rédaction le plus directe possible, pas de bla bla.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Explication détaillé:&lt;/strong&gt;&lt;br /&gt;Une explication sur la solution, le pourquoi, le comment.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Liens:&lt;/strong&gt;&lt;br /&gt;Des liens sur les informations qui m'ont servis a élaboré la solution.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mon état d'esprit:&lt;/strong&gt;&lt;br /&gt;Je suis content de moi, ou pas. Ce paragraphe a pour objectif de d'écrire mon état esprit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1458603239166389462?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1458603239166389462/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1458603239166389462' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1458603239166389462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1458603239166389462'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/06/jai-decide-decrire-mes-posts-avec-un.html' title='J&apos;ai décidé d&apos;écrire mes posts avec un formalisme proche des celui des patterns'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5996378353656149157</id><published>2009-05-26T11:24:00.004+02:00</published><updated>2009-05-26T12:01:31.743+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Wiki-OS : Un nouveau concept, l'OS Wiki</title><content type='html'>L'idée est simple développer un OS en mode Wiki.&lt;br /&gt;Le projet est vraiment sympa, il permet de développer des applications en Microsoft .NET 3, avec WPF, etc...&lt;br /&gt;L'environnement de Wiki-OS vous permet donc de développer depuis un simple navigateur, bien sûr vous devez avoir un Microsoft .Net 3 sur votre poste.&lt;br /&gt;C'est géniale, pas besoins d'installer Visual Studio sur votre poste.&lt;br /&gt;Le lien : &lt;a href="http://wiki-os.org"&gt;WIKI-OS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5996378353656149157?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5996378353656149157/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5996378353656149157' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5996378353656149157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5996378353656149157'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/05/wiki-os-un-nouveau-concept-los-wiki.html' title='Wiki-OS : Un nouveau concept, l&apos;OS Wiki'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5826722091293463533</id><published>2009-03-23T13:43:00.010+01:00</published><updated>2009-03-23T14:05:34.356+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Faire des histogrammes chart sous ASP.NET</title><content type='html'>&lt;div&gt;Si vous avez besoins de faire des graphiques de type histogrammes, courbes, camberts, etc.&lt;br /&gt;Vous avez la solution d'utiliser les services de base du &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;amp;displaylang=en"&gt;charting control for ASP.NET 3.5 SP1&lt;/a&gt;. Mais cela implique que vous utilisez le framework 3.5 sur votre serveur.&lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=mschart&amp;amp;DownloadId=3633"&gt;&lt;img style="WIDTH: 644px; CURSOR: hand; HEIGHT: 128px" alt="" src="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=mschart&amp;amp;DownloadId=3633" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Si comme moi vous n'avez pas le droit d'utiliser le framework 3.5, mais uniquement le 2.0 alors voici une solution plutôt sympa (bien documentée, avec des exemples) et en opensource. Il s'agit de &lt;a href="http://zedgraph.org/wiki/index.php?title=Main_Page"&gt;&lt;strong&gt;zedGraph&lt;/strong&gt;&lt;/a&gt; et couvre tout les graphiques 2D de base et reste trés simple à mettre en oeuvre. Voici un exemple.&lt;br /&gt;&lt;a href="http://zedgraph.org/wiki/images/1/1a/Combo.png"&gt;&lt;img style="WIDTH: 500px; CURSOR: hand; HEIGHT: 375px" alt="" src="http://zedgraph.org/wiki/images/1/1a/Combo.png" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&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/11712011-5826722091293463533?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5826722091293463533/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5826722091293463533' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5826722091293463533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5826722091293463533'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/03/faire-des-histogrammes-chart-sous.html' title='Faire des histogrammes chart sous ASP.NET'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3240438853104663713</id><published>2009-03-19T14:11:00.007+01:00</published><updated>2009-03-19T14:38:07.598+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Développeur ASP.NET, 3 articles must read !!!</title><content type='html'>Voici trois articles qui sont pour moi des must read. du développeur ASP.NET.&lt;br /&gt;Ces articles sont signés par Amethyste (Frédéric De Lène Mirouze) qui est architecte .NET chez &lt;a href="http://www.expertime.com/fr/Accueil/Accueil.htm"&gt;Expertime&lt;/a&gt;.&lt;br /&gt;Merci à lui pour ce travail extraordinaire en qualité comme en pédagogie !!!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dotnetguru.org/articles/dossiers/viewstate/viewstate.htm"&gt;Le ViewState sous toutes ses coutures&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dotnetguru.org/articles/aspnet/events/EventASPNET1.htm"&gt;Maîtriser les évènements ASP.NET&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dotnetguru.org/articles/dossiers/composantBindes/article.htm"&gt;Ecrire des composants liés aux données&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3240438853104663713?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3240438853104663713/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3240438853104663713' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3240438853104663713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3240438853104663713'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/03/developpeur-aspnet-3-articles-must-read.html' title='Développeur ASP.NET, 3 articles must read !!!'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-7463414810472697731</id><published>2009-03-10T22:59:00.002+01:00</published><updated>2009-03-10T23:14:16.259+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Sculture un générateur de code pour .Net OpenSource. MDA biensûr</title><content type='html'>Sculture est un générateur de code pour .Net OpenSource. Il est particulièrement bien adapté pour les applications basées sur les données. Il s'agit d'une extension de Visual Studio 2008 donc le GAX est nécessaire.&lt;br /&gt;Il permet de générer du code pour DAAB, NHibernate, LINQ, CSLA, WCF, ASMX, Windows Forms, WPF, Silverlight, ASP.NET, ASP.NET MVC .&lt;br /&gt;Voici le site : &lt;a href="http://www.codeplex.com/Sculpture"&gt;http://www.codeplex.com/Sculpture&lt;/a&gt;&lt;br /&gt;Ici une petite vidéo de démo : &lt;a href="http://www.dawliasoft.com/Sculpture/Beta2/Intro%2DPart1/"&gt;http://www.dawliasoft.com/Sculpture/Beta2/Intro%2DPart1/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-7463414810472697731?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/7463414810472697731/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=7463414810472697731' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7463414810472697731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7463414810472697731'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/03/sculture-un-generateur-de-code-pour-net.html' title='Sculture un générateur de code pour .Net OpenSource. MDA biensûr'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-699727566049942743</id><published>2009-03-09T12:44:00.000+01:00</published><updated>2009-03-09T12:47:08.025+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Outils de développement Microsoft Product Support Lifecycle</title><content type='html'>Voici l'url pour connaitre le Product Support Lifecycle des produits de développement Microsoft.&lt;br /&gt;&lt;a href="http://support.microsoft.com/select/default.aspx?target=lifecycle&amp;amp;c1=501&amp;amp;"&gt;http://support.microsoft.com/select/default.aspx?target=lifecycle&amp;amp;c1=501&amp;amp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La stratégie est disponible à :&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=fh;en-us;lifecycle&amp;amp;ln=en-us&amp;amp;x=11&amp;amp;y=5#Mainstream%20Support"&gt;http://support.microsoft.com/default.aspx?scid=fh;en-us;lifecycle&amp;amp;ln=en-us&amp;amp;x=11&amp;amp;y=5#Mainstream%20Support&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-699727566049942743?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/699727566049942743/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=699727566049942743' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/699727566049942743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/699727566049942743'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/03/outils-de-developpement-microsoft.html' title='Outils de développement Microsoft Product Support Lifecycle'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3331009437022433698</id><published>2009-02-18T10:42:00.004+01:00</published><updated>2009-02-18T10:56:08.816+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Visual Studio 2008, IDE pour PHP !!!!</title><content type='html'>&lt;p&gt;La société jcxSoftware vend un plug in pour Visual studio 2008 qui permet de faire du développement avec Visual Studio 2008 et PHP.&lt;br /&gt;Au menu:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Support PHP4 et PHP5 ;&lt;/li&gt;&lt;li&gt;Coloration syntaxique ;&lt;/li&gt;&lt;li&gt;Intellisense (php, html, css, xml, xslt, javascript, smarty)&lt;/li&gt;&lt;li&gt;Debug (php, javascript, et .Net) dans la même session. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Le produit n'est pas gratuit : 100$&lt;br /&gt;&lt;a href="http://www.jcxsoftware.com/vs.php"&gt;http://www.jcxsoftware.com/vs.php&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;PHP dans Visual Studio, Si on me l'avait dit, je ne l’aurais pas cru. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3331009437022433698?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3331009437022433698/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3331009437022433698' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3331009437022433698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3331009437022433698'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/02/visual-studio-2008-ide-pour-php.html' title='Visual Studio 2008, IDE pour PHP !!!!'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5175352789635832392</id><published>2009-01-10T11:31:00.002+01:00</published><updated>2009-01-10T11:34:38.420+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><title type='text'>Un peu de lecture sur l'architecture logiciel (2)</title><content type='html'>Suite à mon post : &lt;a href="http://fberton.blogspot.com/2008/11/un-peu-de-lecture-sur-larchitecture.html"&gt;Un peu de lecture sur l'architecture logiciel&lt;/a&gt;&lt;br /&gt;La version finale est disponible :&lt;br /&gt;&lt;a href="http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=20586"&gt;http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=20586&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bonne lecture ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5175352789635832392?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5175352789635832392/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5175352789635832392' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5175352789635832392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5175352789635832392'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/01/un-peu-de-lecture-sur-larchitecture.html' title='Un peu de lecture sur l&apos;architecture logiciel (2)'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3533871418760027181</id><published>2009-01-08T12:39:00.003+01:00</published><updated>2009-01-08T12:49:17.221+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Identification des versions du .Net Framework de 1.0 à  2.0</title><content type='html'>Voici un lien pour connaitre les versions existantes du Microsoft .Net Framework.&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/318785"&gt;http://support.microsoft.com/kb/318785&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En résumé :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;.Net Framework 1.0&lt;br /&gt;&lt;/strong&gt;1.0.3705.0 Version finale d'origine&lt;br /&gt;1.0.3705.209 .NET Framework Service Pack 1&lt;br /&gt;1.0.3705.288 .NET Framework Service Pack 2&lt;br /&gt;1.0.3705.6018 .NET Framework Service Pack 3&lt;/li&gt;&lt;li&gt;&lt;strong&gt;.Net Framework 1.1&lt;br /&gt;&lt;/strong&gt;1.1.4322.573 Version finale d'origine&lt;br /&gt;1.1.4322.2032 .NET Framework Service Pack 1&lt;br /&gt;1.1.4322.2300 .NET Framework inclus avec Windows Server 2003 32 bits Service Pack 1&lt;/li&gt;&lt;li&gt;&lt;strong&gt;.Net Framework 2.0&lt;br /&gt;&lt;/strong&gt;2.0.50727.42 Version finale d'origine&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3533871418760027181?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3533871418760027181/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3533871418760027181' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3533871418760027181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3533871418760027181'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/01/identification-des-versions-du-net.html' title='Identification des versions du .Net Framework de 1.0 à  2.0'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1675065847888542012</id><published>2009-01-06T18:09:00.002+01:00</published><updated>2009-01-06T18:15:48.367+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Lucene.net framework indexation full text</title><content type='html'>Lucene.net est framework indexation full text qui correspond au portage 'brut' de Lucene en Java. C'est un framework donc pas d'application, mais des APIs pour faire de l'indexation et de la recherche full text.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Les liens tutorial :&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/library/IntroducingLucene.aspx"&gt;http://www.codeproject.com/KB/library/IntroducingLucene.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/cs/lucene_analysis.aspx"&gt;http://www.codeproject.com/KB/cs/lucene_analysis.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Le site web de reference:&lt;br /&gt;&lt;a href="http://incubator.apache.org/lucene.net/"&gt;http://incubator.apache.org/lucene.net/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://incubator.apache.org/lucene.net/download/"&gt;http://incubator.apache.org/lucene.net/download/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;La vesion actuelle est la 2.0.004.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1675065847888542012?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1675065847888542012/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1675065847888542012' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1675065847888542012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1675065847888542012'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/01/lucenenet-framework-indexation-full.html' title='Lucene.net framework indexation full text'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-9140468582989318488</id><published>2009-01-05T22:57:00.002+01:00</published><updated>2009-01-05T23:01:40.958+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>ESENT (Extensible Storage Engine) API in the Windows SDK</title><content type='html'>Base de données ISAMdb en standard avec Windows.&lt;br /&gt;Merci le SDK.&lt;br /&gt;&lt;a href="http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx"&gt;http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;API .NET&lt;br /&gt;&lt;a href="http://www.codeplex.com/ManagedEsent"&gt;http://www.codeplex.com/ManagedEsent&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;J'ai trouvé l'info sur : &lt;a href="http://www.ergotinfo.fr/architecture/2008/12/esent-le-moteur-de-base-de-donn%C3%A9es-livr%C3%A9-avec-windows-.html"&gt;http://www.ergotinfo.fr/architecture/2008/12/esent-le-moteur-de-base-de-donn%C3%A9es-livr%C3%A9-avec-windows-.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-9140468582989318488?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/9140468582989318488/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=9140468582989318488' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9140468582989318488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9140468582989318488'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2009/01/esent-extensible-storage-engine-api-in.html' title='ESENT (Extensible Storage Engine) API in the Windows SDK'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-67420490598616641</id><published>2008-11-18T22:37:00.002+01:00</published><updated>2008-11-18T22:42:40.176+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>MOSS pour le développeur .Net</title><content type='html'>Un site sympa avec tout les liens nécessaire pour ce mettre au développement sous MOSS.&lt;br /&gt;&lt;a href="http://www.microsoft.com/click/sharepointdeveloper/html/"&gt;http://www.microsoft.com/click/sharepointdeveloper/html/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-67420490598616641?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/67420490598616641/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=67420490598616641' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/67420490598616641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/67420490598616641'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/11/moss-pour-le-dveloppeur-net.html' title='MOSS pour le développeur .Net'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1824840133232552496</id><published>2008-11-17T17:23:00.010+01:00</published><updated>2008-11-17T18:00:21.474+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Web services en .Net et erreur HTTP 403, arggg...</title><content type='html'>Vous utilisez un web service depuis une application cliente en .Net 2.0, et lorsque vous faite l'appel à votre web services préféré. Boum !!!&lt;br /&gt;Exception, erreur : HTTP 403 Forbiden.&lt;br /&gt;Gloups...&lt;br /&gt;&lt;br /&gt;Un petit test rapide avec Internet explorer vous montre que votre web service est bien accessible avec IE.&lt;br /&gt;Regloups...&lt;br /&gt;&lt;br /&gt;Si depuis IE, dans la boite de dialogue Outils/options Internets/Connexions/Paramètres du réseau... vous désactivez l'option "utilisez un serveur proxy ..."&lt;br /&gt;&lt;br /&gt;Hop, ça marche.&lt;br /&gt;&lt;br /&gt;He bien il a de fortes chances pour que votre problème soit lié à l'utilisation des règles d'exception qui ne sont pas prise en compte par le .Net Framework 2 alors que les autres paramètres de IE sont utilisés par défaut pour établir votre connexion.&lt;br /&gt;Il faut donc écrire explicitement dans votre fichier .config les règles d'exclusion des url qui ne doit pas utilisées le serveur proxy.&lt;br /&gt;&lt;br /&gt;Dans mon cas par exemple j'avais une url de la forme : &lt;a href="http://tagada.mef:82/wsTest.asmx"&gt;http://tagada.mef:82/wsTest.asmx&lt;/a&gt;&lt;br /&gt;Dans IE une règle d'exception : *.mef&lt;br /&gt;Donc normalement mon serveur tagada.mef ne devrait pas utilisée le proxy, hé bien pour IE c'est vrai, mais pour mon appli c'est faux.&lt;br /&gt;Donc petite modification dans le fichier .config de mon appli:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;"&gt;&amp;lt;system.net&amp;gt;&lt;br /&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;defaultproxy&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;bypasslist&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;add&lt;/span&gt; &lt;span class="SpellE"&gt;address&lt;/span&gt;="\.&lt;span class="SpellE"&gt;mef&lt;/span&gt;$" /&amp;gt;&lt;br /&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;bypasslist&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;defaultproxy&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/system.net &amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="MARGIN-BOTTOM: 12pt"&gt;Et voilà ça marche.&lt;br /&gt;Ps) vous pouvez être plus « brutale » et modifier directement le fichier machine.config de votre PC client. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1824840133232552496?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1824840133232552496/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1824840133232552496' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1824840133232552496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1824840133232552496'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/11/web-services-en-net-et-erreur-http-403.html' title='Web services en .Net et erreur HTTP 403, arggg...'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3842746638054032671</id><published>2008-11-07T16:19:00.006+01:00</published><updated>2008-11-07T16:23:29.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Un peu de lecture sur l'architecture logiciel</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Je ne sais pas pour vous, mais j’ai passé de nombreuse journée et soirée à lire et relire la bible des architectures logicielles à base de techno Microsoft. Je veux parler du guide d’architecture « Application Architecture for .NET:Designing Applications and Services » de l’équipe Patterns &amp;amp; Practices.&lt;br /&gt;Eh bien la version 2 de ce doc vient de sortir en Beta 1. Mise au gout du jour avec les applications RIA, OBA, SharePoint, etc. Pour SharePoint je vous conseil particulièrement le chapitre 23.&lt;br /&gt;&lt;br /&gt;Le document est disponible sur codeplex à l’adresse suivante :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=18834"&gt;&lt;span style="font-size:85%;"&gt;http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=18834&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Il existe également des slides à l’adresse suivante :&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codeplex.com/AppArch/Release/ProjectReleases.aspx?ReleaseId=17700"&gt;&lt;span style="font-size:85%;"&gt;http://www.codeplex.com/AppArch/Release/ProjectReleases.aspx?ReleaseId=17700&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Concernant Sharepoint, il existe également depuis ce mois de Novembre un guide sur développement en MOSS. Je n’ai pas eu le temps de le lire, mais la tables des matières est plutôt sympa.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd206939.aspx"&gt;&lt;span style="font-size:85%;"&gt;Creating a Development Environment and Installing the Training Management Application&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This topic discusses how to create a SharePoint development environment and install the Training Management application. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl14" href="http://msdn.microsoft.com/en-us/library/dd206921.aspx"&gt;&lt;span style="font-size:85%;"&gt;Design of the Training Management Application&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This topic explains how the Training Management application is designed and the reasons for those design decisions. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl15" href="http://msdn.microsoft.com/en-us/library/dd206905.aspx"&gt;&lt;span style="font-size:85%;"&gt;Training Management Application Walkthrough&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This topic discusses how the Training Management application is implemented. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl16" href="http://msdn.microsoft.com/en-us/library/dd206931.aspx"&gt;&lt;span style="font-size:85%;"&gt;Deploying and Upgrading SharePoint Applications&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This topic discusses the issues involved in deploying and upgrading SharePoint applications. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl17" href="http://msdn.microsoft.com/en-us/library/dd206920.aspx"&gt;&lt;span style="font-size:85%;"&gt;Upgrading the Training Management Application&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This topic discusses how to apply upgrades to the Training Management application. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl18" href="http://msdn.microsoft.com/en-us/library/dd206918.aspx"&gt;&lt;span style="font-size:85%;"&gt;Development Activities&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This topic contains procedures for performing various tasks such as how to debug SharePoint applications. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl19" href="http://msdn.microsoft.com/en-us/library/dd206948.aspx"&gt;&lt;span style="font-size:85%;"&gt;Technical Guidance&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. This topic discusses various technical issues that SharePoint developers frequently encounter such as how to organize features in a solution. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl20" href="http://msdn.microsoft.com/en-us/library/dd206909.aspx"&gt;&lt;span style="font-size:85%;"&gt;QuickStarts&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. The QuickStarts are small applications that help you understand aspects of SharePoint development. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="ctl00_rs1_mainContentContainer_ctl21" href="http://msdn.microsoft.com/en-us/library/dd206941.aspx"&gt;&lt;span style="font-size:85%;"&gt;Glossary&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;. The glossary includes definitions of SharePoint-related terms.&lt;br /&gt;&lt;br /&gt;Disponible à l’adresse : &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd203468.aspx"&gt;&lt;span style="font-size:85%;"&gt;http://msdn.microsoft.com/en-us/library/dd203468.aspx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3842746638054032671?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3842746638054032671/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3842746638054032671' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3842746638054032671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3842746638054032671'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/11/un-peu-de-lecture-sur-larchitecture.html' title='Un peu de lecture sur l&apos;architecture logiciel'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-888118147858711876</id><published>2008-10-20T21:47:00.010+02:00</published><updated>2008-10-21T22:08:26.249+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ROR'/><title type='text'>Envis de changement : Ruby on Rails</title><content type='html'>Envi de changer, de voir autre chose que du .Net, bref je regarde un peu Ruby on Rails.&lt;br /&gt;&lt;br /&gt;Dans le cadre d'un projet que je termine, j'ai utilisé le pattern ActiveRecord très bien implémenté dans Ruby on Rails. &lt;div&gt;Comme j'ai un peu de temps, j'ai décidé de jeter un coup d'œil sur ce langage (Ruby) et sur sont Framework web (Rails).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Voici déjà quelques liens de base pour commencer.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Un tutorial sur le langage Ruby, très agréable à lire :  &lt;a href="http://www.projectomega.org/contents/fr/php/tuts/ruby/MacOSX_Ruby_Reference.pdf"&gt;MacOSX_Ruby_Reference.pdf&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Un tutorial sur le framework Rails : &lt;a href="http://mordeletj.free.fr/RoR/synthese_RoR.pdf"&gt;synthese_RoR.pdf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Le lien pour télécharger Ruby on rails pour Windows avec installation de Ruby et de Rails.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://rubyforge.org/frs/?group_id=167"&gt;RubyForge Final Release&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dans un prochaine post, mon avis sur ce langage (si brillant.... facile).&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/11712011-888118147858711876?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/888118147858711876/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=888118147858711876' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/888118147858711876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/888118147858711876'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/10/envis-de-changement-ruby-on-rails.html' title='Envis de changement : Ruby on Rails'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3056244842829789260</id><published>2008-10-13T09:12:00.003+02:00</published><updated>2008-10-13T10:05:50.649+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Pourquoi je n'utilise plus Acrobat Reader</title><content type='html'>&lt;div&gt;Pour moi depuis longtemps maintenant, lorsque je pense PDF, je pense également Acrobat Reader. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Ah, Acrobat Reader, depuis longtemps aussi je peste devant la lenteur du chargement de l’application. Je ne parle pas du comportement étonnant de l’ActiveX dont les capacités de programmation sont aussi bonnes que les performances de chargement d’Acrobat Reader.&lt;br /&gt;Eh, bien entre Acrobat et moi c’est fini. Si, si, il existe bien des solutions alternatives à ce produit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;En l’occurrence je suis passé à PDF-XChange Viewer &lt;a href="http://www.docu-track.com/home/prod_user/PDF-XChange_Tools/pdfx_viewer"&gt;http://www.docu-track.com/home/prod_user/PDF-XChange_Tools/pdfx_viewer&lt;/a&gt; ce produit est diffusé gratuitement par la société Tracker Software products &lt;a href="http://www.docu-track.com/"&gt;http://www.docu-track.com/&lt;/a&gt;&lt;br /&gt;Bien évidement, il est plus rapide au chargement de l’application. En termes de fonctionnalités il est également beaucoup plus riche. Comme par exemple la possibilité de faire des commentaires, ou d’écrire dans le fichier PDF, puis de sauvegarder vos modifications. Bien sur elles seront lisibles par un reader PDF autres.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Du côté de l’ActiveX c’est encore mieux. Toutes les fonctionnalités du produit sont disponibles, paramétrables, activables ou non. Bref il s’agit d’un vrai composant ActiveX (en revanche, il est payant : 1300 euro pour 25000 licences). Si vous avez besoins d’embarquer dans une application client riche un viewer de PDF dont vous maitrisés les fonctionnalités. Alors « The PDF-XChange Viewer SDK » est l’outil dont vous rêvez. &lt;a href="http://www.docu-track.com/home/dev_tools/pdf/PDF-XChange_Viewer_SDK/"&gt;http://www.docu-track.com/home/dev_tools/pdf/PDF-XChange_Viewer_SDK/&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.docu-track.com/PdfVwrSample.PNG"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://www.docu-track.com/PdfVwrSample.PNG"&gt;&lt;img style="WIDTH: 400px; CURSOR: hand" alt="" src="http://www.docu-track.com/PdfVwrSample.PNG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3056244842829789260?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3056244842829789260/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3056244842829789260' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3056244842829789260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3056244842829789260'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/10/pourquoi-je-nutilise-plus-acrobat.html' title='Pourquoi je n&apos;utilise plus Acrobat Reader'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4267339727600200177</id><published>2008-10-08T11:07:00.009+02:00</published><updated>2008-10-12T00:47:26.057+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><title type='text'>Stratégie de gestion de version des web services (part 1)</title><content type='html'>&lt;a name="_Toc210636282"&gt;&lt;strong&gt;1 - Stratégie de gestion de version des web services&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;Dans ce post nous essayons de définir une stratégie de gestion de version des web services.&lt;br /&gt;&lt;br /&gt;Cette analyse ce base sur :&lt;br /&gt;* Le point de vue de l’utilisateur de web service (ou consommateur), et ses attentes en terme de gestion de version.&lt;br /&gt;* Le point de vue du fournisseur de web service, concernant sa capacité à maintenir opérationnelle une version, et plus particulièrement les événements possibles dans le cycle de vie d’une application (ici ) et les conséquences de ces événements sur les web services en terme de version.&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139170"&gt;&lt;strong&gt;1.1 - Le point de vue de l’utilisateur (consommateur) des web services&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Tout d’abord le lecteur doit comprendre le point de vue de l’utilisateur d’un web service en termes de gestion de version.&lt;br /&gt;&lt;br /&gt;Pour celui-ci la version d’un web service lui indique s’il existe des changements qui impactent son application et plus particulièrement le code de son application. Dans ce cas il devra réaliser des changements dans son application pour utiliser cette version de web service.&lt;br /&gt;&lt;br /&gt;En revanche l’utilisateur d’un web service dans une version particulière s’attend ce que celui-ci soit immuable dans le temps, il s’agit de la notion de contrat de service.&lt;br /&gt;&lt;br /&gt;Le contrat de service d’un web service s’engage à ne pas réaliser de changement sur :&lt;br /&gt;* Les messages de requête&lt;br /&gt;* Les messages de réponse&lt;br /&gt;* Le nom des opérations disponibles sur un service&lt;br /&gt;* Le nom du service lui-même&lt;br /&gt;* La localisation du service&lt;br /&gt;* La définition fonctionnelle d’une opération d’un web service&lt;br /&gt;* La définition fonctionnelle du web service&lt;br /&gt;&lt;br /&gt;Du point de vue de l’utilisateur d’un web service, si un changement dans le contrat de service se produit, il doit donner lieu à une nouvelle version du web service.&lt;br /&gt;&lt;br /&gt;Lors du déploiement d’une nouvelle version (n+1) d’un web service, celle-ci ne doit en aucun cas impacter la version courante (n) du web service. Ceci pour garantir tous simplement que les applications développées sur la base de la version n du web service continuent de fonctionner normalement.&lt;br /&gt;&lt;br /&gt;Les responsables des applications en interface avec un web service doivent être informés de l’existence d’une nouvelle version. Il sera alors de leur responsabilité de décider des actions à entreprendre du point de vue de leur application. Les actions possibles sont a priori :&lt;br /&gt;* Continuer à utiliser la version n du web service. Dans ce cas le responsable de l’application doit valider la durée de vie de celle-ci auprès du fournisseur de service.&lt;br /&gt;* Planifier une migration vers la nouvelle version n+1&lt;br /&gt;* Dans certains cas le responsable d’application peut décider de continuer à utiliser la version n du web service pour une partie de son application, et la version n+1 pour une autre partie. Ce cas peut se produire sur une application de taille importante composée de plusieurs modules dont les plannings de livraison sont très étalés dans le temps.&lt;br /&gt;&lt;br /&gt;Du point de vue de l’utilisateur d’un web service exposé par une application, le changement de version de l’application n’est pas une cause de changement de version des web services. Ce qui peut amener a des subtilités de gestion de version avec par exemple une application en version 10 qui exposerait un web service en version 1, ou même l’inverse…&lt;br /&gt;&lt;br /&gt;Une autre subtilité de l’approche par contrat de service est la correction d’un bug. Imaginons un web service qui expose une opération dont le résultat est faux. Le responsable de l’application qui fournit le web service réalise la correction de l’anomalie, et la met en service. Du point de vue de l’utilisateur du web service, celui-ci n’a pas changé de version (le contrat n’étant pas modifié) aucune modification ne sera nécessaire dans son application, mais les résultats seront justes. Ceci fait apparaitre la différence entre la gestion de version d’un web service (caractérisé par le WSDL et le contrat de service) et la gestion de version de l’implémentation d’un web service qui est caractérisée par la version des composants logiciel utilisés pour exposer un service dans une version donnée. La gestion de version de l’implémentation d’un web service ne doit pas être visible du consommateur, contrairement à la gestion de version du web service.&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139171"&gt;&lt;strong&gt;1.2 - Le point de vue du fournisseur des web service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Du point de vue du fournisseur de web service la gestion de version d’un web service consiste principalement à assurer :&lt;br /&gt;&lt;br /&gt;* La gestion de version du contrat de service du web service, c'est-à-dire de mettre à disposition des consommateurs les moyens nécessaires pour identifier de manière unique :&lt;br /&gt;- la documentation technique et/ou fonctionnelle,&lt;br /&gt;- la localisation du service,&lt;br /&gt;- la version du service&lt;br /&gt;- la politique de gestion de l’obsolescence, qui doit identifier la manière dont les services mis à disposition dans une version donnée deviennent obsolètes, et ne seront plus maintenus. La conséquence directe pour le consommateur étant l’indisponibilité du service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* La gestion de version de l’implémentation d’un web service, consiste à identifier tous les éléments et moyens nécessaires au fonctionnement et à la maintenance d’un service dans une version donnée. Il s’agit principalement des éléments suivants :&lt;br /&gt;- Les composants matériels (serveur, infrastructure, etc.)&lt;br /&gt;- Les composants logiciels de type COTS comme par exemple le système d’exploitation, le compilateur, le serveur web, et la base de données.&lt;br /&gt;- Les composants logiciels développés sur mesure comme les codes sources, les librairies, et les fichiers de configuration&lt;br /&gt;&lt;br /&gt;La notion de maintenance dans le temps d’un service ne doit pas être prise à la légère. Il est effectivement très difficile d’intervenir en TMA sur un service développé il y a 3 ou 4 ans si la gestion de l’obsolescence n’a pas était prise en compte dans la gestion de version de celui-ci. Par exemple comment retrouver la version X d’un compilateur, ou comment installer de nos jours un poste de développement avec Windows NT 4.&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139172"&gt;&lt;strong&gt;1.3 - Les événements du cycle de vie logiciel et leurs conséquences sur la gestion de version d’un web service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Durant le cycle de vie d’un logiciel un certain nombre d’événements peuvent ce produire. Certains de ces événements peuvent avoir des effets directs ou indirects sur la gestion de version d’un web service. Nous avons identifié ici un certain nombre d’événements classiques, puis pour chacun d’eux nous essayons d’identifier les conséquences en terme de gestion de version.&lt;br /&gt;&lt;br /&gt;Voici la liste des événements (probablement non exhaustive) que nous avons identifiés :&lt;br /&gt;* Correction de bug dans le fonctionnement de l’application&lt;br /&gt;* Correction de bug dans le fonctionnement interne d’un web service&lt;br /&gt;* Ajout d’une nouvelle opération&lt;br /&gt;* Ajout d’un nouveau type&lt;br /&gt;* Ajout d’un nouveau web service&lt;br /&gt;* Changement de version de l’application sans impact sur les contrats de service&lt;br /&gt;* Changement de version de l’application avec impact sur les contrats de service&lt;br /&gt;* Evolution de la définition fonctionnelle d’un web service&lt;br /&gt;* Evolution de la définition fonctionnelle d’une opération d’un web service&lt;br /&gt;* Changement d’un type de retour d’une opération&lt;br /&gt;* Changement d’un type utilisé en paramètre d’une opération&lt;br /&gt;* Evolution du modèle de données de l’application&lt;br /&gt;* Suppression d’une opération&lt;br /&gt;* Suppression d’un type&lt;br /&gt;* Suppression d’un web service&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139173"&gt;&lt;strong&gt;1.3.1 - Correction de bug dans le fonctionnement de l’application&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;La correction d’un bug dans l’application ne doit pas être visible d’un point de vue du consommateur du service. Il n’y a donc pas de changement de version (voir également le cas 1.3.6).&lt;br /&gt;&lt;br /&gt;Il faut toutefois prendre les mesures nécessaires pour s’assurer que la correction effectuée n’aura pas d’effet indirect sur le fonctionnement du service.&lt;br /&gt;&lt;br /&gt;Changement de version : NON&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139174"&gt;&lt;strong&gt;1.3.2 - Correction de bug dans le fonctionnement interne d’un web service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La correction d’un bug dans le fonctionnement interne d’un web service correspond typiquement à la correction d’un résultat rendu par une opération.&lt;br /&gt;Ce type de correction ne doit pas donner lieu à une nouvelle version du service car du point de vue du consommateur le contrat de service n’a pas changé. En l’occurrence il est plutôt devenu juste, en se sens que l’opération répond après correction aux objectifs fonctionnels attendus de celle-ci.&lt;br /&gt;&lt;br /&gt;Le fait que la version du service ne change pas, n’implique pas que les consommateurs ne soient pas au courant de la correction de l’anomalie. Il est donc important que l’équipe projet communique sur le changement apporté, et sur les conséquences possibles.&lt;br /&gt;&lt;br /&gt;Changement de version : NON&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139175"&gt;&lt;/a&gt;&lt;a name="_Ref210650861"&gt;&lt;strong&gt;1.3.3 - Ajout d’une nouvelle opération&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;L’ajout d’une nouvelle opération sur un web service n’implique pas d’un point de vue technique de changement dans le code client existant. Effectivement le code client continue de fonctionner sans avoir connaissance de la nouvelle opération. Comme il n’a pas connaissance de cette nouvelle opération il ne peut pas l’utiliser. S’il désire utiliser cette nouvelle opération alors le code client devra être modifié.&lt;br /&gt;Il est donc techniquement possible de déployer une nouvelle opération sans donner lieu à une nouvelle version.&lt;br /&gt;&lt;br /&gt;Pour être puriste, l’ajout d’une nouvelle opération sur un web service constitue une évolution de la définition fonctionnelle d’un web service (voir cas 1.3.8), et donc doit être considéré comme une nouvelle version.&lt;br /&gt;&lt;br /&gt;Changement de version : OUI/NON&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139176"&gt;&lt;strong&gt;1.3.4 - Ajout d’un nouveau type&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;L’ajout d’un nouveau type est lié à l’ajout d’une nouvelle opération. Il reprend donc les éléments cités pour le cas 1.3.3.&lt;br /&gt;&lt;br /&gt;Ce nouveau type ne doit pas être utilisé dans des opérations existantes sinon il provoque le cas 1.3.10 ou le cas 1.3.11&lt;br /&gt;&lt;br /&gt;Changement de version : OUI/NON&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139177"&gt;&lt;strong&gt;1.3.5 - Ajout d’un nouveau web service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;L’ajout d’un nouveau web service n’implique pas d’un point de vue technique de changement dans le code client existant. Effectivement le code client continue de fonctionner sans avoir connaissance de ce nouveau web service. Comme il n’a pas connaissance de ce nouveau web service il ne peut pas l’utiliser. S’il désire utiliser ce nouveau web service alors le code client devra être modifié.&lt;br /&gt;Il est donc techniquement possible de déployer un nouveau web service sans donner lieu à une nouvelle version.&lt;br /&gt;&lt;br /&gt;Pour être puriste, l’ajout d’un nouveau web service constitue une évolution de la définition fonctionnelle des web services d’un système (voir cas 1.3.8), et donc doit être considéré comme une nouvelle version.&lt;br /&gt;&lt;br /&gt;Changement de version : NON&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139178"&gt;&lt;/a&gt;&lt;a name="_Ref210719367"&gt;&lt;strong&gt;1.3.6 - Changement de version de l’application sans impact sur les contrats de service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dans le cas d’un déploiement d’une nouvelle version de l’application et si les modifications n’ont pas d’impact sur les web services, il ne doit pas y avoir changement de version des web services.&lt;br /&gt;&lt;br /&gt;Ce qui provoquera une différence de version entre la version de l’application en cours d’exploitation et la version des web services.&lt;br /&gt;&lt;br /&gt;L’équipe projet doit prendre les mesures nécessaires pour s’assurer que les changements apportés aux composants logiciels n’ont pas d’impact sur le fonctionnement des web service qui utilisent ces mêmes composants. Effectivement la modification des composants logiciels de l’application peut entrainer la nécessité de modifier le code d’implémentation des web services, mais de doit pas changer le comportement fonctionnel du web service.&lt;br /&gt;&lt;br /&gt;Changement de version : NON&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139179"&gt;&lt;strong&gt;1.3.7 - Changement de version de l’application avec impact sur les contrats de service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lorsque les changements survenus dans l’application sont nombreux ou fondateurs, il est certain que leurs conséquences seront la création d’une nouvelle version de web services.&lt;br /&gt;&lt;br /&gt;Dans ce cas il est important de prendre des mesures pour être capable de maintenir en exploitation la version n-1 des web services.&lt;br /&gt;&lt;br /&gt;Ces mesures peuvent être très couteuses en temps, voir même impossible. Par exemple comment maintenir la disponibilité d’une donnée exposée par le web service si celle-ci n’existe plus dans le modèle de données de l’application ?&lt;br /&gt;&lt;br /&gt;Changement de version : OUI&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139180"&gt;&lt;/a&gt;&lt;a name="_Ref210650924"&gt;&lt;strong&gt;1.3.8 - Evolution de la définition fonctionnelle d’un web service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Une évolution fonctionnelle d’un web service implique nécessairement un changement de version car il y a changement dans le contrat de service.&lt;br /&gt;&lt;br /&gt;Changement de version : OUI&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139181"&gt;&lt;strong&gt;1.3.9 - Evolution de la définition fonctionnelle d’une opération d’un web service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Une évolution fonctionnelle d’une opération d’un web service implique nécessairement un changement de version car il y a changement dans le contrat de service.&lt;br /&gt;&lt;br /&gt;Changement de version : OUI&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139182"&gt;&lt;/a&gt;&lt;a name="_Ref210650709"&gt;&lt;strong&gt;1.3.10 - Changement d’un type de retour d’une opération&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un changement dans un type de retour d’une opération implique nécessairement un changement de version car il y a changement dans le contrat de service.&lt;br /&gt;&lt;br /&gt;Changement de version : OUI&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139183"&gt;&lt;/a&gt;&lt;a name="_Ref210650711"&gt;&lt;strong&gt;1.3.11 - Changement d’un type utilisé en paramètre d’une opération&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un changement dans un type utilisé comme paramètre d’une opération implique nécessairement un changement de version car il y a changement dans le contrat de service.&lt;br /&gt;&lt;br /&gt;Changement de version : OUI&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139184"&gt;&lt;strong&gt;1.3.12 - Evolution du modèle de données de l’application&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si une évolution du modèle de données se produit, et si ce changement est visible dans les types utilisés par un web service alors il doit y avoir un changement de version.&lt;br /&gt;&lt;br /&gt;Si l’évolution du modèle de données n’est pas visible alors, il n’est pas nécessaire de faire un changement de version.&lt;br /&gt;&lt;br /&gt;Changement de version : OUI/NON&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139185"&gt;&lt;strong&gt;1.3.13 - Suppression d’une opération&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La suppression d’une opération sur un web service est équivalente au 1.3.8.&lt;br /&gt;&lt;br /&gt;Changement de version : cf. 1.3.8&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139186"&gt;&lt;strong&gt;1.3.14 - Suppression d’un type&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La suppression d’un type sur un web service est équivalente au 1.3.8.&lt;br /&gt;&lt;br /&gt;Changement de version : cf 1.3.8&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;a name="_Toc211139187"&gt;&lt;strong&gt;1.3.15 - Suppression d’un web service&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La suppression d’un type sur un web service est équivalente au 1.3.8.&lt;br /&gt;&lt;br /&gt;Changement de version : cf 1.3.8&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139188"&gt;&lt;/a&gt;&lt;a name="_Toc210636279"&gt;&lt;/a&gt;&lt;a name="_Ref210560017"&gt;&lt;strong&gt;2 - Implémentation par le projet de la gestion de version des web services&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;La gestion de version des web services de est basée sur des mécanismes simples. En résumé la version d’un web service est identifiée par l’élément targetNamespace du contrat du web service [AGARWAL] [SUBBU1] [SUBBU2].&lt;br /&gt;Chaque version des web services est déployée sur un site web.&lt;br /&gt;Il existera donc à terme plusieurs sites web hébergeant les web services de dans différentes versions. Ce Mécanisme permet de garantir aux applications clientes consommatrices leur fonctionnement, indépendamment des évolutions des web service de .&lt;br /&gt;&lt;br /&gt;A aujourd’hui, il n’a pas été défini combien de versions seront maintenues dans le temps, ou quel sera l’événement déclencheur de l’abandon d’une version, ni même s’il un tel événement existera un jour.&lt;br /&gt;&lt;br /&gt;Il est certain que le nombre de versions maintenues devra être limité. En conséquence les applications clientes consommatrices devront évoluer d’une version x.x supprimée à la dernière version disponible.&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139189"&gt;&lt;/a&gt;&lt;a name="_Toc210636280"&gt;&lt;strong&gt;2.1 - Identification d’une version de web services&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;L’identification de la version d’un web service est disponible dans l’élément targetNamespace du WSDL.&lt;br /&gt;&lt;br /&gt;La codification retenue est la suivante : http://ws.lde:82/WebService/vX.m&lt;br /&gt;avec :&lt;br /&gt;v : une constante caractère pour identifier la version ici ‘v’ pour version&lt;br /&gt;X : est le numéro de version majeur&lt;br /&gt;m : est le numéro de version mineur.&lt;br /&gt;&lt;br /&gt;Voici un exemple de WSDL où la version des web services est identifiée comme étant la version 3.2.&lt;br /&gt;&lt;br /&gt;&lt;?xml:namespace prefix = wsdl /&gt;&lt;wsdl:definitions wsdl="http://schemas.xmlsoap.org/wsdl/" targetnamespace="http://ws.lde:82/WebService/v3.2" http="http://schemas.xmlsoap.org/wsdl/http/" soap12="http://schemas.xmlsoap.org/wsdl/soap12/" tns="http://ws.lde:82/WebService/v3.2" mime="http://schemas.xmlsoap.org/wsdl/mime/" soapenc="http://schemas.xmlsoap.org/soap/encoding/" tm="http://microsoft.com/wsdl/mime/textMatching/" soap="http://schemas.xmlsoap.org/wsdl/soap/" s="http://www.w3.org/2001/XMLSchema"&gt;&lt;br /&gt;&lt;br /&gt;…&lt;br /&gt;&lt;br /&gt;&lt;/wsdl:definitions&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139190"&gt;&lt;/a&gt;&lt;a name="_Toc210636281"&gt;&lt;strong&gt;2.2 - Localisation d’une version des web services&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Le targetNameSpace est également utilisé pour définir l’URL de déploiement d’une version donnée des web services de .&lt;br /&gt;&lt;br /&gt;Dans l’exemple ci-dessus le targetNameSpace est défini ainsi :&lt;br /&gt;targetNamespace="http://ws.lde:82/WebService/v3.2"&lt;br /&gt;&lt;br /&gt;En conséquence, le fichier WSDL qui contient cette définition indique :&lt;br /&gt;1. qu’il s’agit de la version V3.2 des web service&lt;br /&gt;2. que l’URL racine des web services de cette version est : http://ws.lde:82/WebService/v3.2&lt;br /&gt;&lt;br /&gt;Les URLs des web services sont donc : &lt;a href="http://ws.lde:82/WebService/v3.2/Test.asmx"&gt;http://ws.lde:82/WebService/v3.2/Test.asmx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139191"&gt;&lt;strong&gt;2.3 - Règles de gestion de version des web services&lt;/strong&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Les règles de gestion de version des web services de ont été définies à partir de l’analyse menée précédemment. Celles-ci sont présentées dans le tableau présenté ci-après :&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;&lt;/strong&gt;Un changement du contrat de service d’un web service implique un changement de version du web service, et R0 doit être appliquée.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R2&lt;/strong&gt;&lt;br /&gt;Un changement de version du web service implique la création d’un site web dédié au support de ce web service dans cette version, et R0 doit être appliqué.&lt;br /&gt;Les versions précédentes du web service restent disponibles sur leur propre site web.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R3&lt;/strong&gt;&lt;br /&gt;Une correction d’anomalie dans l’application n’implique pas de changement de version du web service. Sauf si la correction a un impact direct sur le fonctionnement du web service.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R4&lt;/strong&gt;&lt;br /&gt;Une correction d’anomalie dans un web service n’implique pas de changement de version du web service, sauf si la correction implique R1.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R5&lt;br /&gt;&lt;/strong&gt;Une nouvelle version de l’application n’implique pas un changement de version du web service, sauf si la nouvelle version implique R1.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R6&lt;br /&gt;&lt;/strong&gt;Le changement du modèle de données n’implique pas un changement de version du web service, sauf si le changement du modèle de données est visible dans les messages de données, ce qui revient à l’application de la règle R1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc211139192"&gt;&lt;strong&gt;3 – Document de référence&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;AGARWAL&lt;br /&gt;&lt;/strong&gt;Versioning of web service interface, Anamika Agarwal, 06/04&lt;br /&gt;Cette thèse présente de manière exhaustive la problématique de la gestion de web services.&lt;br /&gt;&lt;a href="http://dspace.mit.edu/bitstream/handle/1721.1/28630/58917752.pdf;jsessionid=97E53C5C1D2CC9381C2F724FDF6B874C?sequence=1"&gt;http://dspace.mit.edu/bitstream/handle/1721.1/28630/58917752.pdf;jsessionid=97E53C5C1D2CC9381C2F724FDF6B874C?sequence=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SUBBU1&lt;/strong&gt;&lt;br /&gt;Web services versionning part 1&lt;br /&gt;Web services versionning part1&lt;br /&gt;&lt;a href="http://www.subbu.org/blog/2004/12/web-services-versioning-part-1"&gt;http://www.subbu.org/blog/2004/12/web-services-versioning-part-1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SUBBU2&lt;/strong&gt;&lt;br /&gt;Web services versionning part 2&lt;br /&gt;Web services versionning part2&lt;br /&gt;&lt;a href="http://www.subbu.org/blog/2005/08/web-services-versioning-part-2"&gt;http://www.subbu.org/blog/2005/08/web-services-versioning-part-2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4267339727600200177?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4267339727600200177/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4267339727600200177' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4267339727600200177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4267339727600200177'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/10/stratgie-de-gestion-de-version-des-web.html' title='Stratégie de gestion de version des web services (part 1)'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4743220131494692281</id><published>2008-06-18T22:35:00.004+02:00</published><updated>2008-06-22T22:47:47.663+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>VSeWSS 1.2 et le support de Visual Studio 2008</title><content type='html'>La version 1.2 de SeWSS est sortie, elle apporte enfin le support de Visual Studio 2008.&lt;br /&gt;Le lien de telechargement :&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7bf65b28-06e2-4e87-9bad-086e32185e68&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=7bf65b28-06e2-4e87-9bad-086e32185e68&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;La version FR n'est pas encore disponible.&lt;br /&gt;Sinon il n'y a pas de nouveautés hormis le support de VS 2008.&lt;br /&gt;&lt;br /&gt;Pour mémoire VSeWSS = Visual Studio Extension pour Windows Sharepoint Services.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4743220131494692281?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4743220131494692281/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4743220131494692281' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4743220131494692281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4743220131494692281'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/06/vsewss-12-et-le-support-de-visual.html' title='VSeWSS 1.2 et le support de Visual Studio 2008'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-824545665137199629</id><published>2008-06-17T17:23:00.004+02:00</published><updated>2008-06-17T17:51:59.192+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Création d'un fichier PDF par API, grace à iTextSharp</title><content type='html'>iText# (iTextSharp) est le portage de la librairie open source iText écrite en Java en C#.&lt;br /&gt;Cette librairie permet de générer des fichiers PDF par API.&lt;br /&gt;&lt;br /&gt;Le site d’iTextSharp : &lt;a href="http://sourceforge.net/projects/itextsharp/"&gt;http://sourceforge.net/projects/itextsharp/&lt;/a&gt;&lt;br /&gt;Un tutorial en français : &lt;a href="http://itext.ugent.be/articles/iTextSharp.doc"&gt;http://itext.ugent.be/articles/iTextSharp.doc&lt;/a&gt;&lt;br /&gt;Le très bon site de tutorial et astuces (anglais) :  &lt;a href="http://itextdocs.lowagie.com/tutorial/"&gt;http://itextdocs.lowagie.com/tutorial/&lt;/a&gt;&lt;br /&gt;Il existe un livre, qui de faite est la bible :&lt;br /&gt;&lt;a href="http://www.amazon.com/dp/1932394796?tag=itisacatalofwebp&amp;amp;camp=14573&amp;amp;creative=327641&amp;amp;linkCode=as1&amp;amp;creativeASIN=1932394796&amp;amp;adid=1GSTB23N4QZGGGNKY5MD&amp;amp;"&gt;http://www.amazon.com/dp/1932394796?tag=itisacatalofwebp&amp;amp;camp=14573&amp;amp;creative=327641&amp;amp;linkCode=as1&amp;amp;creativeASIN=1932394796&amp;amp;adid=1GSTB23N4QZGGGNKY5MD&amp;amp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un exemple simple de mise en œuvre.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;using iTextSharp ;&lt;br /&gt;using iTextSharp.text ;&lt;br /&gt;using iTextSharp.text.pdf ;&lt;br /&gt;&lt;br /&gt;namespace TestiText&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            Document pdfDoc = new Document();&lt;br /&gt;&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                PdfWriter.GetInstance (pdfDoc, new FileStream("fichier.pdf", FileMode.Create));&lt;br /&gt;                pdfDoc.Open();&lt;br /&gt;&lt;br /&gt;                int inblig=100;&lt;br /&gt;                int inbcol=5;&lt;br /&gt;                PdfPTable tableau = new PdfPTable(inbcol);&lt;br /&gt;                tableau.HeaderRows = 1; // La premiere ligne du tableau est egalement le titre&lt;br /&gt;&lt;br /&gt;                // Creation du titre&lt;br /&gt;                for (int icol = 0; icol &lt; inbcol; icol++)&lt;br /&gt;                    tableau.AddCell(String.Format("COL {0}", icol));&lt;br /&gt;&lt;br /&gt;                // Creation d'un tableau de 5 colonnes avec 100 lignes&lt;br /&gt;                // pour faire un test sur le titre lors d'un changement de page&lt;br /&gt;                for (int ilig = 0; ilig &lt; inblig; ilig++)&lt;br /&gt;                    for (int icol = 0; icol &lt; inbcol; icol++)&lt;br /&gt;                        tableau.AddCell(String.Format("CELL {0}.{1}",ilig,icol));&lt;br /&gt;&lt;br /&gt;                // Ajout du tableau dans le document&lt;br /&gt;                pdfDoc.Add(tableau);&lt;br /&gt;&lt;br /&gt;                // Ajout de paragraphe dans le document&lt;br /&gt;                for (int i = 0; i &lt; 200; i++)&lt;br /&gt;                    pdfDoc.Add(new Paragraph("Paragraphe N° "+i.ToString()));&lt;br /&gt;            }&lt;br /&gt;            catch (DocumentException de)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine("error " + de.Message);&lt;br /&gt;            }&lt;br /&gt;            catch (System.IO.IOException ioe)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine("error " + ioe.Message);&lt;br /&gt;            }&lt;br /&gt;           &lt;br /&gt;            pdfDoc.Close();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt; &lt;/span&gt;&lt;a href="http://itextsharp.sourceforge.net/"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-824545665137199629?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/824545665137199629/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=824545665137199629' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/824545665137199629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/824545665137199629'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/06/cration-dun-fichier-pdf-par-api-grace.html' title='Création d&apos;un fichier PDF par API, grace à iTextSharp'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1406544657716503204</id><published>2008-06-17T14:49:00.005+02:00</published><updated>2008-06-17T17:11:37.379+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Associer une extension de fichier à un exécutable</title><content type='html'>Cette article est une adaptation en C# de l'article (&lt;a href="http://www.c2i.fr/code.aspx?IDCode=420"&gt;http://www.c2i.fr/code.aspx?IDCode=420&lt;/a&gt;) de Richard Clarck (&lt;a href="http://www.c2i.fr/"&gt;http://www.c2i.fr/&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Comme le titre l'indique, le but est d'associer une extension de fichier à programme qui sera utilisé pour consulter/modifier les documents ayant cette extension. Il se compose principalement des méthodes suivantes :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;RegisterShellExtension&lt;/li&gt;&lt;li&gt;UnRegisterShellExtension&lt;/li&gt;&lt;li&gt;CheckRegisterShellExtension&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;font-size:78%;"&gt;public const Int32 SHCNE_ASSOCCHANGED = 0x8000000;&lt;br /&gt;public const Int32 SHCNF_IDLIST = 0x0;&lt;br /&gt;&lt;br /&gt;[DllImport("shell32.dll")]&lt;br /&gt;public static extern void SHChangeNotify(Int32 wEventId, UInt32 uFlags, UInt32 dwItem1, UInt32 dwItem2);&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Enregistre l'extension de fichier XDF comme devant être ouvert par le programme ContractViewer&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;private static void RegisterShellExtension()&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;// Association entre l'extesion et le programme&lt;br /&gt;RegistryKey oRegKey = Registry.ClassesRoot;&lt;br /&gt;oRegKey = oRegKey.CreateSubKey(".xdf", RegistryKeyPermissionCheck.ReadWriteSubTree);&lt;br /&gt;oRegKey.SetValue("", "ContractViewer Document");&lt;br /&gt;oRegKey.Close();&lt;br /&gt;&lt;br /&gt;// Extension du shell pour le programme ContractViewer&lt;br /&gt;oRegKey = Registry.ClassesRoot;&lt;br /&gt;RegistryKey oRegKeyOpenCommand;&lt;br /&gt;oRegKeyOpenCommand = oRegKey.CreateSubKey(@"ContractViewer Document\shell\open\command", RegistryKeyPermissionCheck.ReadWriteSubTree);&lt;br /&gt;oRegKeyOpenCommand.SetValue("", Application.ExecutablePath + " %1");&lt;br /&gt;oRegKeyOpenCommand.Close();&lt;br /&gt;&lt;br /&gt;// Association icone pour extension&lt;br /&gt;RegistryKey oRegKeyDefaultIcon;&lt;br /&gt;oRegKeyDefaultIcon = oRegKey.CreateSubKey(@"ContractViewer Document\DefaultIcon", RegistryKeyPermissionCheck.ReadWriteSubTree);&lt;br /&gt;String sICO = Application.StartupPath + @"\app.ico";&lt;br /&gt;oRegKeyDefaultIcon.SetValue("", sICO);&lt;br /&gt;oRegKeyDefaultIcon.Close();&lt;br /&gt;&lt;br /&gt;oRegKey.Close();&lt;br /&gt;&lt;br /&gt;SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Supprime l'extension de fichier XDF comme devant être ouvert par le programme ContractViewer&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;private static void UnRegisterShellExtension()&lt;br /&gt;{&lt;br /&gt;if (CheckRegisterShellExtension() == false) return; // Rien à supprimer&lt;br /&gt;&lt;br /&gt;RegistryKey oRegKey;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;oRegKey = Registry.ClassesRoot;&lt;br /&gt;oRegKey.DeleteSubKeyTree(".xdf");&lt;br /&gt;oRegKey.Close();&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;oRegKey = Registry.ClassesRoot;&lt;br /&gt;oRegKey.DeleteSubKeyTree(@"ContractViewer Document");&lt;br /&gt;oRegKey.Close();&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Verifie si la ShellExtension de ContractViewer est en place.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;returns&gt;True si la shell extension de ContractViewer est en place&lt;/returns&gt;&lt;br /&gt;private static bool CheckRegisterShellExtension()&lt;br /&gt;{&lt;br /&gt;RegistryKey oRegKey = Registry.ClassesRoot;&lt;br /&gt;oRegKey = oRegKey.OpenSubKey(".xdf",false);&lt;br /&gt;if (oRegKey == null) return false;&lt;br /&gt;oRegKey.Close();&lt;br /&gt;&lt;br /&gt;oRegKey = Registry.ClassesRoot;&lt;br /&gt;oRegKey = oRegKey.OpenSubKey("ContractViewer Document", false);&lt;br /&gt;if (oRegKey == null) return false;&lt;br /&gt;oRegKey.Close();&lt;br /&gt;&lt;br /&gt;return true;&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/11712011-1406544657716503204?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1406544657716503204/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1406544657716503204' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1406544657716503204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1406544657716503204'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/06/associer-une-extension-de-fichier-un.html' title='Associer une extension de fichier à un exécutable'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-9096097201795492074</id><published>2008-04-06T01:39:00.000+02:00</published><updated>2008-04-06T18:40:39.277+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>MyGeneration un générateur de code OpenSource</title><content type='html'>MyGeneration est vraiment un super outil pour la génération de code. Si votre application est basée principalement sur son modèle de données, alors MyGeneration c'est pour vous.&lt;br /&gt;Il vous permettra de générer du code à partir de template en VBScript, en itérant sur le modèle de données de votre base de données.&lt;br /&gt;Vous pouvez trouver MyGeneration à l'url suivante ( &lt;a href="http://www.mygenerationsoftware.com/portal/default.aspx"&gt;http://www.mygenerationsoftware.com/portal/default.aspx&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Dans le cadre d'un projet de développement pour un client, j'ai implémenté des templates MyGeneration pour produire du code implémentent le pattern 'ActiveRecord'. Ces implémentations produisent du code C# pour Microsoft Entreprise Library V3 et pour les procédures stockées Oracle nécessaire à l’implémentation des méthodes CRUD des ActiveRecord&lt;br /&gt;&lt;a href="http://www.mygenerationsoftware.com/TemplateLibrary/Archive/?guid=7538c462-b796-467b-b454-aa4cd43c2a63"&gt;http://www.mygenerationsoftware.com/TemplateLibrary/Archive/?guid=7538c462-b796-467b-b454-aa4cd43c2a63&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Le lien sur un ensemble de templates : &lt;a href="http://www.mygenerationsoftware.com/templatelibrary/default.aspx"&gt;http://www.mygenerationsoftware.com/templatelibrary/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Le lien pour le telechargement de MyGeneration : &lt;a href="http://www.download.com/sort/3150-10252_4-0-1-4.html?"&gt;http://www.download.com/sort/3150-10252_4-0-1-4.html?&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;Vous noterez que le site est développé en ASP.Net&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-9096097201795492074?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/9096097201795492074/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=9096097201795492074' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9096097201795492074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9096097201795492074'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/02/mygeneration-un-gnrateur-de-code.html' title='MyGeneration un générateur de code OpenSource'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-132254412776709742</id><published>2008-03-09T16:21:00.002+01:00</published><updated>2008-03-09T16:29:59.625+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCSF'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>ObjectDataSource et champs caché</title><content type='html'>Lorsque l'on connecte une source de données &lt;strong&gt;ObjectDataSource &lt;/strong&gt;avec une &lt;strong&gt;GridView&lt;/strong&gt;, les &lt;strong&gt;champs cachés&lt;/strong&gt; dans la grille sont &lt;strong&gt;passés à null dans la méthode Update&lt;/strong&gt;.Hors ce n’est pas vraiment le cas d'emplois idéal.Par exemple avec une classe Contact composée des classiques informations d'un contact. Lorsque l'on affiche une grille pour cette objet a priori on ne va pas afficher toutes les donnés de la classe.Le problème c'est que l'appel fait par la GridView à la méthode Update de l'ObjectDataSource passe les valeurs des paramètres cachés de la grille à null.Du coup votre objet en modification ce fait supprimer des valeurs simplement parce qu’elles ne sont pas affichées !!!&lt;br /&gt;Bon ça c'était pour le problème.&lt;br /&gt;&lt;br /&gt;J'ai deux &lt;strong&gt;solutions&lt;/strong&gt; au problème :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La solution est simple il faut utiliser des &lt;strong&gt;HiddenFields&lt;/strong&gt; au lieu d'utiliser des BoundFields avec Visible ou Enable définit à false.&lt;/li&gt;&lt;li&gt;L'autre solution c'est de mettre tout les champs qui ne sont pas affichés dans le &lt;strong&gt;DataKeys&lt;/strong&gt; de la GridView.De toutes façon lors de la mise à jour de l'objet, il connait de manière intresecte les champs qui son ses clés.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Je trouve tout de même que l'implémentation n'est pas propre, mais je n'ai rien trouvé d'autres. &lt;/p&gt;&lt;p&gt;Quelqu'un à une idée ?&lt;br /&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-132254412776709742?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/132254412776709742/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=132254412776709742' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/132254412776709742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/132254412776709742'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/03/objectdatasource-et-champs-cach.html' title='ObjectDataSource et champs caché'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-9073827337283063705</id><published>2008-03-09T16:10:00.004+01:00</published><updated>2008-03-09T16:20:07.298+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>MOSS Architecture fonctionnelle et techniques</title><content type='html'>Un excellent article de présentation de l'architecture de MOSS réalisé par Pierre Vivier-Merle (&lt;a href="http://blogs.developpeur.org/pierre/default.aspx"&gt;http://blogs.developpeur.org/pierre/default.aspx&lt;/a&gt;&lt;a href="http://blogs.developpeur.org/pierre/default.aspx"&gt;&lt;/a&gt;)&lt;br /&gt;Sur le site itpro.fr (&lt;a href="http://windowsitpro.itpro.fr/Dossiers-par-Theme/2007/12/27/050532980-Architecture-fonctionelle-et-technique-des-sites-collaboratifs-Sharepoint.htm"&gt;http://windowsitpro.itpro.fr/Dossiers-par-Theme/2007/12/27/050532980-Architecture-fonctionelle-et-technique-des-sites-collaboratifs-Sharepoint.htm&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Au programme :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Rappel des concepts d'architecture Sharepoint &lt;/li&gt;&lt;li&gt;Etude sur les permissions Sharepoint &lt;/li&gt;&lt;li&gt;Groupe de sites, Groupes inter site et Groupes de domaine &lt;/li&gt;&lt;li&gt;Groupes de sites &lt;/li&gt;&lt;li&gt;Groupes inter sites &lt;/li&gt;&lt;li&gt;Groupes de domaines &lt;/li&gt;&lt;li&gt;Synthèse des permissions et droits d'administrateurs &lt;/li&gt;&lt;li&gt;Scénario 1 : les groupes de domaine dans les groupes de sites &lt;/li&gt;&lt;li&gt;Scénario 2 : les groupes inter sites dans les groupes de sites &lt;/li&gt;&lt;li&gt;Scénario 3 : les utilisateurs dans les groupes de sites &lt;/li&gt;&lt;li&gt;Complément de scénario : permissions sur listes et bibliothèques &lt;/li&gt;&lt;li&gt;Sites et Collection de sites &lt;/li&gt;&lt;li&gt;Conclusion &lt;/li&gt;&lt;/ul&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/11712011-9073827337283063705?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/9073827337283063705/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=9073827337283063705' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9073827337283063705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9073827337283063705'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/03/moss-architecture-fonctionnelle-et.html' title='MOSS Architecture fonctionnelle et techniques'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3580669430039403765</id><published>2008-02-14T01:35:00.005+01:00</published><updated>2008-02-18T22:33:28.237+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>La reflexion .Net comme debugger</title><content type='html'>Faire un dump du contenu d'une classe est souvent très utile, même si le debugger permet d'explorer le contenu d'une classe pendant le debug d'une application.&lt;br /&gt;Le petit exemple de code ci-dessous utilise l’introspection pour faire le 'Dump' d’un objet de la classe Contact. Le dump est codé pour afficher le nom et la valeur de chacune des propriétés de la classe.&lt;br /&gt;Les valeurs sont affichées dans un contrôle ASP.Net 'Table'.&lt;br /&gt;Ce code est biensûr utilisable dans d'autres contextes que celui d'une page ASP.NET.&lt;br /&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;   Contact contact = new Contact("BERTON","Fred","berton@gmail.com");&lt;br /&gt;   Dump(contact,this.Table1);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void Dump(Object obj,Table table)&lt;br /&gt;{&lt;br /&gt;   // On recupere le type de l'objet&lt;br /&gt;   Type typeObject = obj.GetType();&lt;br /&gt;&lt;br /&gt;   // On parcours la collection des proprietes de l'objet&lt;br /&gt;   foreach (PropertyInfo pi in typeObject.GetProperties())&lt;br /&gt;   {&lt;br /&gt;      TableRow row = new TableRow();&lt;br /&gt;      TableCell cellName = new TableCell();&lt;br /&gt;      TableCell cellValue = new TableCell();&lt;br /&gt;&lt;br /&gt;      // ici on obtient le nom de la propriete&lt;br /&gt;      cellName.Text = pi.Name.ToString();&lt;br /&gt;&lt;br /&gt;      // ici on obtient maintenant la valeur de la propriete&lt;br /&gt;      object propValue = pi.GetValue(obj, null);      &lt;br /&gt;      cellValue.Text = propValue.ToString();&lt;br /&gt;&lt;br /&gt;      row.Cells.Add(cellName);&lt;br /&gt;      row.Cells.Add(cellValue);&lt;br /&gt;      table.Rows.Add(row);&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3580669430039403765?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3580669430039403765/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3580669430039403765' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3580669430039403765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3580669430039403765'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/02/la-reflexion-net-comme-debugger.html' title='La reflexion .Net comme debugger'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-7686267941078977465</id><published>2008-02-12T21:19:00.000+01:00</published><updated>2008-02-12T21:32:56.023+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>ExplorerMOSS et UserMOSS sur CODEPLEX</title><content type='html'>Après une longue réflexion, j'ai finalement mis en ligne sur le site de CODEPLEX les codes sources de UserMOSS et d’ExplorerMOSS. J'ai retenu la License LGPL car elle me parait la plus ouverte. J'espère que vos contributions seront nombreuses ;-)&lt;br /&gt;Voici les sites sur codeplex : &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pour &lt;strong&gt;ExplorerMOSS&lt;/strong&gt; c'est là : &lt;a href="http://www.codeplex.com/ExplorerMOSS"&gt;http://www.codeplex.com/ExplorerMOSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Pour &lt;strong&gt;UserMOSS&lt;/strong&gt; c'est ici : &lt;a href="http://www.codeplex.com/UsersMOSS"&gt;http://www.codeplex.com/UsersMOSS&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Pour mémoire :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;UsersMOSS&lt;/strong&gt; est une petite application permettant de consulter sur un serveur MOSS les sites web (SPWeb) les users (SPUser), et les groupes (SPGroup). &lt;a title="http://fberton.blogspot.com/2007/08/usersmoss-consultation-des-utilisateurs.html" href="http://fberton.blogspot.com/2007/08/usersmoss-consultation-des-utilisateurs.html"&gt;http://fberton.blogspot.com/2007/08/usersmoss-consultation-des-utilisateurs.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ExplorerMOSS &lt;/strong&gt;est une petite application utilisant le modèle objet de MOSS pour inspecter le contenu des objets d'un serveur MOSS. Très utile pour le développeur. &lt;a title="http://fberton.blogspot.com/2007/08/explorermoss-un-explorateur-pour.html" href="http://fberton.blogspot.com/2007/08/explorermoss-un-explorateur-pour.html"&gt;http://fberton.blogspot.com/2007/08/explorermoss-un-explorateur-pour.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&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/11712011-7686267941078977465?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/7686267941078977465/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=7686267941078977465' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7686267941078977465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7686267941078977465'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/02/explorermoss-et-usermoss-sur-codeplex.html' title='ExplorerMOSS et UserMOSS sur CODEPLEX'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1469245191507542401</id><published>2008-01-22T21:34:00.000+01:00</published><updated>2008-01-22T22:18:57.085+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>MetaBuilders une librairie de contrôles pour ASP.Net</title><content type='html'>&lt;p&gt;MetaBuilders (&lt;a href="http://www.metabuilders.com/"&gt;http://www.metabuilders.com/&lt;/a&gt;) malgré les apparences est une librairie opensource et gratuite. Elle est disponible sur codeplex (&lt;a href="http://www.codeplex.com/metabuildersweb/"&gt;&lt;/a&gt;&lt;a href="http://www.codeplex.com/metabuildersweb/"&gt;http://www.codeplex.com/metabuildersweb/&lt;/a&gt;).&lt;br /&gt;Le site .com permet de voir des démo en ligne des contrôles disponibles. &lt;strong&gt;Vraiment super !!!&lt;/strong&gt;.&lt;br /&gt;La version actuelle est la v0.9.4 pour le .Net Framework 2.0. donc pas de version pour les version suivantes de .Net. Il existe des version pour le Framework 1.1.&lt;/p&gt;&lt;p&gt;Au programme : &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;AdSense Ads &lt;/strong&gt;- Controls to show your Google AdSense ads. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;CheckedListBox&lt;/strong&gt; - A Listbox with checkboxes for selection &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ComboBox&lt;/strong&gt; - The classic type-or-choose control. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;DataControlFields &lt;/strong&gt;- Three fields for the GridView, BooleanField for boolean values (better than the CheckBoxField), LookupField for ID/Key data to a child datasource, and SelectorField for row selection using checkboxes or radiobuttons. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;DialogWindow &lt;/strong&gt;- A set of controls which make creating dialog windows a lot easier &lt;/li&gt;&lt;li&gt;&lt;strong&gt;DualList &lt;/strong&gt;- move items back and forth between two listboxes to select the items &lt;/li&gt;&lt;li&gt;&lt;strong&gt;DynamicListBox &lt;/strong&gt;- a base control which stores changes to its list of items &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ExpandingButtons &lt;/strong&gt;- hide and show a target control &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ExpandingPanel &lt;/strong&gt;- hide and show the content of the panel &lt;/li&gt;&lt;li&gt;&lt;strong&gt;FileUpload &lt;/strong&gt;- A nicer wrapper than the builtin for basic file uploading &lt;/li&gt;&lt;li&gt;&lt;strong&gt;GlobalRadioButton &lt;/strong&gt;- A radiobutton which has a page-wide, cross-namingcontainer Group property &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Grouped Lists&lt;/strong&gt; aka GroupedListBox and GroupedDropDownList enabled support of the html option grouping in extensions of the standard data controls. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ListLink &lt;/strong&gt;- A non-visual control which helps you create parent/child relationships between list controls &lt;/li&gt;&lt;li&gt;&lt;strong&gt;MultiFileUpload&lt;/strong&gt; is a nice compact UI that lets the user select more than one file to upload to the server. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;MultiViewBar&lt;/strong&gt; is now free and included in the library, source and all. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;OneClick &lt;/strong&gt;- non-visual control that helps the page developer avoid the dreaded double-button-click &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Polling &lt;/strong&gt;- controls and framework for showing users simple web polls. Uses a provider framework, with built-in providers for Access and Sql Server. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ParsingContainer &lt;/strong&gt;- control which parses a string of server control markup at runtime &lt;/li&gt;&lt;li&gt;&lt;strong&gt;QueryCall &lt;/strong&gt;- Component which maps querystring parameters to methods in the codebehind &lt;/li&gt;&lt;li&gt;&lt;strong&gt;RemoteWindow &lt;/strong&gt;- Easy popup windows &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ResizeMonitor &lt;/strong&gt;- causes a postback on browser-resize, if you need to keep track of dimensions in your app &lt;/li&gt;&lt;li&gt;&lt;strong&gt;RollOverLink &lt;/strong&gt;- the old mouse-over-out effect on images, made dead-easy &lt;/li&gt;&lt;li&gt;&lt;strong&gt;RuntimeTemplate &lt;/strong&gt;- Makes it easier to create templates for controls at runtime in code&lt;/li&gt;&lt;li&gt;&lt;strong&gt;UpDown &lt;/strong&gt;- the classic Windows Up/Down control for numeric entry. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;J'utilise particulierement les contrôles :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;DialogWindow &lt;/strong&gt;qui permet d'afficher une boite de dialogue contenant un page aspx qui dérive de DialogPage au lieu de Page, &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ComboBox &lt;/strong&gt;qui permet de faire un combobox comme avec des WinForms (c'est à dire que l'on peut saisir des données dans la zone de texte), &lt;/li&gt;&lt;li&gt;&lt;strong&gt;DataControlFields &lt;/strong&gt;qui définit des *Field pour le contrôle GridView pour des données typé bool, liste, ou liste de selection.&lt;/li&gt;&lt;/ul&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/11712011-1469245191507542401?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1469245191507542401/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1469245191507542401' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1469245191507542401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1469245191507542401'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/01/metabuilders-une-librairie-de-contrles.html' title='MetaBuilders une librairie de contrôles pour ASP.Net'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-7369038574301606439</id><published>2008-01-18T18:54:00.000+01:00</published><updated>2008-01-18T18:59:27.969+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='DOTNET'/><title type='text'>Exporter une liste génerique vers Excel depuis une page ASP.NET</title><content type='html'>Dans nos applications nous manipulons classiquement des &lt;strong&gt;‘entités’ métiers &lt;/strong&gt;dont on utilises les champs par des accessors (ou propriétés). Il est fréquent de devoir manipuler ces entités comme une collection d’entités, par exemple une liste de clients, ou une liste de communes.&lt;br /&gt;&lt;br /&gt;L’exemple suivant illustre comment on peut utiliser la programmation par &lt;strong&gt;réflexion &lt;/strong&gt;supporté par Dotnet pour écrire du code très générique.&lt;br /&gt;Dans cet exemple j’ai une liste générique de ‘Commune’ que je souhaite exporter en ASCII dans un fichier Excel depuis une application ASP.NET.&lt;br /&gt;&lt;br /&gt;La méthode &lt;strong&gt;ExportToASCII()&lt;/strong&gt; met en place la logique nécessaire pour produire le fichier Excel à travers le pipe de réponse HTTP.&lt;br /&gt;&lt;br /&gt;    private void ExportToASCII()&lt;br /&gt;    {&lt;br /&gt;        List&lt;Commune&gt; lst = GetAll();&lt;br /&gt;&lt;br /&gt;        Response.Clear();&lt;br /&gt;        Response.AddHeader("content-disposition", "attachment; filename=FileName.xls");&lt;br /&gt;        Response.ContentType = "application/ms-excel";&lt;br /&gt;        StringWriter stringWrite = Export(lst);&lt;br /&gt;        Response.Write(stringWrite.ToString());&lt;br /&gt;        Response.End();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;La méthode &lt;strong&gt;Export() &lt;/strong&gt;contient le cœur du problème à savoir introspecter la collection passée en paramètre pour produire le flux de données.&lt;br /&gt;&lt;br /&gt;    private StringWriter Export(Object objListGeneric)&lt;br /&gt;    {&lt;br /&gt;        StringWriter stringWrite = new StringWriter();&lt;br /&gt;        if (objListGeneric == null) return stringWrite;&lt;br /&gt;&lt;br /&gt;        Type typeListGeneric = objListGeneric.GetType();&lt;br /&gt;        if (typeListGeneric.IsGenericType == false) return stringWrite;&lt;br /&gt;&lt;br /&gt;        // recupere le type de l'objet generic (le parametre de la classe generic)&lt;br /&gt;        Type[] typeGen = typeListGeneric.GetGenericArguments();&lt;br /&gt;        Type theTypeGen = typeGen[0];&lt;br /&gt;&lt;br /&gt;        // ecriture header (le nom des properties de l'objet)&lt;br /&gt;        foreach (PropertyInfo pi in theTypeGen.GetProperties())&lt;br /&gt;        {&lt;br /&gt;            stringWrite.Write(pi.Name.ToString());&lt;br /&gt;            stringWrite.Write('\t');&lt;br /&gt;        }&lt;br /&gt;        stringWrite.Write('\n');&lt;br /&gt;&lt;br /&gt;        // ecriture des lignes de données&lt;br /&gt;        foreach (object item in (IEnumerable)obj)&lt;br /&gt;        {&lt;br /&gt;            foreach (PropertyInfo pi in theTypeGen.GetProperties())&lt;br /&gt;            {&lt;br /&gt;                object objValue = pi.GetValue(item, null);&lt;br /&gt;                stringWrite.Write(objValue.ToString());&lt;br /&gt;                stringWrite.Write('\t');&lt;br /&gt;            }&lt;br /&gt;            stringWrite.Write('\n');&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return stringWrite;&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-7369038574301606439?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/7369038574301606439/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=7369038574301606439' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7369038574301606439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7369038574301606439'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/01/exporter-une-liste-gnerique-vers-excel.html' title='Exporter une liste génerique vers Excel depuis une page ASP.NET'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4160812081639141375</id><published>2008-01-14T21:55:00.000+01:00</published><updated>2008-01-14T21:57:36.111+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cuisine'/><title type='text'>Soupe au gros panais</title><content type='html'>Préparation : 10 min&lt;br /&gt;Cuisson : 25 min&lt;br /&gt;&lt;br /&gt;Ingrédients (pour 3/4 personnes) :&lt;br /&gt;-1 rutabaga&lt;br /&gt;- 3 gros panais &lt;br /&gt;- 3 topinambours &lt;br /&gt;- 1 petit oignon &lt;br /&gt;- 4carottes &lt;br /&gt;- 1,5 l de bouillon de légumes (1cube "or"+ 1cube poule )&lt;br /&gt;&lt;br /&gt;Préparation :&lt;br /&gt;Epluchez et lavez tous les légumes, épluchez et émincez l'oignon, coupez les légumes en rondelles. &lt;br /&gt;&lt;br /&gt;Dans une grosse casserole, faites fondre l'oignon dans un peu d'huile d'olive ou de beurre. Ajoutez les legumes, puis laissez revenir 2 min. &lt;br /&gt;&lt;br /&gt;Versez le bouillon très chaud, faites bouillir, puis baissez le feu et laissez frémir 25 min. Passez au moulin ou au mixeur. &lt;br /&gt;Ajoutez du poivre (pas de sel, le bouillon l'est déjà), une petite pincee de piment moulu pour relever. Servez bien chaud avec du persil ou du cerfeuil.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Merci Fabrice pour la recette.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4160812081639141375?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4160812081639141375/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4160812081639141375' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4160812081639141375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4160812081639141375'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/01/soupe-au-gros-panais.html' title='Soupe au gros panais'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5524173334833326043</id><published>2008-01-14T21:36:00.000+01:00</published><updated>2008-01-14T21:43:24.325+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cuisine'/><title type='text'>Tarte renversée aux endives (Tatin aux endives)</title><content type='html'>Pour 3 personnes&lt;br /&gt;• 1 Kg d’endives&lt;br /&gt;• 1 rouleau de pâte feuilletée&lt;br /&gt;• 100 g de lard en fines tranches&lt;br /&gt;• 1 cuil. A soupe de vinaigre de Xérés&lt;br /&gt;• 1 cuil. A soupe de sucre&lt;br /&gt;• Baies mêlées du moulin&lt;br /&gt;• 20 g de beurre&lt;br /&gt;&lt;br /&gt;1) Posez les endives dans une sauteuse, face coupée dessous avec 1 dl d’eau, vinaigre, sel. Fermez. Faites bouillir 10 min. Ouvrez, laissez tout le jus s’évaporer (pendant environ 5 minutes).&lt;br /&gt;&lt;br /&gt;2) Poudrez le sucre sur tout le fond d’un moule à manqué antiadhésif de 22 cm de diamètre. Couchez 2 bandes de lard dessus. Serrez les endives sur le tout en les emmêlant avec le lard restant. Poudrez de baies mêlées moulues gros. Semez le beurre en noisettes. Couvrez avec le disque de pate feuilletée (si besoins, réduisez son diamètre en coupant le tour aux ciseaux), bordez en glissant la pâte entre les endives et les parois jusqu’au fond du moule. Piquez la surface d’une dizaine de trous d’aiguille.&lt;br /&gt;&lt;br /&gt;3) Préchauffez le four à 200 °C (th 6 gaz). Enfournez 30 min. Posez aussitôt un plat sur le moule, et retournez d’un coup pour démouler. Dégustez chaud ou tiède.&lt;br /&gt;&lt;br /&gt;Variante : Remplacer les endives par des oignions&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5524173334833326043?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5524173334833326043/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5524173334833326043' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5524173334833326043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5524173334833326043'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/01/tarte-renverse-aux-endives-tatin-aux.html' title='Tarte renversée aux endives (Tatin aux endives)'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4728523039460317354</id><published>2008-01-10T22:15:00.001+01:00</published><updated>2008-01-10T22:22:43.752+01:00</updated><title type='text'>Poste d'expert PHP à pouvoir</title><content type='html'>Une fois n'est pas coutume, mais je recherche un expert en PHP.&lt;br /&gt;Profil au moins 5 ans d'expérience de développement en PHP 4 et/ou 5.&lt;br /&gt;Le poste est à pourvoir au sein de Capgemini (www.capgemini.com), pour nos clients.&lt;br /&gt;Sa mission apporté une expertise, faire du coaching d'équipe, du développement, du conseil. Bref devenir notre expert PHP.&lt;br /&gt;Donc un poste à fort potentiel.&lt;br /&gt;Environnement de travail Windows ou Linux.&lt;br /&gt;D'autres postes sont à pourvoir, sur les technologies Microsoft MOSS, ASP.NET, et Dotnet en générale.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4728523039460317354?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4728523039460317354/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4728523039460317354' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4728523039460317354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4728523039460317354'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2008/01/poste-dexpert-php-pouvoir.html' title='Poste d&apos;expert PHP à pouvoir'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-6489114773814125607</id><published>2007-10-02T01:05:00.000+02:00</published><updated>2007-10-02T01:14:18.897+02:00</updated><title type='text'>THALES c'est fini bonjour CAPGEMINI</title><content type='html'>Voilà c'est fait depuis le 17 Septembre je suis Architecte SI chez CAPGEMINI.&lt;br /&gt;De nouveaux projets, de nouvelles technologies, bref de nouvelles aventures.&lt;br /&gt;Sauf que maintenant si vous avez besoins de moi dans vos projets c'est possible.&lt;br /&gt;Pour me contacter :  frederic.berton@capgemini.com&lt;br /&gt;Apres de nombreuses années chez THALES Communications, j'ai donc décidé de découvrir le monde du service.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-6489114773814125607?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/6489114773814125607/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=6489114773814125607' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/6489114773814125607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/6489114773814125607'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/10/thales-cest-fini-bonjour-capgemini.html' title='THALES c&apos;est fini bonjour CAPGEMINI'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1972786985397101100</id><published>2007-09-05T14:51:00.000+02:00</published><updated>2007-09-06T21:35:13.064+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Déactivation de l'indexation des pages ASPX</title><content type='html'>Par défaut l'indexation des sites de MOSS, indexe le contenu d'un site et également le contenu des pages ASPX qui composent le site.&lt;br /&gt;Si vous ne mettez pas de contenu dans vos pages ASPX, il faut désactiver l'indexation des pages. Sinon la recherche remonte les références sur les listes et sur les pages qui contiennent ces listes. Voici le code pour désactiver l'indexation des pages, à mettre dans une feature par exemple.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using (SPWeb web = mySite.OpenWeb("Votre_Url_De_Site")&lt;br /&gt;{&lt;br /&gt;// Déactivation de l'indexation des pages ASPX d'un SPWeb&lt;br /&gt;webCT.AllowAutomaticASPXPageIndexing = false;&lt;br /&gt;webCT.ASPXPageIndexMode = WebASPXPageIndexMode.Never;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1972786985397101100?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1972786985397101100/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1972786985397101100' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1972786985397101100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1972786985397101100'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/09/dactivation-de-lindexation-des-pages.html' title='Déactivation de l&apos;indexation des pages ASPX'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-9120975966310133547</id><published>2007-08-29T21:42:00.001+02:00</published><updated>2007-08-29T22:29:05.762+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Astronomie'/><title type='text'>Google Sky</title><content type='html'>Dans ma série : &lt;em&gt;Astronomie par Internet&lt;/em&gt;.&lt;br /&gt;Je vous invite à découvrir Google Sky, c'est comme Google Earth, sauf qu'il s'agit de regarder de l'autre coté (ie le Ciel).&lt;br /&gt;Les images sont extra (image Hubble, la lune, les planètes, ...).&lt;br /&gt;&lt;a href="http://earth.google.com/sky/skyedu.html"&gt;Voici une démo en vidéo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://earth.google.com/download-earth.html"&gt;La page de telechargement de Google Earth (qui intégre Google Sky)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://earth.google.com/"&gt;La page d'accueil de Google Earth&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-9120975966310133547?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/9120975966310133547/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=9120975966310133547' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9120975966310133547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9120975966310133547'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/google-sky.html' title='Google Sky'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3625541989513836431</id><published>2007-08-27T18:53:00.000+02:00</published><updated>2007-08-29T22:11:17.140+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>UsersMOSS consultation des utilisateurs, des groupes et des sites de Sharepoint dans une application client riche.</title><content type='html'>&lt;strong&gt;UsersMOSS &lt;/strong&gt;est une petite application permettant de consulter sur un serveur MOSS les sites web (SPWeb) les users (SPUser), et les groupes (SPGroup).&lt;br /&gt;Cette application utilise le modèle objet de MOSS pour inspecter le contenu des objets d'un serveur MOSS.&lt;br /&gt;Cette application est loin d'être professionnelle, ou même terminée, mais elle me rend très souvent service.&lt;br /&gt;&lt;span style="color:#ff6600;"&gt;&lt;em&gt;Surtout ne l'utilisez pas sur un serveur de production car le gestion du GC n'est pas faite, ce qui peut provoquer des plantages de votre serveur ;-)&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;Vous pouvez télécharger le binaire : &lt;a href="http://berton.fred.free.fr/Files/application_moss/UsersMOSS.exe"&gt;UsersMOSS.exe&lt;/a&gt;&lt;br /&gt;Les sources : &lt;a href="http://berton.fred.free.fr/Files/application_moss/UsersMOSS_src.zip"&gt;Les sources&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_nltg41VC9sQ/RtMCJz6sdDI/AAAAAAAAArI/9ueKiqd8xsA/s1600-h/UsersMOSS.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103425170319373362" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_nltg41VC9sQ/RtMCJz6sdDI/AAAAAAAAArI/9ueKiqd8xsA/s400/UsersMOSS.bmp" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3625541989513836431?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3625541989513836431/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3625541989513836431' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3625541989513836431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3625541989513836431'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/usersmoss-consultation-des-utilisateurs.html' title='UsersMOSS consultation des utilisateurs, des groupes et des sites de Sharepoint dans une application client riche.'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nltg41VC9sQ/RtMCJz6sdDI/AAAAAAAAArI/9ueKiqd8xsA/s72-c/UsersMOSS.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-11718157126976251</id><published>2007-08-27T18:43:00.001+02:00</published><updated>2007-09-17T21:02:27.361+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>ExplorerMOSS un explorateur pour Sharepoint</title><content type='html'>&lt;strong&gt;ExplorerMOSS&lt;/strong&gt; est une petite application utilisant le modèle objet de MOSS pour inspecter le contenu des objets d'un serveur MOSS.&lt;br /&gt;Très utile pour le développeur.&lt;br /&gt;Cette application est loin d'être professionnelle, ou même terminée, mais elle me rend très souvent services.&lt;br /&gt;&lt;span style="color:#ff9966;"&gt;&lt;em&gt;&lt;span style="color:#cc0000;"&gt;Surtout ne l'utilisez pas sur un serveur de production car le gestion du GC n'est pas faite, ce qui peut provoquer des plantages de votre serveur ;-)&lt;/span&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Vous pouvez télécharger le binaire : &lt;a href="http://berton.fred.free.fr/Files/application_moss/ExplorerMOSS.exe"&gt;ExplorerMOSS.exe&lt;/a&gt;&lt;br /&gt;Les sources : &lt;a href="http://berton.fred.free.fr/Files/application_moss/ExplorerMOSS_src.zip"&gt;Sources&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_nltg41VC9sQ/RtL_lz6sdCI/AAAAAAAAArA/FW9mYVJHW34/s1600-h/ExplorerMOSS.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5103422352820827170" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_nltg41VC9sQ/RtL_lz6sdCI/AAAAAAAAArA/FW9mYVJHW34/s400/ExplorerMOSS.bmp" border="0" /&gt;&lt;/a&gt; Si vous avez des remarques, ou si vous apportez des évolutions faites le moi savoir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-11718157126976251?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/11718157126976251/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=11718157126976251' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/11718157126976251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/11718157126976251'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/explorermoss-un-explorateur-pour.html' title='ExplorerMOSS un explorateur pour Sharepoint'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nltg41VC9sQ/RtL_lz6sdCI/AAAAAAAAArA/FW9mYVJHW34/s72-c/ExplorerMOSS.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3133697236018677913</id><published>2007-08-21T11:45:00.000+02:00</published><updated>2007-09-06T21:36:37.536+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Activer une feature sur un SPSite ou un SPWeb</title><content type='html'>Pour activer par API une feature sur un SPSite ou un SPWeb. Il faut ajouter le GUID de la feature dans la collection &lt;strong&gt;Features&lt;/strong&gt; de l'objet &lt;strong&gt;SPWeb&lt;/strong&gt; ou &lt;strong&gt;SPSite&lt;/strong&gt; . Voici un exemple de code qui active sur un site la feature 'Rapports d'audit'.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Activation de la feature 'Creation de rapports' utilisé pour affiché les rapports d'audit&lt;br /&gt;// 7094bd89-2cfe-490a-8c7e-fbace37b4a34&lt;br /&gt;//Reporting_Feature&lt;br /&gt;if (Site.Features[new Guid("7094bd89-2cfe-490a-8c7e-fbace37b4a34")] == null)&lt;br /&gt;   Site.Features.Add(new Guid("7094bd89-2cfe-490a-8c7e-fbace37b4a34"));&lt;br /&gt;&lt;br /&gt;Si vous voulez trouver les GUID des features disponibles sur MOSS vous pouvez utiliser l'outil &lt;a href="http://fberton.blogspot.com/2007/08/explorermoss-un-explorateur-pour.html"&gt;ExplorerMOSS&lt;/a&gt; qui donne la listes des features avec leur nom et leur GUID.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3133697236018677913?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3133697236018677913/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3133697236018677913' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3133697236018677913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3133697236018677913'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/activer-une-feature-sur-un-spsite-ou-un.html' title='Activer une feature sur un SPSite ou un SPWeb'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1643396604990231613</id><published>2007-08-21T11:23:00.000+02:00</published><updated>2007-08-22T22:08:06.922+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Changer la master page d'un site Web par API</title><content type='html'>Pour changer la master page d'un site Web par API, vous pouvez utiliser la classe &lt;strong&gt;PublishingWeb&lt;/strong&gt; du namespace &lt;strong&gt;Microsoft.SharePoint.Publishing &lt;/strong&gt;lui même dans la DLL 12\ISAPI\Microsoft.SharePoint.Publishing.dll.&lt;br /&gt;Pour changer la master page utilisez la methode : &lt;strong&gt;MasterUrl&lt;/strong&gt; et &lt;strong&gt;CustomMasterUrl&lt;/strong&gt;&lt;br /&gt;Pour changer la feuille de style : &lt;strong&gt;AlternateCssUrl&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Voici un exemple de code&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;PublishingWeb pub = PublishingWeb.GetPublishingWeb(web); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;pub.MasterUrl.SetValue("/_catalogs/masterpage/MyPage.master", true);&lt;br /&gt;pub.CustomMasterUrl.SetValue("/_catalogs/masterpage/MyPage.master", true);&lt;br /&gt;pub.AlternateCssUrl.SetValue("/_catalogs/masterpage/MyCss.css", true);&lt;br /&gt;pub.Update();&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1643396604990231613?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1643396604990231613/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1643396604990231613' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1643396604990231613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1643396604990231613'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/changer-la-master-page-dun-site-web-par.html' title='Changer la master page d&apos;un site Web par API'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4734780658862325106</id><published>2007-08-17T13:14:00.000+02:00</published><updated>2007-08-17T13:18:40.840+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Liste complète des opérations de STSADM MOSS 2007</title><content type='html'>Un excellent post de &lt;strong&gt;Jose Barreto&lt;/strong&gt; (&lt;a href="http://blogs.technet.com/josebda/default.aspx"&gt;http://blogs.technet.com/josebda/default.aspx&lt;/a&gt;) qui donne la liste complète des opérations supportées par STSADM pour MOSS 2007.&lt;br /&gt;Dommage, la liste ne contienne que les opérations sans explication de leurs fonctions, mais c'est déjà pas mal.&lt;br /&gt;&lt;a href="http://blogs.technet.com/josebda/archive/2007/03/22/complete-reference-of-all-stsadm-commands-with-options-in-moss-2007.aspx"&gt;http://blogs.technet.com/josebda/archive/2007/03/22/complete-reference-of-all-stsadm-commands-with-options-in-moss-2007.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4734780658862325106?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4734780658862325106/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4734780658862325106' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4734780658862325106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4734780658862325106'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/liste-complte-des-oprations-de-stsadm.html' title='Liste complète des opérations de STSADM MOSS 2007'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-9071990125395067188</id><published>2007-08-14T13:12:00.000+02:00</published><updated>2007-08-14T13:17:01.255+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Astronomie'/><title type='text'>Quelques sites pour faire de l'astronomie par satellite.</title><content type='html'>Comme il ne fait pas beau, voici quelques sites pour faire de l'astro par satellite.&lt;br /&gt;&lt;br /&gt;ESO European Organisationfor Astronomical&lt;br /&gt;&lt;a href="http://www.eso.org/public/outreach/press-rel/"&gt;http://www.eso.org/public/outreach/press-rel/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Astronomi'x comment decouvrir des comètes avec les images du satellite SOHO.&lt;br /&gt;&lt;a href="http://perso.orange.fr/xavier.leprette/Astronomix/liens_soho.htm"&gt;http://perso.orange.fr/xavier.leprette/Astronomix/liens_soho.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SOHO / LASCO Comet Observations&lt;br /&gt;&lt;a href="http://ares.nrl.navy.mil/sungrazer/index.php?p=introduction"&gt;http://ares.nrl.navy.mil/sungrazer/index.php?p=introduction&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SOHO solar and heliospheric observatory&lt;br /&gt;&lt;a href="http://sohowww.nascom.nasa.gov/hotshots/"&gt;http://sohowww.nascom.nasa.gov/hotshots/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-9071990125395067188?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/9071990125395067188/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=9071990125395067188' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9071990125395067188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9071990125395067188'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/quelques-sites-pour-faire-de.html' title='Quelques sites pour faire de l&apos;astronomie par satellite.'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5012731191256401684</id><published>2007-08-14T11:42:00.000+02:00</published><updated>2007-08-14T12:55:22.534+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>"SharePoint Quick Launch", un petit outils vraiment super !!</title><content type='html'>Laurent Cotton (&lt;a href="http://sharepoint.over-blog.fr/"&gt;http://sharepoint.over-blog.fr/&lt;/a&gt; )nous offre un super petit outil trés pratique pour faire les commandes classique que l'on fait 200 fois par jour en periode de developpement.&lt;br /&gt;- Recycler l'application pool (évitant ainsi un fastidieux IISRESET),&lt;br /&gt;- Editer le fichier web.config,&lt;br /&gt;- Ouvrir votre navigateur favoris directement sur la page d'accueil du site,&lt;br /&gt;- Ouvrir le répertoire physique de la web application.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sharepoint.over-blog.fr/article-11682597.html"&gt;http://sharepoint.over-blog.fr/article-11682597.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5012731191256401684?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5012731191256401684/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5012731191256401684' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5012731191256401684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5012731191256401684'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/sharepoint-quick-launch-un-petit-outils.html' title='&quot;SharePoint Quick Launch&quot;, un petit outils vraiment super !!'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-9210854840468832608</id><published>2007-08-07T15:17:00.000+02:00</published><updated>2007-08-07T15:32:27.167+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Afficher une page d'attente pendant les traitements long</title><content type='html'>Pour afficher une page d'attente pendant un traitement long sur Sharepoint. C'est très simple, il suffit d'utiliser la classe &lt;em&gt;&lt;strong&gt;SPLongOperation&lt;/strong&gt;&lt;/em&gt;, et ses méthodes &lt;em&gt;&lt;strong&gt;Begin()&lt;/strong&gt;&lt;/em&gt; et &lt;strong&gt;End()&lt;/strong&gt;.&lt;br /&gt;Le traitement "long" doit être situé entre la méthode &lt;em&gt;Begin()&lt;/em&gt; et la méthode &lt;em&gt;End()&lt;/em&gt;, pendant ce temps une page faisant tournée une petite animation GIF est affichée (celle qui est affichée pendant la création d'un site MOSS).&lt;br /&gt;Voici un exemple d'utilisation:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;SPLongOperation Wait = new SPLongOperation(this.Page);           &lt;br /&gt;Wait.Begin();&lt;/em&gt;&lt;br /&gt;// Le traitement long...&lt;br /&gt;&lt;em&gt;Wait.End("Default.aspx");&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Begin()&lt;/strong&gt;&lt;br /&gt;Commence l'affichage de la page d'attente.&lt;br /&gt;&lt;strong&gt;End()&lt;/strong&gt;&lt;br /&gt;Transfert l'exécution sur la page spécifiée, généralement une page qui affiche en bilan de l'exécution du traitement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-9210854840468832608?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/9210854840468832608/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=9210854840468832608' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9210854840468832608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9210854840468832608'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/afficher-une-page-dattente-pendant-les.html' title='Afficher une page d&apos;attente pendant les traitements long'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-9132121805248949569</id><published>2007-08-03T11:10:00.000+02:00</published><updated>2007-08-03T11:12:37.887+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Un peu d'humour sur le site 'The Mit's Blog'</title><content type='html'>Voici un lien sur une petite vidéo, Un peu de distraction ne fait pas de mal. En ce mois d'Août Hivernale.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.developpeur.org/themit/archive/2007/08/01/sharepoint-2007-le-clip-avec-une-bonne-dose-d-humour-noir.aspx"&gt;http://blogs.developpeur.org/themit/archive/2007/08/01/sharepoint-2007-le-clip-avec-une-bonne-dose-d-humour-noir.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-9132121805248949569?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/9132121805248949569/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=9132121805248949569' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9132121805248949569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/9132121805248949569'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/08/un-peu-dhumour-sur-le-site-mits-blog.html' title='Un peu d&apos;humour sur le site &apos;The Mit&apos;s Blog&apos;'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-746162899128326459</id><published>2007-07-29T23:05:00.000+02:00</published><updated>2007-08-22T22:14:57.792+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Les Livres du développeur Sharepoint - MOSS</title><content type='html'>&lt;p&gt;Voici une petite liste toute personnelle de mes livres de références pour le développement en Sharepoint.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;7 Development projets for Microsoft Office Sharepoint Server 2007 and Windows Sharepoint Services version 3.0, chez Microsoft PRESS.&lt;br /&gt;&lt;/strong&gt;Une très bonne introduction au développement pour MOSS, avec principalement la gestion des listes, des sites, des features, l'utilisation des workflows et d'InfoPath. C'est un des premiers bouquins sur le dev en MOSS qui est sorti pour le TechED 2006. Il est téléchargeable à l'adresse: &lt;a href="http://download.microsoft.com/download/0/2/f/02f0f661-88e1-43c2-b523-88d2e9e6802f/7%20development%20projects%20with%20the%202007%20microsoft%20office%20system%20and%20windows%20sharepoint%20services%202007.pdf"&gt;http://download.microsoft.com/download/0/2/f/02f0f661-88e1-43c2-b523-88d2e9e6802f/7%20development%20projects%20with%20the%202007%20microsoft%20office%20system%20and%20windows%20sharepoint%20services%202007.pdf&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Microsoft SharePoint 2007 Development Unleashed, Chez SAMS, de Kevin Hoffman et Robert Foster.&lt;br /&gt;&lt;/strong&gt;Sorti en Mai 2007, je crois que c'est le dernier. Le livre est organisé en 4 parties : utilisation du modèle objet, gestion de contenu d'entreprise, développement de webpart, et utilisation des services web de sharepoint. Il traite de tous les sujets liés au dev MOSS soit avec le modèle objet soit avec les web services. Des sujets plus rares sont abordés comme : la gestion du BDC, la gestion des users profile, l'utilisation d'Excel services.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SharePoint 2003 Advanced Concepts: Site Definitions, Custom Templates, and Global Customizations, chez Addison Wesley, par Jason Nadrowski, et Stacy Draper.&lt;br /&gt;&lt;/strong&gt;Ce livre est consacré à Sharepoint 2003, mais il traite principalement de la gestion des définitions de site, et de liste qui ont peu évolués avec MOSS 2007. En tout cas il constitue une très bonne introduction sur le sujet. Je n'ai pas trouvé l'équivalent sur MOSS 2007.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-746162899128326459?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/746162899128326459/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=746162899128326459' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/746162899128326459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/746162899128326459'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/07/les-livres-du-dveloppeur-sharepoint.html' title='Les Livres du développeur Sharepoint - MOSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-3785382501848002074</id><published>2007-07-27T13:33:00.001+02:00</published><updated>2007-07-29T22:48:14.840+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>propriétés persistante sur les classes SPWeb et SPAlert</title><content type='html'>Les classes SPWeb et SPAlert disposent d’une propriété « (get) Properties » de type SPPropertyBag qui permet d’attacher aux objets une collection persistante de type Clef – Valeur. Cette collection de propriétés est gérée par MOSS comme persistante c'est donc très pratique si vous souhaitez attacher des attributs supplémentaires sur ce type d’objet.&lt;br /&gt;Voici un exemple de mise en œuvre sur la classe SPWEB (je n’ai pas fait l’essai sur la classe SPAlert).&lt;br /&gt;&lt;br /&gt;Les principales propriétés et méthodes de la classe SPPropertyBag (d’ailleurs presque toutes héritées de la classe StringDictionary) sont :&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Int SPPropertyBag.Count&lt;br /&gt;&lt;/strong&gt;Le nombre de propriétés de la collection.&lt;br /&gt;&lt;strong&gt;Void SPPropertyBag.Add(string key,string value)&lt;br /&gt;&lt;/strong&gt;Ajoute un couple de type clef valeur. La valeur peut être null ; mais pas la clef bien sur.&lt;br /&gt;&lt;strong&gt;Bool SPPropertyBag.ContainsKey(string key)&lt;br /&gt;&lt;/strong&gt;Recherche la présence d’une clef&lt;br /&gt;&lt;strong&gt;Void SPPropertyBag.Remove(string key)&lt;br /&gt;&lt;/strong&gt;Supprime une clef et sa valeur&lt;br /&gt;&lt;strong&gt;Void SPPropertyBag.Update()&lt;br /&gt;&lt;/strong&gt;Une des rares méthodes redéfinit localement et pour cause c’est elle qui prend en charge la persistance.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ajouter une propriété&lt;br /&gt;&lt;/strong&gt;using (SPWeb web = mySite.OpenWeb(«SiteDirectory/site1» ))&lt;br /&gt;{&lt;br /&gt;web.Properties.Add(«Key1», «Value1») ;&lt;br /&gt;web.Properties.Update() ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Consulter une propriété&lt;br /&gt;&lt;/strong&gt;using (SPWeb web = mySite.OpenWeb(«SiteDirectory/site1» ))&lt;br /&gt;{&lt;br /&gt;String value = null;&lt;br /&gt;If (web.Properties.ContainsKey(«Key1») == true)&lt;br /&gt;value = web.Properties[«Key1»] ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Supprimer une propriété&lt;br /&gt;&lt;/strong&gt;using (SPWeb web = mySite.OpenWeb(«SiteDirectory/site1» ))&lt;br /&gt;{&lt;br /&gt;web.Properties.Remove(«Key1»);&lt;br /&gt;web.Properties.Update() ;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-3785382501848002074?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/3785382501848002074/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=3785382501848002074' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3785382501848002074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/3785382501848002074'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/07/proprits-persistante-sur-les-classes.html' title='propriétés persistante sur les classes SPWeb et SPAlert'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5984213001254856626</id><published>2007-07-19T09:22:00.000+02:00</published><updated>2007-07-19T09:29:38.158+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Liste de sites MOSS</title><content type='html'>Voici une liste de site utilisant MOSS. Il s'agit de site internet, donc orintée sur les fonctions de CMS de MOSS.&lt;br /&gt;Cette liste est maintenu par une personne de Microsoft (Nay).&lt;br /&gt;Quelques references  comme :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Accor&lt;/li&gt;&lt;li&gt;Microsoft&lt;/li&gt;&lt;li&gt;UCB&lt;/li&gt;&lt;li&gt;Canon&lt;/li&gt;&lt;li&gt;Point S&lt;/li&gt;&lt;/ul&gt;Voici le lien:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/nay/pages/moss-based-internet-sites-live.aspx"&gt;http://blogs.msdn.com/nay/pages/moss-based-internet-sites-live.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5984213001254856626?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5984213001254856626/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5984213001254856626' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5984213001254856626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5984213001254856626'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/07/liste-de-sites-moss.html' title='Liste de sites MOSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-885731115882626780</id><published>2007-07-18T10:17:00.000+02:00</published><updated>2007-07-18T11:35:02.104+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>SharePoint Server 2007 SDK: Software Development Kit and Enterprise Content Management Starter Kit</title><content type='html'>La version 1.1 du SharePoint Server 2007 SDK: Software Development Kit and Enterprise Content Management Starter Kit vient de sortir.&lt;br /&gt;Elle contient la doc, et des samples pour MOSS et WSS (en anglais).&lt;br /&gt;Les samples concernent :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;La gestion de contenu&lt;/li&gt;&lt;li&gt;Le record management&lt;/li&gt;&lt;li&gt;Les worfklow&lt;/li&gt;&lt;li&gt;Des templates visual studio pour les workflows&lt;/li&gt;&lt;/ul&gt;Lien de telechargement (80 Mo):&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;amp;displaylang=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-885731115882626780?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/885731115882626780/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=885731115882626780' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/885731115882626780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/885731115882626780'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/07/sharepoint-server-2007-sdk-software.html' title='SharePoint Server 2007 SDK: Software Development Kit and Enterprise Content Management Starter Kit'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-7475919535551120481</id><published>2007-07-18T09:36:00.000+02:00</published><updated>2007-07-18T09:41:47.102+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Pack de compatibilité Microsoft Office 2007 pour les suites Office</title><content type='html'>Le pack de compatibilité Microsoft Office pour les formats de fichier Word, Excel et PowerPoint 2007 permet aux applications Microsoft Office 2000, Office XP et Office 2003, d'ouvrir, de modifier et d'enregistrer des fichiers à l'aide des nouveaux formats de fichier de Microsoft Office 2007.&lt;br /&gt;&lt;br /&gt;Lien de telechargement.&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&amp;displaylang=fr"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&amp;amp;displaylang=fr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-7475919535551120481?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/7475919535551120481/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=7475919535551120481' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7475919535551120481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7475919535551120481'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/07/pack-de-compatibilit-microsoft-office.html' title='Pack de compatibilité Microsoft Office 2007 pour les suites Office'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-210167228664494813</id><published>2007-06-11T22:43:00.000+02:00</published><updated>2007-06-11T23:34:26.752+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Comment afficher une vue sur une liste avec un nom différent de celui de la liste ?</title><content type='html'>&lt;div&gt;La réponse est très simple si on le fait de manière interactive dans SharePoint. SharePoint génère automatiquement une webpart pour chaque liste du site. Il suffit de faire un drag&amp;drop de celle-ci sur le site puis de changer le nom de la webpart en changeant la propriété titre de celle-ci.&lt;br /&gt;&lt;br /&gt;Pour faire la même chose dans une définition de site (SITEDEF), il faut créer dans le ONET.XML une référence sur la vue qui doit être utilisée pour afficher la liste. Dans mon exemple je crée une vue avec le tag « View » sur la liste « SitesList » qui sera affichée avec la vue définie par « BaseViewID ». A ce point la liste sera affichée dans le site.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5074922569059321570" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 631px; CURSOR: hand; HEIGHT: 282px; TEXT-ALIGN: center" height="200" alt="" src="http://4.bp.blogspot.com/_nltg41VC9sQ/Rm2_MD9kxuI/AAAAAAAAAqc/U7SzGXTvayM/s400/code.bmp" width="536" border="0" /&gt; Maintenant nous allons ajouter les paramètres nécessaires à changer le titre de la webpart utilisée pour afficher la liste. La webpart qui est utilisée pour afficher une liste est « ListViewWebPart », et le nom de la propriété pour le titre est logiquement « Title ».&lt;br /&gt;&lt;br /&gt;En conclusion, il faut retenir que pour afficher une liste dans un site, la webpart (ListViewWebPart) est utilisée pour fournir un cadre d’affichage, et une vue pour définir les informations de la liste a afficher comme le titre des colonnes, les tris, et filtre éventuel. Pour paramètrer la webpart il faut utiliser les propriétés de la webpart. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-210167228664494813?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/210167228664494813/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=210167228664494813' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/210167228664494813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/210167228664494813'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/06/comment-afficher-une-vue-sur-une-liste.html' title='Comment afficher une vue sur une liste avec un nom différent de celui de la liste ?'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nltg41VC9sQ/Rm2_MD9kxuI/AAAAAAAAAqc/U7SzGXTvayM/s72-c/code.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1132949789390260799</id><published>2007-06-10T21:45:00.000+02:00</published><updated>2007-06-11T01:38:16.350+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Sharepointblogs HS, des infos ?</title><content type='html'>Il semble que le site &lt;a href="http://www.sharepointblogs.com"&gt;www.sharepointblogs.com&lt;/a&gt; ne reponde plus depuis 1 s emaine. Quelqu'un a t il des informations ?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;J'ai la réponse... &lt;/strong&gt;Un message sur le blog de Andrew Connell annonce de la part de Dustin Miller que le serveur est down avec un big probléme de disque. le poste : &lt;a href="http://andrewconnell.com/blog/archive/2007/06/08/6059.aspx"&gt;http://andrewconnell.com/blog/archive/2007/06/08/6059.aspx&lt;/a&gt;&lt;br /&gt;Donc la suite au prochain épisode, et gardons espoir les reparations sont en cours.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1132949789390260799?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1132949789390260799/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1132949789390260799' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1132949789390260799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1132949789390260799'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/06/sharepointblogs-hs-des-infos.html' title='Sharepointblogs HS, des infos ?'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-6135955868506812031</id><published>2007-06-07T00:06:00.000+02:00</published><updated>2007-08-16T15:00:02.022+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Les outils de base pour developper sous Sharepoint</title><content type='html'>&lt;strong&gt;Reflector for .Net de Lutz Roeder &lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.aisto.com/roeder/dotnet/"&gt;http://www.aisto.com/roeder/dotnet/&lt;/a&gt;&lt;br /&gt;Le très célèbre Reflector for .Net de Lutz Roeder, je l’utilise pour obtenir les Tokens Key de mes DLL, et surtout pour analyser le code source des dlls de Sharepoint (si, si c’est possible). C’est fou ce que l’on peut apprendre en lisant le code des autres.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SharePoint Manager, De Carsten Keutmann&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.sharepointblogs.com/keutmann/archive/2007/01/27/18652.aspx"&gt;http://www.sharepointblogs.com/keutmann/archive/2007/01/27/18652.aspx&lt;/a&gt;&lt;br /&gt;Un autre outil pour faire du CAML, en l’occurrence pour créer des requêtes, et les tester. Vraiment très pratique.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CamlViewer, de Renaud Comte &lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=SPCamlViewer"&gt;http://www.codeplex.com/Wiki/View.aspx?ProjectName=SPCamlViewer&lt;/a&gt;&lt;br /&gt;Tout le nécessaire pour développer du Caml, très orienté pour la gestion des listes et des vues. Il ne dispose malheureusement pas de fonction liée à l’analyse de « Site Definition ».&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;U2U CAML Builder, de U2U&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.u2u.net/"&gt;http://www.u2u.net&lt;/a&gt;&lt;br /&gt;Tout le nécessaire pour développer des querys Caml.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Notepad2&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;http://www.flos-freeware.ch/notepad2.html&lt;/a&gt;&lt;br /&gt;Rien d’extraordinaire, mais c’est un petit éditeur très pratique pour visualiser du code .Net rapidement sans avoir besoin de lancer Visual Studio, ou autres grosses artilleries.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;VSeWss, de Microsoft&lt;/strong&gt;&lt;br /&gt;Visual Studio Extension for Windows Sharepoint Server de Microsoft, cet outil fournit un ensemble de template de projet pour Visual Studio et fournit un outil externe très pratique. Il s’agit de Sharepoint Solution Generator, qui permet de produire un « site definition » à partir d’un site paramétré dans sharepoint. Je n’utilise pas les autres fonctions, voir mon poste : &lt;a href="http://fberton.blogspot.com/2007/02/extension-wss-pour-visual-studio-vsewss.html"&gt;http://fberton.blogspot.com/2007/02/extension-wss-pour-visual-studio-vsewss.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-6135955868506812031?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/6135955868506812031/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=6135955868506812031' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/6135955868506812031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/6135955868506812031'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/06/les-outils-de-base-pour-developper-sous.html' title='Les outils de base pour developper sous Sharepoint'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5020315517304741400</id><published>2007-05-31T00:14:00.000+02:00</published><updated>2007-05-31T00:18:07.432+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Notifier des utilisateurs par Mail</title><content type='html'>Pour envoyer un mail depuis MOSS c'est trés simple il existe deux deux API dans SPUtility. (Cet espace de nom contient plein de petits trucs sympas).&lt;br /&gt;&lt;strong&gt;SPUtility.IsEmailServerSet &lt;/strong&gt;qui retourne true si un serveur de mail sortant est défini dans MOSS pour le spweb spécifié. &lt;strong&gt;SPUtility.SendEmail &lt;/strong&gt;pour envoyer le mail.Voici un exemple de code:&lt;br /&gt;&lt;br /&gt;if ( SPUtility.IsEmailServerSet(mySPWeb) == true )&lt;br /&gt;{  &lt;br /&gt;    bool bAppendHTML = true;  &lt;br /&gt;    bool bEncodeHTML = false;  &lt;br /&gt;    string sTo = "&lt;a href="mailto:dupond@dupond.com"&gt;dupond@dupond.com&lt;/a&gt;";  &lt;br /&gt;    string sSubject = "Le sujet du message";&lt;br /&gt;    string sHtmlBody = "Corps de message avec du &lt;b&gt;Gras&lt;/b&gt;&lt;br /&gt;Un saut de ligne";&lt;br /&gt;&lt;br /&gt;   SPUtility.SendEmail(mySPWeb, bAppendHTMLTag,&lt;br /&gt;                                         bEncodeHTML, sTo, sSubject, sHtmlBody);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5020315517304741400?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5020315517304741400/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5020315517304741400' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5020315517304741400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5020315517304741400'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/05/notifier-des-utilisateurs-par-mail.html' title='Notifier des utilisateurs par Mail'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-894202846272741486</id><published>2007-05-04T01:09:00.000+02:00</published><updated>2007-05-04T01:22:54.630+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>(Ré)Activation de la page d’erreur ASP.NET standard</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Lorsque vous développez du code ASP.NET dans Sharepoint, si une erreur ce produit dans votre code. Une page d’erreur « custom » est affichée.&lt;br /&gt;Pas très pratique, pour revenir à l’affichage de la page ASP.Net de base, il faut modifier le fichier web.config du serveur web comme suit.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;L’attribut CallStack de la section SafeMode doit etre mis à true.&lt;br /&gt;Avant&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false"&lt;br /&gt;&lt;/strong&gt;Après&lt;br /&gt;&lt;strong&gt;SafeMode MaxControls="200" CallStack="true" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false"&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;L’attribut mode de la section customErrors doit etre mis à Off.&lt;br /&gt;Avant&lt;br /&gt;&lt;strong&gt;customErrors mode="On" &lt;/strong&gt;&lt;br /&gt;après&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;customErrors mode="Off"&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Et enfin les attributs batch et debug de la section compile doivent être mis à true&lt;br /&gt;Avant&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;compilation batch="false" debug="false"&lt;br /&gt;&lt;/strong&gt;Après&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;compilation batch="true" debug="true"&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-894202846272741486?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/894202846272741486/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=894202846272741486' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/894202846272741486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/894202846272741486'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/05/ractivation-de-la-page-derreur-aspnet.html' title='(Ré)Activation de la page d’erreur ASP.NET standard'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-671851189500222256</id><published>2007-04-25T21:36:00.000+02:00</published><updated>2007-04-25T21:37:42.286+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Astronomie'/><title type='text'>Une exoplanéte où la vie pourrait être....</title><content type='html'>Les astronomes de la collaboration Probing Lensing Anomalies NETwork (PLANET), dirigée par Jean-Philippe Beaulieu de l'Institut d'Astrophysique de Paris (1), ont découvert une exoplanète dont les caractéristiques se rapprochent de celles de notre Terre, mais située à 25 000 années-lumière de notre propre système solaire. La nouvelle planète de seulement 5 masses terrestres se trouve à 3 fois la distance Terre-Soleil de son étoile et tourne autour d'elle en 10 ans.&lt;br /&gt;La suite...&lt;br /&gt;&lt;a href="http://www2.cnrs.fr/presse/communique/814.htm"&gt;http://www2.cnrs.fr/presse/communique/814.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-671851189500222256?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/671851189500222256/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=671851189500222256' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/671851189500222256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/671851189500222256'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/04/une-exoplante-o-la-vie-pourrait-tre.html' title='Une exoplanéte où la vie pourrait être....'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-647058023494172281</id><published>2007-04-06T00:57:00.000+02:00</published><updated>2007-04-06T01:08:47.081+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>MOSS et WSS pack de langue dispo</title><content type='html'>C’est sur le blog de GAT, que j’ai trouvé l’info du jour. Le pack de langue, pour MOSS est dispo. Celui de WSS l’était déjà depuis un moment.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Le Pack MOSS &lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=fr&amp;FamilyID=2447426b-8689-4768-bff0-cbb511599a45"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=fr&amp;amp;FamilyID=2447426b-8689-4768-bff0-cbb511599a45&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Le pack WSS&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=fr&amp;FamilyID=36ee1bf0-652c-4e38-b247-f29b3eefa048"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=fr&amp;amp;FamilyID=36ee1bf0-652c-4e38-b247-f29b3eefa048&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Le blog de GAT : &lt;a href="http://www.gatweb.fr/default.aspx"&gt;http://www.gatweb.fr/default.aspx&lt;/a&gt;&lt;br /&gt;Un must, car fait avec MOSS lui même.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-647058023494172281?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/647058023494172281/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=647058023494172281' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/647058023494172281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/647058023494172281'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/04/moss-et-wss-pack-de-langue-dispo.html' title='MOSS et WSS pack de langue dispo'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1875135596120910710</id><published>2007-04-04T21:48:00.000+02:00</published><updated>2007-04-04T21:52:13.287+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Un Webpart qui affiche la liste des membres et la présence LCS/MOCS</title><content type='html'>&lt;?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" /&gt;&lt;w:sdt id="89512082" title="Titre du message" xpath="/ns0:BlogPostInfo/ns0:PostTitle" showingplchdr="t" docpart="B0F44482539E40E2B6E4CBF9BC57A92A" text="t" storeitemid="X_FC5E8359-BDC3-4DFD-A32C-BFF2CC226997"&gt; &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="LINE-HEIGHT: 115%;font-family:arial;font-size:85%;"  &gt;Voici le Render d'une Webpart qui affiche la liste des utilisateurs du site dans lequel elle est ajoutée. Jusque là rien d’extraordinaire, d’autant que MOSS le fait déjà tout seul, alors pourquoi une webpart ? J’avais besoin d’afficher dans cette liste d’utilisateurs leur information de présence et la possibilité de déclencher une communication instantanée.&lt;br /&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Premier problème : Comment activer la fonctionnalité de présence, et de messagerie instantanée ? Un petit coup de reverse engineering, m'a permis de trouver la fonction à utiliser qui se trouve dans le fichier C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1036 \INIT.JS sous le nom IMNRC.&lt;br /&gt;Deuxième problème : Où trouver l’adresse SIP des personnes. Elle est disponible uniquement dans MOSS et se trouve dans le UserProfile sous le nom &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;SPS-SipAddress.&lt;br /&gt;Troisième problème : Ne pas oublier que l’accès aux APIs qui manipule les groupes et les utilisateurs demandent des privilèges élevés. Donc RunWithElevatedPrivileges obligatoire, sous peine d’avoir une Webpart utile uniquement pour l’administrateur.&lt;span style="LINE-HEIGHT: 115%"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/w:sdt&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-no-proof: yes;color:blue;" &gt;protected&lt;/span&gt;&lt;span style="mso-no-proof: yes"&gt; &lt;span style="color:blue;"&gt;override&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Render(HtmlTextWriter _output)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;SPSecurity.RunWithElevatedPrivileges(&lt;span style="color:blue;"&gt;delegate&lt;/span&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; UserName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; UserHref;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; sSIP;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; sEmail;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:green;"&gt;// on ne peut pas utiliser le contexte de la webpart, car il est créé dans le contexte de securité de l'utilisateur de la webpart&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:green;"&gt;// hors ici on va avoir besoin d'un context de securite de niveau SHAREPOINT\system, pour utilisée la collection des Users du web.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:green;"&gt;// il faut donc recréer un Site et un Web dans le bon contexte de securité.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (SPSite mySite = &lt;span style="color:blue;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:blue;"&gt;this&lt;/span&gt;.Page.Request.Url.ToString()))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;ServerContext context = ServerContext.GetContext(mySite);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (SPWeb myWeb = mySite.OpenWeb())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (SPGroup curGroup &lt;span style="color:blue;"&gt;in&lt;/span&gt; myWeb.Groups)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;_output.Write(&lt;span style="color:#a31515;"&gt;"&amp;lt;b&amp;gt;{0}&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;"&lt;/span&gt;, curGroup.Name);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (SPUser curUser &lt;span style="color:blue;"&gt;in&lt;/span&gt; curGroup.Users)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (curUser.Name != &lt;span style="color:#a31515;"&gt;""&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;UserName = curUser.Name;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;UserName = curUser.LoginName;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;sSIP = curUser.Email;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;sEmail = curUser.Email;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color:green;"&gt;// Les informations sur l'adresse sip sont dans le userprofile qui est &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="color:green;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;                    // spécifique à MOSS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;UserProfileManager profileManager = &lt;span style="color:blue;"&gt;new&lt;/span&gt; UserProfileManager(context);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (profileManager.UserExists(curUser.LoginName) == &lt;span style="color:blue;"&gt;true&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;UserProfile user = profileManager.GetUserProfile(curUser.RawSid);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (user != &lt;span style="color:blue;"&gt;null&lt;/span&gt;) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                            &lt;/span&gt;&lt;span style="color:green;"&gt;// Si l'adresse sip n'est pas renseignée dans le profil. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="color:green;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;                            // La clef SPS-SipAdress n'est pas dans la liste des propertys&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                            &lt;/span&gt;&lt;span style="color:green;"&gt;// Une instance de UserProfileValueCollection avec une value = null &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="color:green;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;                            // est retournée.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                            &lt;/span&gt;UserProfileValueCollection obj = user[&lt;span style="color:#a31515;"&gt;"SPS-SipAddress"&lt;/span&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                            &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (obj.Value == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                                &lt;/span&gt;sSIP = &lt;span style="color:#a31515;"&gt;&lt;a href="mailto:erreur_pas@adresse.sip"&gt;erreur_pas@adresse.sip&lt;/a&gt;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                            &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                                &lt;/span&gt;sSIP = obj.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                     &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color:green;"&gt;// image où sera ajouté le menu &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;_output.Write(&lt;span style="color:#a31515;"&gt;"&amp;lt;span&amp;gt;"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;_output.Write(&lt;span style="color:#a31515;"&gt;"&amp;nbsp&amp;lt;img border=\"0\" height=12 width=12 src=\"/_layouts/images/imnhdr.gif\" onload=\"IMNRC('{0}')\" name=\"imnmark\" ShowOfflinePawn=1 id=\"{1},type=smtp\"/&amp;gt;&amp;nbsp"&lt;/span&gt;, sSIP, sEmail);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;_output.Write(&lt;span style="color:#a31515;"&gt;"&amp;lt;/span&amp;gt;"&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes;font-family:arial;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color:green;"&gt;// HREF vers le site&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;UserHref = myWeb.Url.ToString() + &lt;span style="color:#a31515;"&gt;@"/_layouts/"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;           &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;             &lt;/span&gt;+ myWeb.Language.ToString()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;+ &lt;span style="color:#a31515;"&gt;@"/userdisp.aspx?ID="&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;+ curUser.ID.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;_output.Write(&lt;span style="color:#a31515;"&gt;"&amp;lt;a href='{0}'&amp;gt;{1}&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;"&lt;/span&gt;, UserHref, UserName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;       &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}); &lt;span style="color:green;"&gt;// SPSecurity.RunWithElevatedPrivileges&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;span style="mso-no-proof: yes;font-family:arial;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;span style="font-family:arial;font-size:85%;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1875135596120910710?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1875135596120910710/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1875135596120910710' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1875135596120910710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1875135596120910710'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/04/un-webpart-qui-affiche-la-liste-des.html' title='Un Webpart qui affiche la liste des membres et la présence LCS/MOCS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1229853562256372515</id><published>2007-03-26T23:11:00.000+02:00</published><updated>2007-03-26T23:13:47.515+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Un template Visual Studio pour faire des applications ASP.NET sur Sharepoint/MOSS</title><content type='html'>Et, voilà...&lt;br /&gt;VisualStudio_MOSSApplicationTemplate.vsi est un template de projet C# pour Visual Studio qui permet de créer une application ASP.NET pour Sharepoint (MOSS 2007).&lt;br /&gt;La documentation du template : &lt;a href="http://berton.fred.free.fr/Files/MOSSApplicationTemplate.doc" mce_href="http://berton.free.fr/files/MOSSApplicationTemplate.doc"&gt;http://berton.fred.free.fr/Files/MOSSApplicationTemplate.doc&lt;/a&gt;&lt;br /&gt;Le fichier d'installation du template est dans le zip: &lt;a href="http://berton.fred.free.fr/Files/VisualStudio_MOSSApplicationTemplate.zip" mce_href="http://berton.free.fr/files/MOSSApplicationTemplate.zip"&gt;http://berton.fred.free.fr/Files/VisualStudio_MOSSApplicationTemplate.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1229853562256372515?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1229853562256372515/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1229853562256372515' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1229853562256372515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1229853562256372515'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/03/un-template-visual-studio-pour-faire_26.html' title='Un template Visual Studio pour faire des applications ASP.NET sur Sharepoint/MOSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-2124688782096003816</id><published>2007-03-21T23:31:00.000+01:00</published><updated>2007-03-21T23:34:35.846+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Visual Studio 2005 extensions for Windows Sharepoint  Serivces 3.0 en version RTM</title><content type='html'>Enfin, la version finale. J'ai eu l'information sur le blog de Pierre. &lt;a href="http://blogs.developpeur.org/pierre/archive/2007/03/16/wss-3-0-visual-studio-2005-extensions-pour-windows-sharepoint-services-visual-studio-2005-extensions-for-windows-sharepoint-services.aspx" mce_href="http://blogs.developpeur.org/pierre/archive/2007/03/16/wss-3-0-visual-studio-2005-extensions-pour-windows-sharepoint-services-visual-studio-2005-extensions-for-windows-sharepoint-services.aspx"&gt;http://blogs.developpeur.org/pierre/archive/2007/03/16/wss-3-0-visual-studio-2005-extensions-pour-windows-sharepoint-services-visual-studio-2005-extensions-for-windows-sharepoint-services.aspx&lt;/a&gt;&lt;br /&gt;Au programme comme d'habitude :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Modèles de projet Visual Studio 2005&lt;br /&gt;o Web Part&lt;br /&gt;o Définition de site d'équipe&lt;br /&gt;o Définition de site vide&lt;br /&gt;o Définition de liste &lt;/li&gt;&lt;li&gt;Modèles d'éléments Visual Studio 2005 &lt;br /&gt;o Web Part&lt;br /&gt;o Colonne personnalisée&lt;br /&gt;o Définition de liste&lt;br /&gt;o Type de contenu&lt;br /&gt;o Module &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;SharePoint Solution Generator : Génération d'un projet de définition de site à partir d'un site existant (attention quelques limitations)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-2124688782096003816?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/2124688782096003816/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=2124688782096003816' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2124688782096003816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2124688782096003816'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/03/visual-studio-2005-extensions-for.html' title='Visual Studio 2005 extensions for Windows Sharepoint  Serivces 3.0 en version RTM'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-2226425736216861324</id><published>2007-03-21T23:26:00.000+01:00</published><updated>2007-03-21T23:35:57.638+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Site Def versus Template de site</title><content type='html'>&lt;p&gt;La différence entre un template de site (fichier .stp), et une définition site (ou site def pour les initiés), n'est pas au premier abord des plus limpide. Alors voila mon interprétation. &lt;ul class="unIndentedList"&gt;&lt;li&gt;&lt;strong&gt;SITEDEF&lt;/strong&gt;, pour faire simple une définition de site est une description statique d'un site MOSS fait avec le langage CAML (une grammaire XML). Les définitions de sites sont déployées dans le dossier SITETEMPLATE (C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;TEMPLATE&lt;/strong&gt;, un template de site est une sauvegarde fait par l'utilisateur après avoir modifié un SITEDEF existant. Cette sauvegarde produit un fichier .STP. Ce même fichier est en fait un delta entre le SITEDEF d'origine et les modifications apportées par l'utilisateur sur ce site.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Une autre différence de taille, il n'est pas possible de sauvegarder sous forme de STP le modele d'une collection de site. Donc pour faire un modèle de portail il faut obligatoirement faire un SITEDEF. Pour une site normal, la question ce pose SITE DEF ou TEMPLATE ?&lt;br /&gt;Voici quelques questions qui peuvent aidé a faire un choix (je n'ai pas encore la réponse (mais c'est pour bientôt)) :&lt;/p&gt;&lt;ul class="unIndentedList"&gt;&lt;li&gt;Que se passe t il sur un TEMPLATE lorsque l'on modifie directement le SITEDEF duquel il est dérivé ?&lt;/li&gt;&lt;li&gt;Que se passe t il sur un TEMPLATE si on ne déploye pas le SITEDEF duquel il est dérivé ? &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-2226425736216861324?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/2226425736216861324/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=2226425736216861324' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2226425736216861324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2226425736216861324'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/03/site-def-versus-tempalte-de-site.html' title='Site Def versus Template de site'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-2183693113101616235</id><published>2007-03-20T22:03:00.000+01:00</published><updated>2007-03-20T22:55:32.978+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Un Template Visual Studio pour faire des Webparts</title><content type='html'>VisualStudio_MOSSWebpartTemplate.vsi est un template de projet C# pour Visual Studio qui permet de créer une webpart ASP.NET pour Sharepoint (MOSS 2007).&lt;br /&gt;&lt;br /&gt;La documentation du template : &lt;a href="http://berton.fred.free.fr/Files/MOSSWebpartVisualStudioTemplate.doc"&gt;http://berton.fred.free.fr/Files/MOSSWebpartVisualStudioTemplate.doc&lt;/a&gt;&lt;br /&gt;Le fichier d'installation du template est dans le zip: &lt;a href="http://berton.fred.free.fr/Files/MOSSWebpartTemplate.zip"&gt;http://berton.fred.free.fr/Files/MOSSWebpartTemplate.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-2183693113101616235?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/2183693113101616235/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=2183693113101616235' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2183693113101616235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2183693113101616235'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/03/un-template-visual-studio-pour-faire.html' title='Un Template Visual Studio pour faire des Webparts'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5467597392472496333</id><published>2007-02-22T21:39:00.000+01:00</published><updated>2007-02-22T21:43:28.903+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Astronomie'/><title type='text'>Telescope robotisé</title><content type='html'>Durant les rencontres du ciel et de l’espace 2006, j’ai fait une présentation sur l'utilisation d'un télescope robotisé accessible par Internet, et gratuit.&lt;br /&gt;C'est un 400 implanté au Canaries.&lt;br /&gt;&lt;a href="http://www.astrosurf.com/club_eclipse/rce_2006/fb_astronomie_internet.pdf"&gt;http://www.astrosurf.com/club_eclipse/rce_2006/fb_astronomie_internet.pdf&lt;/a&gt;&lt;br /&gt;ou directement le telescope : &lt;a href="http://telescope.org"&gt;http://telescope.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5467597392472496333?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5467597392472496333/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5467597392472496333' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5467597392472496333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5467597392472496333'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/02/telescope-robotis.html' title='Telescope robotisé'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-296761841218063183</id><published>2007-02-22T21:18:00.000+01:00</published><updated>2007-02-22T21:31:32.220+01:00</updated><title type='text'>Comment declencher immédiatement un job attaché</title><content type='html'>Dernièrement, j'ai une besoins de déclenché immédiatement l'exécution d'un job qui est normalement exécuter par le gestionnaire de job de WSS.&lt;br /&gt;J'ai cherché un bon moment avant de trouver comment déclenché immédiatement l'exécution du job. Et bien c'est simple, mais il fallait y pensé.&lt;br /&gt;Dans l'administration centrale de votre site MOSS, onglet Operations, Timer job définitions, puis il faut tous simplement désactivé, puis réactivé le job. Ce qui a pour effet de demandé une exécution immédiate.&lt;br /&gt;Pratique par exemple pour synchronisé la base de profile utilisateur des différentes collections de sites.&lt;br /&gt;L'url : &lt;a href="http://MOSS/_admin/servicejobdefinitions.aspx"&gt;http://MOSS/_admin/servicejobdefinitions.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-296761841218063183?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/296761841218063183/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=296761841218063183' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/296761841218063183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/296761841218063183'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/02/comment-declencher-immdiatement-un-job.html' title='Comment declencher immédiatement un job attaché'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5133543205965706118</id><published>2007-02-21T23:45:00.001+01:00</published><updated>2007-02-21T23:45:23.609+01:00</updated><title type='text'>Extension WSS pour Visual Studio (VSeWSS), Pourquoi je ne m’en sert plus pour faire des Webpart</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;Et bien voila après quelques temps à essayer de développer des Webparts avec VSeWSS. Je jette l'éponge.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pourquoi ?&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;D'abord la feature associé à la webpart est nommé avec un nom à couché dehors à base MyWebPart_&amp;lt;GUID&amp;gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Lors de la désinstallation de cette feature, l'entrée dans la galerie de webpart n'est pas supprimée. Ce qui porte à confusion.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Jusque là, rien de bien grave….&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Mais il y a les nombreux bugs lors de la génération de la solution ou de son déploiement. C'est plus grave.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;La génération et le déploiement se faire lorsque l'on fait F5. VSeWSS génère automatiquement les fichiers nécessaires à la solution et à la feature. Le problème c'est que sa marche bien la première fois, puis après en générale sa part en vrille. La plupart du temps ça ce termine par l'impossibilité de générer la solution. Donc impossible également de déployer.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Quelques solutions que j'ai trouvées, pour le problème de plantage sur le déploiement.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;D'abord pour l'urgence, le build par F6 fonctionne toujours, donc vous pouvez implanter la DLL dans le GAC (Windows\Assembly) à la main avec gacutil.exe ou par le Drag and Drop depuis l'explorer.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Pour la génération de la solution via F5, j'ai remarqué que si vous faite un setup.bat /uninstall avant de faire un F5 sa marché mieux, enfin pas toujours.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sinon il est toujours possible, de refaire un projet de webpart puis de copié votre code dedans, et la ça remarche à nouveau. Attention à ne pas changer les différents GUID entre la nouvelle, et l'ancienne version du projet.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Attention, à ne pas jeter, le bébé avec l'eau du bain. On apprend plein de choses rapidement avec VSeWSS sur le contenu et la structures des fichiers de Feature et Solution. Mais dans la pratique et en perspective de livraison client, il ne faut pas oublié que ce n'est pas un produit final (CTP). &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Donc je vais développer mais propre template de projet Visual Studio surement moins complet, mais que je maitrise. Je vous mets sa en ligne bientôt.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Ps) Si vous avez d'autres solution ou idée je suis preneur.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-5133543205965706118?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5133543205965706118/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5133543205965706118' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5133543205965706118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5133543205965706118'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/02/extension-wss-pour-visual-studio-vsewss.html' title='Extension WSS pour Visual Studio (VSeWSS), Pourquoi je ne m’en sert plus pour faire des Webpart'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-5585225634320639460</id><published>2007-02-05T00:37:00.000+01:00</published><updated>2007-02-05T00:45:34.314+01:00</updated><title type='text'>MOSS en Français dispo sur msdn</title><content type='html'>Un petit poste rapide pour vous vous dire que vous pouvez telecharger la version Française de de MOSS sur le site MSDN (pour les adherents). Donc vous trouverez :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Office SharePoint Server 2007 Standard and Enterprise Editions (French)&lt;/li&gt;&lt;li&gt;Office SharePoint Server 2007 for Search Standard and Enterprise Editions (French) &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Voilà pour pouvoir livrer les clients en Français, c'est cool.&lt;/p&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/11712011-5585225634320639460?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/5585225634320639460/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=5585225634320639460' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5585225634320639460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/5585225634320639460'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/02/moss-en-franais-dispo-sur-msdn.html' title='MOSS en Français dispo sur msdn'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1882297264495520631</id><published>2007-02-04T22:53:00.000+01:00</published><updated>2007-02-04T23:03:59.717+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>L'architecture de Sharepoint en poster</title><content type='html'>&lt;p&gt;Si comme moi vous devez souvent présenter l'architecture de Sharepoint à vos clients pour présenter les services apporter par cette application. L'adresse suivant contient un super poster qui d'écrit l'architecture de MOSS de façon relativement synthétique. &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=771aeb45-9d27-4d1f-acd1-9b950637d64e&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=771aeb45-9d27-4d1f-acd1-9b950637d64e&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Vous trouverez également deux autres poster :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Microsoft Office InfoPath 2007 Managed Object Model Poster. &lt;/li&gt;&lt;li&gt;Developer Map for SharePoint Products and Technologies Poster&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1882297264495520631?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1882297264495520631/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1882297264495520631' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1882297264495520631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1882297264495520631'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/02/larchitecture-de-sharepoint-en-poster.html' title='L&apos;architecture de Sharepoint en poster'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1368623682173814884</id><published>2007-02-01T01:11:00.000+01:00</published><updated>2007-02-01T01:25:34.179+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Correction du bug d’installation du template MOSS pour Visual Studio 2005 (VSeWSS.msi)</title><content type='html'>Sur une installation du Visual Studio 2005 professionnelle, aprés l’installation du fichier « VSeWSS.msi » qui contient les extensions à Visual Studio pour Windows Sharepoint Services, les templates par défaut de visual studio sont supprimés.&lt;br /&gt;&lt;br /&gt;Pour les remettrent, appliquez la procédure suivante :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Apres l’installation du fichier MSI.&lt;/li&gt;&lt;li&gt;Supprimer le dossier ProjectTemplateCache du dossier X:\Program Files\Microsoft Visual Studio 8\Common7\IDE&lt;/li&gt;&lt;li&gt;Créer un dossier 1033 dans le dossier Sharepoint du dossier X:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp&lt;/li&gt;&lt;li&gt;Déplacez les fichiers *.zip du dossier Sharepoint dans le sous dossier 1033 que vous venez de créer.&lt;/li&gt;&lt;li&gt;Lancer la commande :«C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\DEVENV.EXE» /SETUP&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Cette commande va reconstruire la liste des templates Visual Studio, qui ce traduit par le création du dossier : X:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplatesCache et X:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplatesCache&lt;/p&gt;Cette solution vous permettra de récupérer les templates par défaut de Visual Studio. Mais malheureusement ceux de Sharepoint vont apparaitre dans la liste des templates de Windows, je ne sais pas pourquoi.&lt;br /&gt;&lt;br /&gt;Je pense qu’il s’agit d’un bug, mais bon… J’ai rien vu sur le Net à ce sujet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-1368623682173814884?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1368623682173814884/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1368623682173814884' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1368623682173814884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1368623682173814884'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/01/correction-du-bug-dinstallation-du.html' title='Correction du bug d’installation du template MOSS pour Visual Studio 2005 (VSeWSS.msi)'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-8093634986520110759</id><published>2007-01-25T21:44:00.000+01:00</published><updated>2007-01-25T22:05:25.503+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Docs Technet sur le deploiement de MOSS et WSS</title><content type='html'>Les gas du technet ils travaillent aussi. Ils sortent trois docs sur le déploiement, et la planification d’architecture MOSS. J’ai pas eu le temps de regarder, mais mon ingé système m’a dit que c’était intéressant.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Planning and Architecture for Office SharePoint Server 2007&lt;/strong&gt;&lt;br /&gt;918 pages&lt;br /&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=79552&amp;clcid=0x409"&gt;http://go.microsoft.com/fwlink/?LinkId=79552&amp;amp;clcid=0x409&lt;/a&gt;&lt;br /&gt;Pour le consulter en ligne&lt;br /&gt;&lt;a href="http://technet2.microsoft.com/Office/en-us/library/b28ba53d-a3e8-440f-9fcb-f592d858894a1033.mspx?mfr=true"&gt;http://technet2.microsoft.com/Office/en-us/library/b28ba53d-a3e8-440f-9fcb-f592d858894a1033.mspx?mfr=true&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Deployment for Office SharePoint Server 2007&lt;/strong&gt;&lt;br /&gt;380 pages, pour telecharger le doc&lt;br /&gt;&lt;a href="http://office.microsoft.com/download/afile.aspx?AssetID=AM101638531033"&gt;http://office.microsoft.com/download/afile.aspx?AssetID=AM101638531033&lt;/a&gt;&lt;br /&gt;Pour consulter en ligne&lt;br /&gt;&lt;a href="http://technet2.microsoft.com/Office/en-us/library/601874ea-86c9-4611-bdaf-abe17bbb68161033.mspx?mfr=true"&gt;http://technet2.microsoft.com/Office/en-us/library/601874ea-86c9-4611-bdaf-abe17bbb68161033.mspx?mfr=true&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Planning and Architecture for Windows SharePoint Services 3.0&lt;/strong&gt; Technology&lt;br /&gt;332 pages&lt;br /&gt;&lt;a href="http://office.microsoft.com/download/afile.aspx?AssetID=AM101638671033"&gt;http://office.microsoft.com/download/afile.aspx?AssetID=AM101638671033&lt;/a&gt;&lt;br /&gt;Pour consulter en ligne&lt;br /&gt;&lt;a href="http://technet2.microsoft.com/Office/en-us/library/32a18803-52d2-4967-ab9d-0e199c9bf0041033.mspx?mfr=true"&gt;http://technet2.microsoft.com/Office/en-us/library/32a18803-52d2-4967-ab9d-0e199c9bf0041033.mspx?mfr=true&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-8093634986520110759?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/8093634986520110759/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=8093634986520110759' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8093634986520110759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8093634986520110759'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/01/docs-technet-sur-le-deploiement-de-moss.html' title='Docs Technet sur le deploiement de MOSS et WSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-732027566955175385</id><published>2007-01-25T21:20:00.000+01:00</published><updated>2007-01-25T21:24:37.396+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Carte des styles CSS pour MOSS et WSS</title><content type='html'>Un excellent post sur le site de &lt;strong&gt;Heather Solomon&lt;/strong&gt;.&lt;br /&gt;Il s'agit de la liste des noms de style de MOSS 2007 et WSS 3.&lt;br /&gt;Avec a chaque fois le nom du style, et un exemple d'utilisation.&lt;br /&gt;Vraiment trés utile.&lt;br /&gt;&lt;a href="http://heathersolomon.com/blog/archive/2007/01/23/6127.aspx"&gt;http://heathersolomon.com/blog/archive/2007/01/23/6127.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-732027566955175385?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/732027566955175385/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=732027566955175385' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/732027566955175385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/732027566955175385'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/01/carte-des-styles-css-pour-moss-et-wss.html' title='Carte des styles CSS pour MOSS et WSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-2957708358652910283</id><published>2007-01-23T23:44:00.000+01:00</published><updated>2007-01-24T00:46:41.505+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Les Versions finale des DOCs de MOSS et WSS sont disponible</title><content type='html'>Une grande nouvelle, les documentations finale de MOSS 2007 et WSS 3.0 sont disponibles en telechargement sur le site Microsoft.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Windows SharePoint Services&lt;/strong&gt; 3.0: Software Development Kit (SDK) &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=05e0dd12-8394-402b-8936-a07fe8afaffd&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=05e0dd12-8394-402b-8936-a07fe8afaffd&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SharePoint Server 2007 SDK&lt;/strong&gt;: Software Development Kit and Enterprise Content Management Starter Kit &lt;a href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;displayLang=en"&gt;http://www.microsoft.com/downloads/thankyou.aspx?familyId=6D94E307-67D9-41AC-B2D6-0074D6286FA9&amp;amp;displayLang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Sur le net :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;MOSS SDK – &lt;a href="http://msdn2.microsoft.com/en-us/library/ms550992.aspx" snap_preview_added="spa" mce_href="http://msdn2.microsoft.com/en-us/library/ms550992.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms550992.aspx&lt;/a&gt; &lt;/li&gt;&lt;li&gt;WSS SDK – &lt;a href="http://msdn2.microsoft.com/en-us/library/ms441339.aspx" snap_preview_added="spa" mce_href="http://msdn2.microsoft.com/en-us/library/ms441339.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms441339.aspx&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Donc, c'est fini le petit texte rouge qui vous dit "This topic is a pre-release ...".&lt;br /&gt;Bon d'accord, la doc sur les controles est toujours aussi null, mais bon faudrat faire avec.&lt;/p&gt;&lt;p&gt;Pour plus de détails sur l'annonce : &lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/01/22/download-the-moss-sdk-or-the-wss-sdk.aspx"&gt;http://blogs.msdn.com/sharepoint/archive/2007/01/22/download-the-moss-sdk-or-the-wss-sdk.aspx&lt;/a&gt;&lt;/p&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/11712011-2957708358652910283?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/2957708358652910283/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=2957708358652910283' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2957708358652910283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2957708358652910283'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/01/les-versions-finale-des-docs-de-moss-et.html' title='Les Versions finale des DOCs de MOSS et WSS sont disponible'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-4136618161354215826</id><published>2007-01-14T22:16:00.000+01:00</published><updated>2007-01-14T22:42:24.604+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cuisine'/><title type='text'>La soupe au potiron et au lait de coco</title><content type='html'>Une deuxième recette de soupe au potiron, ma préféré.Pour faire une bonne soupe au potiron pour 6-8 personnes.&lt;br /&gt;Préparation : 30 Minutes (histoire d'épluché les légumes)&lt;br /&gt;Cuisson: 30 Minutes&lt;br /&gt;Les composants:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1,5 Kg Petit rond &lt;/li&gt;&lt;li&gt;2 oignons&lt;/li&gt;&lt;li&gt;2 patates (des belles) &lt;/li&gt;&lt;li&gt;1 litre de lait &lt;/li&gt;&lt;li&gt;25 Cl de lait de coco&lt;/li&gt;&lt;li&gt;1 culière à café de cumin &lt;/li&gt;&lt;li&gt;L’équivalent d’un carré de sucre en gingembre frais*&lt;/li&gt;&lt;li&gt;Sel, poivre&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Faire brunir avec 2 culière a soupe d’huile  d’olive les oignons coupés en lamelle.&lt;br /&gt;Ajouté le potiron, et faire revenir avec les oignons pendant 5/10 minutes.&lt;br /&gt;Pendant ce temps la, écrasez le gingembre avec un pilon.&lt;br /&gt;Ajouté le lait, puis le lait de coco, le cumin, le sel, le poivre, et le gingembre.&lt;br /&gt;Une fois cuit, mixer et servir chaud.&lt;br /&gt;Attention le lait a tendance à déborder.&lt;br /&gt;Si la soupe n’est pas assez liquide ajouté du lait (chaud). Si c’est l’inverse, faire réduire à feux doux.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-4136618161354215826?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/4136618161354215826/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=4136618161354215826' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4136618161354215826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/4136618161354215826'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/01/la-soupe-au-potiron-et-au-lait-de-coco.html' title='La soupe au potiron et au lait de coco'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-8898365479193812697</id><published>2007-01-14T22:10:00.000+01:00</published><updated>2007-01-14T22:13:12.312+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cuisine'/><title type='text'>Le DAL aux lentilles</title><content type='html'>&lt;p&gt;Le DAL (Data Abstraction Layer), peut également ce consommer avec des lentilles.&lt;br /&gt;C’est comme d’habitude un plat très simple à faire.&lt;br /&gt;Donc, il vous faudra :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Une boite de lentille cuisinée &lt;/li&gt;&lt;li&gt;500 grammes de crevette congèle &lt;/li&gt;&lt;li&gt;2 cuillères café de curry &lt;/li&gt;&lt;li&gt;2 beaux oignons &lt;/li&gt;&lt;li&gt;25 Cl de lait de coco / ou crème fraîche liquide &lt;/li&gt;&lt;li&gt;2 cuillères à soupes d’huile d’olive &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;L’algorithme de cuisine est le suivant :&lt;br /&gt;Peller les oignons, et les coupés en rondelle de 3 millimètres d’épaisseur.&lt;br /&gt;Dans un wok ou un faitout, placez deux cuillères à soupe d’huile d’olive. Puis faites frire les oignons. Lorsque les oignons sont bien roussis, jeter les crevettes dedans (éventuellement encore congelé). Laisser frire deux ou trois minutes, puis ajouter le lait de coco (ou la crème fraîche liquide), puis les lentilles sans le jus.&lt;br /&gt;Laisser cuire à feux doux pendant 10 minutes.&lt;br /&gt;Et voila c’est prêt à manger.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-8898365479193812697?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/8898365479193812697/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=8898365479193812697' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8898365479193812697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/8898365479193812697'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/01/le-dal-aux-lentilles.html' title='Le DAL aux lentilles'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-795824569554150428</id><published>2007-01-14T22:04:00.000+01:00</published><updated>2007-01-14T22:07:18.014+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cuisine'/><title type='text'>La soupe au potiron</title><content type='html'>&lt;p&gt;Un petit plat simple. Une soupe.&lt;br /&gt;Pour faire une bonne soupe au potiron pour 6-8 personnes.&lt;br /&gt;Préparation : 30 Minutes (histoire d'épluché les légumes)&lt;br /&gt;Cuisson: 30-40 Minutes (l'indicateur c'est les carottes, quant elle sont cuite, c'est cuit.)&lt;br /&gt;Les composants: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;1 Kg Petit rond &lt;/li&gt;&lt;li&gt;1 Kg de carottes &lt;/li&gt;&lt;li&gt;1 oignon &lt;/li&gt;&lt;li&gt;2 patates (des belles) &lt;/li&gt;&lt;li&gt;1 litre de lait &lt;/li&gt;&lt;li&gt;1/4 L d'eau &lt;/li&gt;&lt;li&gt;Sel, poivre&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;La suite est très simple : épluché, cocotes, mélangé.&lt;br /&gt;Une fois cuit, mixer et servir chaud avec de la crème fraîche.&lt;br /&gt;Attention le lait a tendance à déborder.&lt;br /&gt;Si la soupe n’est pas assez liquide ajouté du lait (chaud). Si c’est l’inverse, faire réduire à feux doux. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-795824569554150428?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/795824569554150428/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=795824569554150428' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/795824569554150428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/795824569554150428'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2007/01/la-soupe-au-potiron.html' title='La soupe au potiron'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-549985532356174927</id><published>2006-12-15T00:20:00.000+01:00</published><updated>2006-12-24T15:05:47.429+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><title type='text'>Installation de MSDN sur un disque réseau partagé</title><content type='html'>Pour installer MSDN Library sur un disque réseau partagé entre plusieurs poste client.&lt;br /&gt;Ou pour installé MSDN Library sur un disque d’une machine host et pouvoir utiliser ce MSDN depuis plusieurs machines virtuelle sans avoir besoins d’installer MSDN complet dans chaqu'une des vm procédé comme suit :&lt;br /&gt;&lt;p&gt;1. Sur le serveur (ou le host) créer un répertoire qui contiendra le MSDN (par exemple c:\MSDN)&lt;br /&gt;2. Partagé ce dossier en full contrôle&lt;br /&gt;3. Depuis le DVD MSDN Library.&lt;br /&gt;4. Faire un netcopy sur le dossier partagé crée en (2)&lt;br /&gt;5. Depuis le poste client (ou la VM)&lt;br /&gt;6. Monté un disque (par exemple M :) sur le partage réseau de MSDN définit en (2)&lt;br /&gt;7. Lancer SETUP.EXE&lt;br /&gt;8. Choisir l’option installation Custom&lt;br /&gt;9. Choisir comme répertoire d’installation au lieu de C:\program Files\MSDN le chemin M:\program Files\MSDN. Où ‘M’ est le mon du montage de disque réseau que vous avez choisi. &lt;/p&gt;&lt;p&gt;Et voila vous avez installé MSDN sur un disque reseau, et il est utilisable depuis toutes vos virtuel machine ou vos postes client sans avoir besoins de prendre de la place disque sur ces machines.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-549985532356174927?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/549985532356174927/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=549985532356174927' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/549985532356174927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/549985532356174927'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/installation-de-msdn-sur-un-disque.html' title='Installation de MSDN sur un disque réseau partagé'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-7573838186922325960</id><published>2006-12-15T00:18:00.000+01:00</published><updated>2007-01-25T23:21:42.434+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Déployer une application ASP.NET dans un site MOSS</title><content type='html'>&lt;p&gt;Microsoft préconise deux localisations pour déployer des applications web dans MOSS. Le choix doit ce faire en fonction du type d’applications que vous réalisez : &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Une application web&lt;/strong&gt; devant être accessible depuis les sites sharepoint.&lt;br /&gt;Le répertoire de déploiement sera « &lt;strong&gt;C:\Program Files\Fichiers communs\Microsoft Shared\Web Server Extensions\12\template\layout&lt;/strong&gt;».&lt;br /&gt;Votre application ASP.NET est ensuite disponible dans tout les sites sharepoint à l'url: &lt;a href="http://servername/_layout/VotreFichier.ASPX"&gt;http://ServerName/_layout/VotreFichier.ASPX&lt;/a&gt; Le repertoire _layout est virtualisé sur tout vos sites MOSS, comme par exemple &lt;a href="http://ServerName/_layout/SiteDirectory/TEST/VotreFichier.ASPX"&gt;http://ServerName/_layout/SiteDirectory/TEST/VotreFichier.ASPX&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Une application d’administration &lt;/strong&gt;utilisant seulement le namespace Microsoft.Sharepoint.Administration.&lt;br /&gt;Le répertoire de déploiement doit être « &lt;strong&gt;C:\Program Files\Fichiers communs\Microsoft Shared\Web Server Extensions\60\TEMPLATE\ADMIN\1036&lt;/strong&gt;»&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-7573838186922325960?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/7573838186922325960/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=7573838186922325960' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7573838186922325960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/7573838186922325960'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/dployer-une-application-aspnet-dans-un.html' title='Déployer une application ASP.NET dans un site MOSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-2435011612556973650</id><published>2006-12-15T00:15:00.000+01:00</published><updated>2006-12-24T15:09:44.287+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Les répertoires de déploiement de MOSS</title><content type='html'>&lt;a name="_Toc153256515"&gt;&lt;/a&gt;Le répertoire de déploiement par défaut de &lt;strong&gt;MOSS &lt;/strong&gt;est :&lt;br /&gt;&lt;br /&gt;« &lt;strong&gt;C:\Program Files\Fichiers communs\Microsoft Shared\Web Server Extensions\12&lt;/strong&gt; »&lt;br /&gt;&lt;br /&gt;Le répertoire des &lt;strong&gt;binaires&lt;/strong&gt; &lt;strong&gt;utiles&lt;/strong&gt; pour MOSS est :&lt;br /&gt;« &lt;strong&gt;C:\Program Files\Fichiers communs\Microsoft Shared\Web Server Extensions\12\BIN&lt;/strong&gt; »&lt;br /&gt;&lt;br /&gt;Le répertoire des &lt;strong&gt;fichiers d’aide&lt;/strong&gt; pour MOSS est :&lt;br /&gt;«&lt;strong&gt; C:\Program Files\Fichiers communs\Microsoft Shared\Web Server Extensions\12\Help\1036&lt;/strong&gt; »&lt;br /&gt;&lt;br /&gt;Le répertoire des fichiers des &lt;strong&gt;TEMPLATE &lt;/strong&gt;pour MOSS est :&lt;br /&gt;« &lt;strong&gt;C:\Program Files\Fichiers communs\Microsoft Shared\Web Server Extensions\12\TEMPLATE&lt;/strong&gt;»&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-2435011612556973650?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/2435011612556973650/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=2435011612556973650' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2435011612556973650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/2435011612556973650'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/les-rpertoires-de-dploiement-de-moss.html' title='Les répertoires de déploiement de MOSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-1315326807375077670</id><published>2006-12-15T00:10:00.000+01:00</published><updated>2006-12-24T15:22:55.704+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Debugger une Webpart</title><content type='html'>Pour debugger une web part vous devez d'abord faire un peut de configuration, que restera active pour tout le projet.&lt;br /&gt;Apres cette configuration les session de debugger se feront par attachement de processus à Visual Studio.&lt;br /&gt;&lt;br /&gt;Tout d'abord, il faut obtenir une webpart en mode debug, c'est-à-dire :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Configurer le projet de compilation en mode debug &lt;/li&gt;&lt;li&gt;Configurer le site web pour activé le mode debug. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Configurer le projet en mode debug.&lt;br /&gt;&lt;/strong&gt;Pour configurer votre projet en mode debug, vous devez :&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Sélectionnez l’option « Propriétés du projet » dans le menu « Projet » &lt;/li&gt;&lt;li&gt;Sélectionner la configuration « Debug ». &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Configurer le site web pour activé le mode debug&lt;br /&gt;&lt;/strong&gt;Pour configurer votre site web en mode debug, vous devez activiter le mode debug dans le fichiers « &lt;strong&gt;web.config&lt;/strong&gt; » du site de déploiement de votre webpart (pour localisé le répertoire de déploiement cf §Trouver le site IIS d’un site moss).&lt;br /&gt;Dans le fichiers web.config, modifier la section « &lt;strong&gt;Compilation&lt;/strong&gt; »&lt;br /&gt;de&lt;br /&gt;&lt;compilation batch="false" debug="false"&gt;&lt;em&gt;&lt;strong&gt;compilation batch="false" debug="false"&lt;/strong&gt;&lt;br /&gt;&lt;/em&gt;A&lt;br /&gt;&lt;compilation batch="false" debug="true"&gt;&lt;em&gt;&lt;strong&gt;compilation batch="false" debug="true" &lt;/strong&gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;Attaché Visual Studio au processus d’exécution de votre webpart&lt;br /&gt;&lt;/strong&gt;Une fois ces manipulations réalisés vous pouvez passer au debugage proprement dit.&lt;br /&gt;Votre webpart doit être affichée quelque part sur votre site.&lt;br /&gt;Depuis votre projet dans visual studio (et après avoir positionner des breakpoints), vous devez attaché Visual studio au process d’exécution de la webpart.&lt;br /&gt;C'est-à-dire : &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Depuis le menu « Debug », sélectionner l’option « Attacher au processus ». &lt;/li&gt;&lt;li&gt;Dans la boite de dialogue cliqué sur le bouton « Selectionner » de la zone « attaché à », et sélectionner « code managé » dans la liste affiché. Ceci pour ne faire du debug que sur votre partir de code qui est en code managé. &lt;/li&gt;&lt;li&gt;Sélectionner le processus « w3wp.exe », puis cliqué sur le bouton « Attacher ». A partir de ce nomment Visual Studio est en mode debug sur votre webpart. Vos breakpoints sont donc activés.&lt;/li&gt;&lt;/ul&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/11712011-1315326807375077670?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/1315326807375077670/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=1315326807375077670' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1315326807375077670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/1315326807375077670'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/debugger-une-webpart.html' title='Debugger une Webpart'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-116604636758139915</id><published>2006-12-13T22:46:00.000+01:00</published><updated>2006-12-24T15:25:06.993+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Trouver le site IIS d’un site moss</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Les sites MOSS sont déployés dans des sites WEB IIS étendue par les fonctionnalités de MOSS. Ce type de site s'appelle en terminologie MOSS une « &lt;strong&gt;application Web&lt;/strong&gt; ». &lt;/p&gt;&lt;p&gt;Pour trouver le répertoire physique de déploiement d'une application Web (un site Web supportant les fonctionnalités de MOSS) vous pouvez utilisé le « &lt;strong&gt;Gestionnaire de services Internet (IIS)&lt;/strong&gt; ». Localisez le site web qui porte le nom de l'application web que vous avez créer pour hébergé votre site MOSS. Dans mon cas il s'agit de « APPWEB ». &lt;/p&gt;&lt;p&gt;Clique droit puis « &lt;strong&gt;propriétés&lt;/strong&gt; », et sélectionnez l'onglet « &lt;strong&gt;Répertoire de base&lt;/strong&gt; », le chemin d'accès est indiqué dans la zone « &lt;strong&gt;Chemin d'accès local&lt;/strong&gt; ». Dans mon cas le site est déployé dans le répertoire : C:\Inetpub\wwwroot\wss\VirtualDirectories\9083. &lt;/p&gt;&lt;p&gt;Dans ce même onglet vous pouvez également trouver le pool d'application dans lequel s'exécute votre site dans la zone « &lt;strong&gt;Pool d'application&lt;/strong&gt; ».&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-116604636758139915?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/116604636758139915/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=116604636758139915' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604636758139915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604636758139915'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/trouver-le-site-iis-dun-site-moss.html' title='Trouver le site IIS d’un site moss'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-116604620235825388</id><published>2006-12-13T22:43:00.000+01:00</published><updated>2006-12-24T14:25:02.414+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Déployer des images, et des logos communs à vos sites MOSS</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Pour donner un look plus professionnel à une application web il est souvent nécessaire de déployer un logo propre à l'activité ou la société pour laquelle vous développez votre site MOSS.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Pour mettre à disposition vos images vous devez les copiés dans le répertoire&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;« C:\Program Files\Fichiers communs\Microsoft Shared\Web Server Extensions\12\template\images »&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Ce répertoire est installé par MOSS comme un répertoire virtuelle pour toutes les applications WEB sous le nom « &lt;strong&gt;_layout/images&lt;/strong&gt; ». Les images que vous placez dans ce dossier seront disponibles pour toutes vos applications web.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-116604620235825388?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/116604620235825388/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=116604620235825388' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604620235825388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604620235825388'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/dployer-des-images-et-des-logos.html' title='Déployer des images, et des logos communs à vos sites MOSS'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-116604608730093253</id><published>2006-12-13T22:41:00.000+01:00</published><updated>2006-12-24T14:25:12.829+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Trouver le numéro de version de MOSS et d’Office 2007</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Pour trouver le numéro de version de &lt;strong&gt;MOSS 2007&lt;/strong&gt; déployé vous pouvez consulter la clé de registre &lt;strong&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\BuildVersion&lt;/strong&gt; qui doit normalement être : 12.0.4407.1005 pour la Beta 2 TR française.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;La version d'&lt;strong&gt;Office&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;2007&lt;/strong&gt; est disponible sous la clé : &lt;strong&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Common\ProductVersion&lt;/strong&gt; qui doit normalement être : 12.0.4407.1005 pour la Beta 2 TR française.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-116604608730093253?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/116604608730093253/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=116604608730093253' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604608730093253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604608730093253'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/trouver-le-numro-de-version-de-moss-et.html' title='Trouver le numéro de version de MOSS et d’Office 2007'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11712011.post-116604567648093763</id><published>2006-12-13T22:34:00.000+01:00</published><updated>2006-12-24T15:44:57.555+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SHAREPOINT'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS'/><title type='text'>Configuration de développement</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;L'ensemble des tests réalisés dans le cadre de ce document ont été réalisés sur un PC portable DELL INSPIRON 9100 avec 2GO de RAM, un disque dur de 60Go, et un processeur Intel Pentium 4 à 3Ghz HT. Cette machine fonctionne sous Windows XP Pro SP2 en Français, et dispose également de Microsoft Office 2003 Pro pour faire des tests d'accès sur MOSS depuis un Office 2003.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;L'environnement de développement pour MOSS 2007 est déployé dans une machine virtuelle VMware (Version 5.0.0 build 13124). Cette VM est configurée avec 1Go de RAM, 12 Go de disque dur SCSI, et le réseau est configuré avec une carte réseau en mode « Host-Only », paramétré dans le même domaine de sous réseau IP que la machine Host afin de pouvoir utilisée celle-ci comme client. La VM contient l'ensemble des outils et logiciels nécessaires au développement d'application MOSS (FR). C'est-à-dire :&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Microsoft Windows 2003 server SP1 (FR)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft .Net Framework 2.0 FR &lt;/li&gt;&lt;br /&gt;&lt;li&gt;WinFX runtime component 3.0 Beta 2 &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Window Workflow Found Beta 2 build 3.0.3906.22 &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2 2 build 3.0.3906.22&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft SQL Server Developper Edition 2005 (FR) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;MOSS 2007 Beta 2 TR build 12.0.4407.1005 (FR) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Les SDK MOSS, en fait il s'agit de la documentations pour WSS, SharePoint, et quelques samples. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft® Office SharePoint® Server 2007 (Beta 2 TR) Software Development Kit (SDK) (OSS2007SDK.exe) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft® Windows® SharePoint® Services 3.0 (Beta 2 TR) Software Development Kit (SDK) (WSS3SDK.exe)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft Office SharePoint Server 2007 (Beta 2 TR) SDK Samples (OSSSDKSamples.exe)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft Visual Studio 2005 Edition Professionnelle version 8.0.50727.42 (FR) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft Office 2007 Beta 2 TR build 12.0.4407.1005 (FR) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft Office Sharepoint Designer 2007 Beta 2 TR build 12.0.4407.1005 (FR) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Microsoft Groove 2007 Beta 2 TR build 12.0.4407.1005 (FR)&lt;/li&gt;&lt;br /&gt;&lt;/span&gt;&lt;span xmlns=""&gt;&lt;p&gt;Apres avoir installé ces quelques logiciels, il reste seulement 771 Mo de libre sur le disque du serveur.&lt;br /&gt;&lt;br /&gt;Le serveur 2003 est configuré en contrôleur de domaine. Il prend en charge les services contrôleur de domaine Active Directory, serveur DNS, serveur DHCP, et serveur d'applications (IIS, ASP.NET).&lt;br /&gt;&lt;br /&gt;La procédure d'installation de MOSS 2007 Beta 2 TR est décrite dans de nombreux article dont l'excellent travail de Steve Smith : MOSS B2TR Slipstream Instructions (by Steve Smith [MVP]) &lt;a href="http://www.sharepointblogs.com/files/97/dustin/entry12210.aspx"&gt;www.sharepointblogs.com/files/97/dustin/entry12210.aspx&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ce travail est repris et francisé par le CLUBSPS.ORG &lt;a href="http://www.clubsps.org/C3/Membres/default.aspx"&gt;www.clubsps.org/C3/Membres/default.aspx&lt;/a&gt; sous le titre « Slipstreamming pour MOSS 2007 en Français les explications pas à pas… » sous la responsabilité de P. Erol GIRAUDY.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11712011-116604567648093763?l=fberton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fberton.blogspot.com/feeds/116604567648093763/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11712011&amp;postID=116604567648093763' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604567648093763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11712011/posts/default/116604567648093763'/><link rel='alternate' type='text/html' href='http://fberton.blogspot.com/2006/12/configuration-de-dveloppement.html' title='Configuration de développement'/><author><name>Fred Berton</name><uri>http://www.blogger.com/profile/10034269858958675445</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://lh5.google.com/image/berton.frederic/RjMtqoejnsI/AAAAAAAAASA/h7XX09cAdc0/P1010635.JPG?imgmax=720'/></author><thr:total>0</thr:total></entry></feed>
