Le blog

Petite équipe de développement ? Accédez vous aussi à une solution ALM !


Olivier DUPONT, le 14/07/2008


Tekigo – Centre de compétence Team System (InnerCircle Partner) et Comsoft - Sos Developers mettent leurs forces en commun pour proposer une offre de services et de licencing adaptés, à l’attention des petites équipes de développement, afin de leur assurer un ROI court terme et soutenir leurs démarches de développement collaboratif, d’industrialisation logicielle et d’ALM, supportée par la plateforme Microsoft Visual Studio Team system 2008.

Plus de détails sur l’offre : http://www.sosdevelopers.com/msdn4.htm

Plus de détails sur notre offre Team System : http://www.tekigo.com/TeamSystem.aspx

Contactez-nous pour réservez vos dates : contact@tekigo.com

tekigo Software Factory et VSTS



Tekigo renforce son équipe !


Olivier DUPONT, le 07/05/2008


Dans le cadre du renforcement des compétences de Tekigo, nous sommes à la recherche de talents et de potentiels qui sont animés par la volonté de générer de la valeur grâce aux technologies de l'information et des métiers du génie logiciel. Notre stratégie de développement repose pour une part importante sur l'acquisition et la fédération des compétences et des énergies pour répondre aux attentes de nos clients

Plus d'informations ici.

Des opportunités dès aujourd'hui :

Actuellement, Tekigo recrute des experts techniques ou en devenir, maîtrisant la technologie Microsoft .NET.

En collaboration avec nos consultants et nos architectes, vous aurez comme objectif de renforcer et développer l’un de nos domaines d’expertise. Vous interviendrez sur nos missions d’accompagnement impliquant votre expertise (du prototypage à l’intervention in situ), seul ou en équipe . Doté d’un sens critique, vous êtes en veille technologique permanente et vous avez envie de travailler sur des missions innovantes, à forte valeur technique. Vous serez un référent, garant de la capitalisation de la connaissance sur votre domaine.

Vous souhaitez approfondir et exceller sur l’un des domaines suivant : framework .NET 3.x, ALM et Team System, Sharepoint et VSTO. Au moins un an d’expérience dans l’un de ces domaines est requis.

Plus d'informations...

Tekigo recrute également des ingénieurs d'études et de développement maîtrisant la technologie Microsoft .NET (Winform, ASP.Net, ADO.NET, C#...). Un minimum de deux à trois ans d’expérience à un poste similaire est requis.

Pragmatique et curieux, vous êtes en veille technologique permanente et vous avez envie de travailler sur des missions et des projets innovants, à forte composante technique. Vous êtes familier avec les principaux design patterns de conception logicielle.

Soutenu par des experts, vous aurez en charge de développer une expertise parmi nos domaines de compétences, afin d'évoluer vers un poste d’expert technique.

Une connaissance de WCF, WPF, WF, LINQ ou Team System sont des plus

tekigo



Tekigo déménage...


Olivier DUPONT, le 22/02/2008


En constante évolution, Tekigo  s'agrandit et vous informe de ses nouvelles coordonnées sur Lyon :

Parc d'activité "Gorges de Loup"
Bâtiment 3
24 avenue Joannès Masset
69009 LYON

Tél : +33 (0)4 78 64 12 88

 

 

 

 

 

 

 

tekigo



Gestion de configuration en multi-sites


Nicolas VANVOOREN, le 13/04/2007


En 2006, Tekigo a mené une étude pour le compte d'un de ses clients concernant les fonctions client/serveur de Visual Studio Team System et notamment le Team Foundation Proxy dans un environnement multi-sites.
Nous publions un livre blanc sur les résultats de cette étude et sur les capacités de Team System pour la gestion de configuration sur un site distant.
A télécharger : Tekigo - livre blanc TFP.pdf

Software Factory et VSTS



Tekigo recrute...


Olivier DUPONT, le 29/03/2007


Pour accompagner son développement et conserver sa dynamique Tekigo recrute :

* Un ingénieur d'étude et développement .NET 

Plus d'informations sur les postes, c'est ici

Si vous aimez les challenges technologiques et les projets innovants, contactez-nous !

tekigo



Revivez les Techdays 2007 en webcast


Olivier DUPONT, le 28/02/2007


Vous n'avez pas pu assister à toutes les sessions des Techdays 2007 ?

Retrouvez l'ensemble des webcasts et slides  ici : http://www.microsoft.com/france/vision/mstechdays/

Retrouvez directement les sessions co-animées par Tekigo :

WPF (Windows Presentation Foundation)et l'accès aux données (databinding) :

