<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>.GR - Les billets de Cédric Gavand</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/" />
<modified>2008-02-14T17:10:19Z</modified>
<tagline>Le blog de groupe Reflect : groupe Reflect est full service web agency, membre de Emakina group. Nous sommes présents sur le marché des technologies de l’information et de la communication depuis 1997. Nous cultivons l’expertise de chacun de nos collaborateurs pour couvrir le spectre des compétences nécessaires à la réussite des projets Internet, Extranet et Intranet de ses clients : le conseil, la conception, le développement informatique, la conduite du changement. Depuis la Technopole Ester, à Limoges, et nos bureaux parisiens nous avons réussi à constituer un pôle de compétences unique. Notre approche très pragmatique est reconnue et apréciée nationalement.</tagline>
<id>tag:www.groupereflect.net,2008:/blog/1</id>
<generator url="http://www.movabletype.org/" version="4.1">Movable Type</generator>
<copyright>Copyright (c) 2008, Cédric Gavand</copyright>

<entry>
<title>Le blog de groupeReflect passe à l&apos;OpenSocial (1)</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/archives/2008/02/le_blog_de_grou_1.html" />
<modified>2008-02-14T17:10:19Z</modified>
<issued>2008-02-14T15:57:57Z</issued>
<id>tag:www.groupereflect.net,2008:/blog/1.1403</id>
<created>2008-02-14T15:57:57Z</created>
<summary type="text/plain">Je vous l&apos;avais annoncé dans mon dernier billet : Après le changement de design et de version de MT, voici de nouvelles fonctionnalités. C&apos;est clair que quand SixAppart a annoncé sont plug-in OpenSocial pour MT, cela a nous a déclenché...</summary>
<author>
<name>Cédric Gavand</name>