http://www.microsoft.com/france/vision/WebCastMSDNTechDays.aspx?EID=7460CC22-9C2A-4115-B634-21DE8C7C7A5E

WPF : bonnes pratiques et retour d'expérience.

WCF (Windows Communication Foundation) :

http://www.microsoft.com/france/vision/WebCastMSDNTechDays.aspx?EID=A0EF2AE5-45F5-4D67-B66E-02CB62541A8F

Application métier WPF (Windows Presentation Foundation) avec Sharepoint 2007:
http://www.microsoft.com/france/vision/WebCastMSDNTechDays.aspx?EID=2E2C38A2-BD31-4674-9703-B12E8CDB98D8

On s'est rencontré sur le stand des Centres de compétences Team System ou en fin de session ? N'hésitez pas à reprendre contact avec nous afin d'échanger de manière plus approfondie.

Votre équipe n'a pas pu participer ou assimiler certains concepts ? Vous voulez allez plus loin ?

Vous souhaitez approfondir et mettre en adéquation les technologies Microsoft dans votre contexte et selon vos Exigences ? 

N'hésitez pas à nous solliciter pour réaliser le premier item de notre offre R&D externalisée :  le workshop avancé en immersion dans votre contexte.

tekigo



Microsoft publie un "case study" Tekigo


Nicolas CLERC, le 01/12/2006


Toute l’équipe Tekigo est fière d’annoncer la publication par Microsoft du premier « case study » français sur Vista, Office 2007 et .NET 3.0 : le projet GAPS de Schneider-Electric.

Après plusieurs années de collaboration avec Schneider-Electric, et en partenariat avec le Microsoft Technology Center de Paris (France), notre équipe est intervenue en tant qu’expert technologique, et a piloté la conception de l’application GAPS.

Nos consultants sont intervenus notamment sur les technologies 
   - .Net Framework 3.0,

   - Windows Presentation Foundation (WPF),

   - OpenXML,

   - Office 2007,

   - Microsoft Office Sharepoint Server 2007 (MOSS),

   - Microsoft Expression Interactive Designer.

 

L’url pour consulter le document : http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=200083

 

tekigo Framework 2.0 C# Office System VSTO



Tekigo est présent au TechEd Developers 2006


Nicolas CLERC, le 06/11/2006


En tant que partenaire expert sur les technologies .NET, Tekigo est présent au TechEd Developers 2006. Nicolas CLERC (Microsoft Regional Director) a le privilège de coanimer 3 sessions de discussions sur le Framework .NET 3.0.
N'hésitez pas à venir nous rencontrer sur les stands 29 & 30 de la zone "Ask the Expert" (ATE).

Si vous souhaitez nous rencontrer sur place, contactez nous directement au +33.6.74.60.87.72 ou envoyer un mail à nclerc@tekigo.com

 

tekigo



Utiliser VSTO 2005 SE avec un Visual Studio français


Nicolas CLERC, le 26/09/2006


L'installation de VSTO 2005 SE avec une version française de Visual Studio 2005 provoque une incompatibilité : les templates de projets et d'élements spécifiques à VSTO ne sont pas visible malgré la réussite de l'installation.
 
Une solution pour les activer  : il suffit de recopier le dossier C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp\Office dans votre dossier de template de projet personnel C:\Users\Nicolas\Documents\Visual Studio 2005\Templates\ProjectTemplates\Visual C#
 
Utilisez la même démarche pour les autres langages et pour les ItemTemplates (à recopier dans C:\Users\Nicolas\Documents\Visual Studio 2005\Templates\ItemTemplates\ )
 
Relancer Visual Studio 2005, les templates de projets et d'élements VSTO  pour Office 2007 (et 2003) sont maintenant fonctionnels.
 
Bon VSTO à tous.

Framework 2.0 C# Office System VB.Net VSTO



Les compétences de Tekigo récompensées par Microsoft


Nicolas CLERC, le 30/06/2006


Dans le cadre de leurs activités, les consultants Tekigo sont amenés à travailler de manière étroite avec les équipes de Microsoft.
Ce travail a été récompensé par l'obtention de 2 prix :

- le "Microsoft Regional Director - Global Reach Award" obtenu par Nicolas CLERC dans le cadre du programme Microsoft Regional Directors.
Cette distinction est accordée par Microsoft Corp aux Regional Director les plus engagés et les plus efficaces concernant la mise en oeuvre des technologies Microsoft.
Seulement 32 récompensés ... au niveau mondial !!

Microsoft Regional Director - Global Reach Award

 

- Le "Award for Customer Excellence" qui symbolise l'engagement de nos équipes sur le développement et l'amélioration de l'outil Visual Studio 2005, et ce dès la "Programmer Developper Conference" de 2003 (PDC 2003) où nos consultants étaient présents. Je cite S. Somasegar (Corporate Vice President, Developer Division, Microsoft Corp) :  "You have been nominated to receive the Award for Customer Excellence. This award recognizes your extraordinary contribution to the Visual Studio 2005 product".
Au delà de cette récompense,Tekigo est un "Centre de Compétences Team-Systems" officiellement reconnu par Microsoft.

Microsoft Award for Customer Excellence

 

URIs:
Les "Regional Director" :
http://www.microsoft.com/rd
S. SOMASEGAR : http://www.microsoft.com/presspass/exec/somasegar/default.mspx
Tekigo "Centre de compétences Team-Systems" :
 http://www.microsoft.com/france/msdn/vstudio/teamsystem/centrescompetences/tekigo.mspx

tekigo



Décallage de la sortie d'Office 2007


Nicolas CLERC, le 30/06/2006


Microsoft vient d'annoncer un léger décallage de la sortie d'Office 2007 : D'octobre 2006 , la sortie de la version Pro est reportée à décembre 2006.
Cette décision fait suite à la campagne de diffusion massive d' Office 2007 Beta 2 ( plus de 2.5 millions de téléchargement ).
Les retours des utilisateurs ont fait apparaître quelques problèmes de performance, et les actions correctrices nécessitent une phase de développement plus appronfondie que celle initialement prévue.
Ces quelques soucis de performance ne sont pas visibles au premier abord, mais ils restent tout à fait compréhensibles au vu des modifications et ajouts qu'ont subi les outils d'Office 2007 (Ribbon, prévisualisation instantanée, moteur de recherche, Region, Task Pane généralisé, XML, etc.).
Ne doutons pas que Microsoft saura les corriger pour nous offrir un produit de haut niveau.

Pour avoir utiliser cette version dans le cadre de projet de développement, on ne peut que remarquer sa bonne stabilité (malgré des Visual Studio Tools for Office V3 très incomplet et qui ne mérite pas encore le titre de Beta 2)

A noter : la version Office 2007 Beta 2 est aussi disponible en français !

URIs :
Téléchargement d'Office 2007 Beta 2 (y compris la version française) : http://www.microsoft.com/france/office/2007/download/mscom.mspx

 

Framework 2.0 Office System VSTO



Tekigo rejoint le "Centre de compétences Team System" de Microsoft


Olivier DUPONT, le 27/06/2006


Tekigo est positionné comme accompagnateur dans la réussite de votre projet de développement logiciel et ce, sur l'ensemble des activités de son cycle de vie.

Notre volonté est de mettre en adéquation vos Exigences, et la méthode définies en amont avec l'outillage associé. Ceci afin d'assurer la mise en oeuvre d'une plateforme de fabrique logicielle concrète et opérationnelle dans votre contexte (technique, humain, contractuel...).

C'est donc naturellement, que nous nous sommes spécialisés sur la plateforme Visual Studio Team System et Team foundation Server afin d'en assurer la mise en oeuvre, la personnalisation, l'enrichissement et l'intégration avec des outils et solutions tiers selon vos spécificités. 

Retrouvez sur notre site, notre offre Team System qui s'adresse principalement aux éditeurs de logiciel ou aux DSI soucieuses d'améliorer la qualité, la fluidité et productivité de leur cycle de développement logiciel.

Retrouvez Tekigo sur le site de Microsoft consacré aux centres de compétences Team System, cliquez ici.

Pour plus d'informations sur le centre de compétence Team System, cliquez ici.

tekigo Software Factory et VSTS



Tekigo devient MCP !


Nicolas VANVOOREN, le 20/05/2006


TEKIGO vient d’obtenir sa certification Microsoft Certified Partner (MCP). C’est la première concrétisation du travail réalisé auprès de nos clients depuis la création de la société en octobre 2005.

tekigo



Factory & Generics


Franck DESBROSSES, le 24/02/2006


Le but d'une factory est de créer un objet de façon dynamique à partir de son type.

 

Quand on veut implémenter des factory, on doit choisir entre une méthode rapide mais peu typée ou bien fortement typée mais assez fastidieuse.


Ainsi soit on crée une version standard qui renvoie un objet de type object que l'on va devoir transtyper au sortir de la méthode, soit on crée une méthode pour chaque type d'objet que l'on veut instancier, mais cela peut devenir assez long surtout si l'on a beaucoup d'objets à traiter.

 