<email>cedric.gavand@groupereflect.net</email>
</author>
<dc:subject>Blogosphère</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.groupereflect.net/blog/">
<![CDATA[<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="OSMT.png" src="http://www.groupereflect.net/blog/OSMT.png" width="188" height="147" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>Je vous l'avais annoncé dans <a href="http://www.groupereflect.net/blog/archives/2008/01/de_movable_type.html">mon dernier billet</a> : Après le changement de design et de version de MT, voici de nouvelles fonctionnalités.<br />
C'est clair que quand SixAppart a <a href="http://www.readwriteweb.com/archives/six_apart_microblogging_activity_streams.php">annoncé</a> sont plug-in <a htref="http://www.groupereflect.net/blog/archives/2007/11/opensocial_un_s.html">OpenSocial</a> pour MT, cela a nous a déclenché le mode action chez nous. <br />
Ce blog est donc <em>OpenSocial inside</em>. Sur les pages des auteurs, le bloc ... <em>everywhere</em> valorise l'identité numérique des intéressés et leur activité. Laissez-leur juste de le temps de renseigner leurs feeds. Sympa non ?</p>]]>
<![CDATA[<p>Sinon, une pagination a été mise en place sur les pages par auteur. Et oui, certains auteurs (dont je ne révèlerai pas le nom) publient tellement que leur page devenait trop longue à charger :)<br />
Il y a aussi la fonction de snapshot des pages pointées par des liens externes, un captcha pour les commentaires...</p>

<p>Et ça va continuer avec d'autres choses dans les prochaines semaines. </p>]]>
</content>
</entry>




<entry>
<title>Champs &quot;liste déroulante&quot; dans les propriétés d&apos;une WebPart Sharepoint (0)</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/archives/2008/01/champs_liste_de.html" />
<modified>2008-01-16T15:21:58Z</modified>
<issued>2008-01-16T13:12:32Z</issued>
<id>tag:www.groupereflect.net,2008:/blog/1.1380</id>
<created>2008-01-16T13:12:32Z</created>
<summary type="text/plain">J&apos;ai cherché un moment avant de trouver la solution et aujourd&apos;hui, je partage un exemple complet avec vous. Comment réaliser une webpart pour sharepoint avec dans ses propriétés une liste déroulante avec un contenu dynamique et non pas simplement des...</summary>
<author>
<name>Cédric Gavand</name>

<email>cedric.gavand@groupereflect.net</email>
</author>
<dc:subject>Chez .gr</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.groupereflect.net/blog/">
<![CDATA[<p>J'ai cherché un moment avant de trouver la solution et aujourd'hui, je partage un exemple complet avec vous. <br />
Comment réaliser une webpart pour sharepoint avec dans ses propriétés une liste déroulante avec un contenu dynamique et non pas simplement des champs textes de bases ou des listes statiques créées à partir d'énumération ? Et voici : </p>]]>
<![CDATA[<p>Dans notre exemple, on affiche dans notre dropdownlist toutes les listes du site courant, puis dans le rendu de la webpart, on affiche simplement le titre de la liste récupérée (c'est un exemple ;) ).</p>

<p>Ajouter dans un premier temps les références à Microsoft.Sharepoint et System.Web puis c'est parti : </p>

<p>using System;<br />
using System.Runtime.InteropServices;<br />
using System.Web;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;<br />
using System.Web.UI.HtmlControls;<br />
using System.Web.UI.WebControls.WebParts;<br />
using System.Xml.Serialization;<br />
using System.Collections;</p>

<p>using Microsoft.SharePoint;<br />
using Microsoft.SharePoint.WebControls;<br />
using Microsoft.SharePoint.WebPartPages;<br />
using Microsoft.SharePoint.Navigation;<br />
using Microsoft.SharePoint.Utilities;<br />
using System.ComponentModel;</p>

<p>namespace WebPartProjects<br />
{<br />
    [ToolboxData("<{0}:DynamicList runat=server>"),<br />
    XmlRoot(Namespace = "WebPartProjects")]</p>

<p>    public class DynamicList : Microsoft.SharePoint.WebPartPages.WebPart<br />
    {<br />
	  // Variable qui contiendra la value de notre liste <br />
        private string _newlistname;</p>

<p>        [Browsable(false),<br />
        WebPartStorage(Storage.Shared)]</p>

<p>        public string NewListName<br />
        {<br />
            get { return _newlistname; }<br />
            set { _newlistname = value; }<br />
        }</p>

<p>        public DynamicList()<br />
        {<br />
            _newlistname = "";<br />
        }<br />
        protected override void OnPreRender(EventArgs e)<br />
        {<br />
            this.Title = "Liste dynamique";<br />
            this.ChromeType = PartChromeType.None;<br />
        }</p>

<p>        protected override void CreateChildControls()<br />
        {<br />
            base.CreateChildControls();<br />
        }</p>

<p>        public override ToolPart[] GetToolParts()<br />
        {<br />
            ToolPart[] toolparts = new ToolPart[3];<br />
            WebPartToolPart wptp = new WebPartToolPart();<br />
            CustomPropertyToolPart custom = new CustomPropertyToolPart();<br />
            toolparts[0] = custom;<br />
            toolparts[1] = wptp;<br />
            toolparts[2] = new ListListes();<br />
            return toolparts;<br />
        }</p>

<p>        protected override void RenderWebPart(HtmlTextWriter writer)<br />
        {<br />
            EnsureChildControls();</p>

<p>            try<br />
            {<br />
                if (_newlistname == "")<br />
                {<br />
                    writer.Write("Sélectionnez un élément dans la liste en affichant les propriétés de la webpart");<br />
                }<br />
                else<br />
                {<br />
                    SPWeb web = SPContext.Current.Web;<br />
                    SPList laListe = web.Lists[new Guid(_newlistname)];<br />
			  // On affiche simplement le titre de notre liste que l’on a récupéré par notre liste déroulante<br />
                    writer.Write(laListe.Title);<br />
                }<br />
            }<br />
            catch<br />
            {<br />
                writer.Write("Erreur, liste n'existe pas ou plus ? ");<br />
            }<br />
        }<br />
    }</p>

<p>    class ListListes : Microsoft.SharePoint.WebPartPages.ToolPart<br />
    {<br />
        DynamicList ParentWp = null;<br />
        Label ErrorMessage = null;<br />
        public ListListes()<br />
        {<br />
            this.Title = "Liste dynamique";<br />
        }</p>

<p>        protected override void OnPreRender(EventArgs e)<br />
        {<br />
            this.Title = "Listes du site";<br />
        }<br />
        public override void ApplyChanges()<br />
        {<br />
            // Lorsque l’on clique sur Appliquer (ou implicitement su OK)<br />
 		// On enregistre la valeur de la liste déroulante<br />
            string FieldName = Page.Request.Form["ListesField"];<br />
            ParentWp = (DynamicList)this.ParentToolPane.SelectedWebPart;<br />
            ParentWp.NewListName = FieldName;<br />
        }<br />
        protected override void CreateChildControls()<br />
        {<br />
            ErrorMessage = new Label();<br />
            ErrorMessage.Style.Add(HtmlTextWriterStyle.Color, "red");<br />
            this.Controls.Add(ErrorMessage);<br />
        }</p>

<p>        public override void SyncChanges()<br />
        {<br />
        }</p>

<p><br />
        public override void CancelChanges()<br />
        {<br />
        }</p>

<p>        protected override void RenderToolPart(HtmlTextWriter output)<br />
        {<br />
            try<br />
            {<br />
                ParentWp = (DynamicList)this.ParentToolPane.SelectedWebPart;<br />
                <br />
                SPWeb web = SPContext.Current.Web;<br />
                // on regarde si des listes sont dispo :<br />
                if (web.Lists.Count > 0)<br />
                {<br />
                    output.Write("&lt;select name='ListesField'&gt;");<br />
                    foreach (SPList liste in web.Lists)<br />
                    {<br />
                        if (ParentWp.NewListName == liste.ID.ToString()) <br />
output.Write("&lt;option value=\"" + liste.ID.ToString() + "\" selected&gt;" + liste.Title + "&lt;/option&gt;");<br />
                        else output.Write("&lt;option value=\"" + liste.ID.ToString() + "\"&gt;" + liste.Title + "&lt;/option&gt;");<br />
                    }<br />
                    output.Write("&lt;/select&gt;");<br />
                }<br />
                else<br />
                {<br />
                    output.Write("Aucune liste disponible");<br />
                }<br />
            }<br />
            catch (Exception e)<br />
            {<br />
                ErrorMessage.Text = e.Message;<br />
            }<br />
            ErrorMessage.RenderControl(output);<br />
        }<br />
    }<br />
}</p>

<p>Je sais, ça fait beaucoup, mais y'a pas qu'Alexis qui a droit au coup de pelle non ? <br />
Enfin j'ai triché, avec du code, c'est plus facile ;)</p>]]>
</content>
</entry>




<entry>
<title>De Movable Type 3 à Movable Type 4 (2)</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/archives/2008/01/de_movable_type.html" />
<modified>2008-01-11T08:20:33Z</modified>
<issued>2008-01-11T08:01:07Z</issued>
<id>tag:www.groupereflect.net,2008:/blog/1.1373</id>
<created>2008-01-11T08:01:07Z</created>
<summary type="text/plain">Comme l&apos;a évoqué Dorothée dans son billet sur le nouveau design (très réussi d&apos;ailleurs de mon point de vue), il y a un eu un autre changement sur notre blog qui est passé un peu inaperçu : La migration de...</summary>
<author>
<name>Cédric Gavand</name>

<email>cedric.gavand@groupereflect.net</email>
</author>
<dc:subject>Chez .gr</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.groupereflect.net/blog/">
<![CDATA[<p>Comme l'a évoqué Dorothée dans son billet sur le nouveau design (très réussi d'ailleurs de mon point de vue), il y a un eu un autre changement sur notre blog qui est passé un peu inaperçu : La migration de MT3 à MT4. <br />
Et oui, nous souhaitions nous aussi profiter de la nouvelle interface d'administration de cette application, de ses performances améliorées, de ses nouvelles fonctionnalités... Ca n'est d'ailleurs qu'un début puisque nous avons des idées plein la tête pour le blog en 2008.<br />
Concernant l'aspect technique de cette migration que nous avons fait la dernière semaine de 2007 avec Laurent, nous avons mis à jour le système de fichier de MT, reconfigurer correctement les fichiers de configuration, puis utiliser la méthode de mise à jour proposé par MT4. Tout s'est passée sans le moindre problème... à tel point que vous ne l'aviez même pas remarqué ;) </p>]]>

</content>
</entry>




<entry>
<title>Gadget Vista .GR (1)</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/archives/2007/02/gadget_vista_gr.html" />
<modified>2007-02-26T11:32:49Z</modified>
<issued>2007-02-26T10:39:35Z</issued>
<id>tag:www.groupereflect.net,2007:/blog/1.1074</id>
<created>2007-02-26T10:39:35Z</created>
<summary type="text/plain">Il y avait le widget du blog de groupe reflect pour Mac... et bien voici le même en gadget Vista. Un peu de TechDays 2007 pour les bases, une pincée de javascript pour la récupération des infos, un soupçon d&apos;XHTML/CSS...</summary>
<author>
<name>Cédric Gavand</name>

<email>cedric.gavand@groupereflect.net</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.groupereflect.net/blog/">
<![CDATA[Il y avait le widget du blog de groupe reflect pour Mac... et bien voici le même en gadget Vista. Un peu de TechDays 2007 pour les bases, une pincée de javascript pour la récupération des infos, un soupçon d'XHTML/CSS pour l'habillage et la touche de Cyrille de retour de la Gadget Academy pour le côté artistique... Et le voilà ! 
<br />
<a href="http://www.groupereflect.net/blog/archives/gadget_vista_gr.zip"><img alt="gadget_vista.png" src="http://www.groupereflect.net/blog/archives/gadget_vista.png" width="452" height="185" style="border:0px;" /></a>
<br style="clear:both;" />
<br />
<a href="http://www.groupereflect.net/blog/archives/gadget_vista_gr.zip">
Vous pouvez le télécharger ici</a>]]>

</content>
</entry>




<entry>
<title>Le tirage de l&apos;euro million du vendredi 13 janvier 2006 (4)</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/archives/2006/01/le_tirage_de_le.html" />
<modified>2006-01-12T21:13:47Z</modified>
<issued>2006-01-12T18:29:05Z</issued>
<id>tag:www.groupereflect.net,2006:/blog/1.560</id>
<created>2006-01-12T18:29:05Z</created>
<summary type="text/plain">Qui dit vendredi 13 dit grosses sommes mises en jeux à l&apos;euro million. Nous avons donc décidé avec Nicolas, Aubin, Laurent, Cyrille et moi-même de tenter notre chance. 103 millions, c&apos;est pas négligeable....</summary>
<author>
<name>Cédric Gavand</name>

<email>cedric.gavand@groupereflect.net</email>
</author>
<dc:subject>Chez .gr</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.groupereflect.net/blog/">
<![CDATA[<p>Qui dit vendredi 13 dit grosses sommes mises en jeux à l'euro million. Nous avons donc décidé avec Nicolas, Aubin, Laurent, Cyrille et moi-même de tenter notre chance. 103 millions, c'est pas négligeable. </p>]]>
<![CDATA[<p>Nous avons rempli une grille chacun et en cas de victoire la règle est simple, nous partageons les gains. <br />
Etant donné que j'ai été élu le le plus honnête d'entre nous (non, c'est pas vrai, je me suis auto proclamé le plus digne de confiance... ), c'est moi qui irai valider les grilles et qui garderai le ticket précieusement.</p>

<p>Personnellement, j'ai proposé cette solution car je n'ai pas la moindre chance aux jeux et n'ai jamais gagné un centime ou même une vieille bouteille de vin au loto du village. Au moins comme ça, si un d'entre nous est plus verni que moi, je pourrai toujours récupérer les miettes du gateau. Et des miettes à environ 20 millions d'euros (103/5 pour ceux qui ne suivent pas), ça commence à faire des grosses miettes.</p>

<p>Nous croisons donc les doigts en attendant le tirage! </p>

<p><img alt="euro_millions.jpg" src="http://www.groupereflect.net/blog/archives/euro_millions.jpg" width="334" height="282" /><br />
</p>]]>
</content>
</entry>




<entry>
<title>Petit week end à DisneyLand Paris ! (9)</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/archives/2005/04/petit_week_end.html" />
<modified>2005-12-14T18:10:49Z</modified>
<issued>2005-04-29T15:09:01Z</issued>
<id>tag:www.groupereflect.net,2005:/blog/1.156</id>
<created>2005-04-29T15:09:01Z</created>
<summary type="text/plain">Voilà enfin mon blog concernant mon petit week end à DisneyLand. A vrai dire, je ne sais même pas par quoi commencer tellement c’était génial (mis à part la météo le premier jour qui nous a fait des caprices). J’ai...</summary>
<author>
<name>Cédric Gavand</name>

<email>cedric.gavand@groupereflect.net</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.groupereflect.net/blog/">
<![CDATA[<p>Voilà enfin mon blog concernant mon petit week end à DisneyLand. <br />
A vrai dire, je ne sais même pas par quoi commencer tellement c’était génial (mis à part la météo le premier jour qui nous a fait des caprices). J’ai quand même envie de m’attacher sur un point particulier qui est le fait que dès que vous rentrez sur le parking, vous entrez dans un autre monde. Tout est là pour tout vous faire oublier… </p>]]>
<![CDATA[<p>Vous arrivez et avant même d’être rentré dans le parc, sur un tapis roulant de X mètres, une petite musique genre « Cendrillon » vous emmène jusqu’au parc. Au début vous pensez : « Qu’est ce que c’est que ça ??? c’est bien ringard ! Où est ce qu’on est ??? ». Et vous voyez les gens autour de vous qui se posent les mêmes questions… <br />
Mais dès que vous rentrez dans le parc, toutes ces questions s’effacent pour laisser place à la magie ! Et quand je parle d’un autre monde, c’est vraiment ça. Le soucis du détail partout. Et toute la journée, marchant d’une attraction à l’autre (toujours avec la musique Mickey dans les oreilles) vous regardez bouche bée tous les décors, les détails auxquels vous n’auriez jamais pensé. Je pense notamment aux marques de fer à cheval sur le sol dans le monde « FrontierLand » (Monde des cowboys). Et même lorsque vous faites la queue, toujours ce soucis du détail… Genre les outils des mineurs dans le train de la mine. Enfin voilà, à ne pas savoir où regarder toute la journée car il y a trop de choses à voir, et bien la journée passe vite… D’ou mon petit conseil, il faut y aller 2 jours : un pour faire les attractions et un second pour se balader et mitrailler tout ce qui est possible avec son appareil photo (et éventuellement refaire les attractions qui sont terribles :o) ). <br />
Et voilà un petit week end qui s’achève bien vite mais la dernière chose qui m’a frappé et que je n’aurais jamais imaginé, c’est qu’en partant de Disney sur le tapis roulant qui m’avait amené, et bien je me suis vu marcher tout sourire et en sifflotant l’air d’une musique Disney du style « un jour mon prince viendra… » J’ai honte :o) quoiqu’en regardant autour de moi, je me suis aperçu que tout le monde faisait pareil et que comme moi, tout le monde repartait ravi de son passage chez Mickey.</p>

<p>(Voilà quelques petites photos pour vous donner encore plus envie ! Désolé pour la qualité, je les ai prises avec mon téléphone, les autres photos sont sur pellicules) </p>

<p><img alt="inconnu.jpg" src="http://www.groupereflect.net/blog/archives/inconnu.jpg" width="444" height="333" /></p>

<p><img alt="inconnu-1.jpg" src="http://www.groupereflect.net/blog/archives/inconnu-1.jpg" width="444" height="333" /></p>]]>
</content>
</entry>




<entry>
<title>Un bon week end en perspective ! (1)</title>
<link rel="alternate" type="text/html" href="http://www.groupereflect.net/blog/archives/2005/02/un_bon_week_end.html" />
<modified>2005-12-14T18:10:48Z</modified>
<issued>2005-02-18T12:37:02Z</issued>
<id>tag:www.groupereflect.net,2005:/blog/1.87</id>
<created>2005-02-18T12:37:02Z</created>
<summary type="text/plain">Comme vous le savez (ou peut-être ne le saviez vous pas ?), je fais du volley. Et ce week end s’annonce particulièrement sympathique étant donné que je pars jouer à … Strasbourg. Et oui, je n’ai pas trouvé plus près...</summary>
<author>
<name>Cédric Gavand</name>

<email>cedric.gavand@groupereflect.net</email>
</author>
<dc:subject>Passions</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.groupereflect.net/blog/">
<![CDATA[<p>Comme vous le savez (ou peut-être ne le saviez vous pas ?), je fais du volley. Et ce week end s’annonce particulièrement sympathique étant donné que je pars jouer à … Strasbourg. Et oui, je n’ai pas trouvé plus près ! Je me souviens de mon blog « Vive le sport mais pas que le foot » ou Christophe m’avait parlé de sa passion pour le baseball et qu’en raison du petit nombre de club, il devait se déplacer au 4 coins de la France pour pouvoir jouer. Et bien après ce week end, je pourrais dire que j’aurais vu au moins 3 de ces coins vu que nous avons été jouer à Vannes ou encore à Fréjus, Aix en Provence… et qu’il nous restera encore Lille. A quand un match à Biarritz pour voir le dernier??? Et au moins il y aura le soleil :)<br />
Il y a quand même un petit point positif, cette fois-ci, nous partons en train au lieu du minibus habituel ! Alors avec les temps de correspondances et d’attentes en gare, si quelqu’un connaît une petite brasserie sympa pas trop loin de la gare de Strasbourg, l’adresse sera la bienvenue :) !</p>]]>

</content>
</entry>




</feed>