L'idéal serait donc de pouvoir combiner les deux en ayant une solution élégante (fortement typée) et rapide à implémenter.

 

Et si les Generics du framework 2.0 étaient la réponse au problème ?

 

Si on connait la classe à instancier, le framework nous fournit la méthode générique suivante :

 

T Activator.CreateInstance<T>() où T est le type de la classe à instancier. Ex :

 

Business businessObject = Activator.CreateInstance<Business>();

 

Ceci répond en partie à notre problématique.

Mais bien souvent on ne dispose que de l'interface et d'une chaîne décrivant le type à instancier (stockée dans un fichier de configuration par exemple).
Dans un tel cas, cette méthode devient inutilisable puisqu'une interface ne peut être instanciée.

 

La solution consiste donc à créer notre propre méthode générique :

 

public static class Helper

{

    public static T GetInstance<T>(string typeToCreate)

    {

        Type instanceType = Type.GetType(typeToCreate, true, true);

        T instance = (T)Activator.CreateInstance(instanceType);

        return instance;

    }

}

 

public class Work

{

    public void DoWork()

    {

        [...]

 

        IBusiness businessObject = Helper.GetInstance<IBusiness>("Business.Interfaces.IBusiness, Business");

 

        [...]

    }

}

 

Ainsi, le code reste fortement typé dans la classe utilisatrice, et la couche technique est centralisée dans une seule et même méthode.

Framework 2.0



Utilisation des API Windows dans les composants Winform


Franck DESBROSSES, le 15/02/2006


Les composants fournis avec le framework 1.1 font tout ce qu’ils peuvent, et c’est souvent suffisant, mais dans certains cas, on aimerait bien obtenir le même comportement que ceux fournis avec Windows XP.

 

Hors pour cela, hormis redévelopper tous les composants, il n’y a qu’un seul moyen : passer par les API windows.

Pour illustrer cela, nous allons répondre à un besoin souvent exprimé dans les applications clientes : afficher le sens du tri sur une colonne d’un ListView en dessinant une image à côté du libellé de la colonne.

L’astuce consiste en fait à envoyer un message à l’entête des colonnes du ListView pour lui « dire » de dessiner une image.

Pour cela, nous allons créer un nouveau composant qui va hériter du contrôle ListView.

Ensuite, il faut déclarer les méthodes et les structures nécessaires pour l’utilisation des API :

      /// <summary>

      /// Structure définissant un item dans un entête

      /// <summary>

      [StructLayout(LayoutKind.Sequential)]

      public struct HDITEM

      {

            public Int32 mask;

            public Int32 cxy;     

            [MarshalAs(UnmanagedType.LPTStr)]

            public String pszText;

            public IntPtr hbm;

            public Int32 cchTextMax;

            public Int32 fmt;

            public Int32 lParam;

            public Int32 iImage;

            public Int32 iOrder;

      };

 

      /// <summary>

      /// Permet d'envoyer un message standard au contrôle

      /// </summary>

      [DllImport("USER32.DLL", EntryPoint= "SendMessage")]

      private static extern IntPtr SendMessage(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam);

 

      /// <summary>

      /// Permet d'envoyer un message au contrôle en lui spécifiant une référence à un item d’entête

      /// </summary>

      [DllImport("user32", EntryPoint="SendMessage")]

      private static extern IntPtr SendMessageItem(IntPtr Handle, Int32 msg, IntPtr wParam, ref HDITEM lParam);

 

      /// <summary>

      /// Gère le formatage des entêtes

      /// </summary>

      private enum HeaderFormatValue : int

      {

            HDF_LEFT = 0x0000,

            HDF_RIGHT = 0x0001,

            HDF_CENTER = 0x0002,

            HDF_JUSTIFYMASK = 0x0003,

            HDF_RTLREADING = 0x0004,

            HDF_OWNERDRAW = 0x8000,

            HDF_STRING = 0x4000,

            HDF_BITMAP = 0x2000,

            HDF_BITMAP_ON_RIGHT = 0x1000,

            HDF_IMAGE = 0x0800

      };

 

      /// <summary>

      /// Gère les items dans les entêtes

      /// </summary>

      private enum HeaderItemValue : int

      {

            HDI_WIDTH = 0x0001,

            HDI_HEIGHT = HDI_WIDTH,

            HDI_TEXT = 0x0002,

            HDI_FORMAT = 0x0004,

            HDI_LPARAM = 0x0008,

            HDI_BITMAP = 0x0010,

            HDI_IMAGE = 0x0020,

            HDI_DI_SETITEM = 0x0040,

            HDI_ORDER = 0x0080,

            HDI_FILTER = 0x0100

      };

 

      /// <summary>

      /// Gère les méthodes dans les entêtes

      /// </summary>

      private enum HeaderMethodValue : int

      {

            HDM_GETHEADER = 0x1000 + 31,

            HDM_SETITEM = 0x1200 + 4,

            HDM_SETIMAGELIST = 0x1200 + 8,

            HDM_GETIMAGELIST = 0x1200 + 9

      };

 

Dans le constructeur du contrôle, on s’abonne à l’événement qui est déclenché à la création du handle :

 

      public TekigoListView() : base()  

      {

            // Abonnement à l'événement déclenché à la création du handle

            this.HandleCreated += new EventHandler(TekigoListView_HandleCreated);

      }

 

Ceci nous permet de sauvegarder le handle de l’entête dans une variable privée :

 

      private void TekigoListView_HandleCreated(object sender, EventArgs e)  

     

            […]

 

            // On envoie un message au contrôle pour lui demander de nous fournir le handle de l’entête

            hdlHeader = SendMessage(this.Handle, (int)HeaderMethodValue.HDM_GETHEADER, IntPtr.Zero, IntPtr.Zero);  

 

            // Si le handle n'a pas été trouvé, on lève une exception

            if (hdlHeader == IntPtr.Zero)

                  throw new SystemException("Impossible de récupérer le handle de l'entête de colonnes");

       

            […]

      }

 

Nous allons voir maintenant la méthode qui nous permet d’envoyer un message ordonnant au contrôle de dessiner notre image :

 

      private void DisplaySortOrder(int columnIndex, SortOrder order)  

      {

            // Création de la structure contenant l'item de l'entête

            HDITEM hdItem = new HDITEM();

 

            // On teste pour savoir si on doit afficher ou effacer une image

            if (order == SortOrder.None)     

            {

                  // Valorisation des propriétés de la structure pour n'afficher uniquement que le texte de l'entête de la colonne

                  hdItem.mask = (int)HeaderItemValue.HDI_FORMAT;

                  hdItem.fmt = (int)HeaderFormatValue.HDF_STRING;                  

            }

            else     

            {

                  // On récupère l’image correspondant au sens du tri :

                  Bitmap displayImage = GetBitmap(order);     

 

                  // Valorisation des flags permettant d'afficher une image

                  hdItem.mask = (int)(HeaderItemValue.HDI_BITMAP | HeaderItemValue.HDI_FORMAT);

                  hdItem.fmt = (int)(HeaderFormatValue.HDF_STRING | HeaderFormatValue.HDF_BITMAP | HeaderFormatValue.HDF_BITMAP_ON_RIGHT);           

   

                  /* Il est à noter qu’on pourrait passer par l’index d’une image (HDITEM.iImage) grâce une imageList associée (smallImageList ou StateImageList), mais cela pose deux problèmes :

                  d’une part l’imageList étant partagée, il faut donc réserver les deux premiers index pour les images du tri; d’autre part, si on ne désire pas afficher d’images dans la première colonne des lignes, un décallage blanc apparait du fait que le listView laisse de la place au cas où on désire afficher une image.

                  Du coup, il est préférable de passer par un pointeur sur une image, cela évite tout effet de bord !*/      

                                       

                  // Valorisation du handle du bitmap à afficher

                  hdItem.hbm = displayImage.GetHbitmap();

            }

 

            // Envoi du message au listView, et plus particulièrement à son entête grâce au handle qu’on a récupéré à la création du contrôle

            SendMessageItem(hdlHeader, (int)HeaderMethodValue.HDM_SETITEM, new IntPtr(columnIndex), ref hdItem);

      }

 

Il ne reste plus qu’à appeler notre méthode d’affichage au moment opportun; par exemple, sur l’événement déclenché lors du click sur l’entête d’une colonne.

 

L'apport des API dans les composants permet d'aller très loin dans la personnalisation des composants mais il faut tout de même rester prudent lorsqu'on a recourt à ce genre de manipulation car nous ne sommes plus en code managé, et toute erreur peut devenir fatale !

 

Framework 1.1 Winform



Création de tekigo


Nicolas VANVOOREN, le 01/10/2005


Enfin le démarrage officiel de tekigo, après plusieurs mois de préparation, de discussions enflammées, de soirées studieuses à monter les dossiers et à paufiner les offres. Nous voilà désormais prêt à entrer dans le monde des services informatiques sous notre propre enseigne et mettre en avant notre expertise.

tekigo