Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

The Mit's Blog

En plus d'intégrer et skier, il sait même écrire !
(Blog de Renaud Comte)

Actualités

SharePoint et la sécurité en développement : SPRoleAssignment, SPBasePermissions et leurs amis

J'ai souvent cette question qui revient par mail, par twitter, par MSN et même dans le train (véridique, ne sortait jamais un bouquin MOSS dans le train, on ne sait jamais si on ne tombe pas sur un codeur en face de soi) : Comment personnaliser la sécurité sous SharePoint ?

clip_image002 

Bon, la question n'est point inintéressante mais un poil complexe : c'est un vaaaaste sujet vu la dimension de SharePoint

Soit :

  • les comptes de services
  • les méthodes d'accés
  • les ACL
  • Les méthodes de connexion
  • la sécurité aux objets
  • L'impersonnation
  • ...
  • ...

Difficile de tout couvrir mais pas de soucis ...

Pour les retardataires, j'avais fait une session couvrant TOUS ces sujets lors des Techdays 2008, donc, premier conseil, jetez un oeil au WebCast

[Microsoft TechDays 2008] - Manipulation et customisation de la sécurité dans Sharepoint

>>> autre session sur le monde Office & SP : http://www.microsoft.com/france/vision/mstechdays08/WebcastMSDN.aspx?EID=c73bf836-16ca-45fd-8db4-fdd637f7fbe1

Second conseil : surtout téléchargez la présentation, il y a des micros samples d'un peu près tout dedans.

Troisiéme conseil : téléchargez le set de demo de sécurité de Ted Pattison, vous aurez un lot de feature avec leur code pour monter en compétence.


Cependant, j'aimerais faire un petit Focus (salut Erwan & Jack) sur la gestion des droits et les utilisateurs. Le principe utilisé dans SharePoint est bien plus riche que l'on croit.

Il ne s'agit pas simplement de mettre des droits à des utilisateurs sur des listes, ce serait trop simple. Pour être exact, se serait trop restrictif d'où une architecture de droit plus réfléchi.

Il existe un superbe schéma qu'il est bon de connaître associé à un passionnant article dans le MSDN :

ACL et WSS

MSDN : Authorization Object Relations

Grâce à ce dessin, vous allez enfin comprendre le fonctionnement des interfaces de gestion des droits de SharePoint.

Pour résumer, les interfaces vous affichent une version tronqué de la réalité : On ajoute pas des utilisateurs à des groupes ou on leur donne des droits, pas du tout

Il faut bien discerner 4 choses :

  1. le Scope de droit
  2. les Assignations de sécurité : SPRoleAssignment
  3. les ACL SharePoint
  4. les USERS SharePoint

 

Soit en détail :

  1. On ne peut mettre des droits que sur 3 niveaux d'objets sous SharePoint 2007 : les Sites (SPWeb), les Lists (SPList), les Items (SPFolders,SPFile, SPListItem). Les 3 composantes de l'architecture logique d'une collection de site SharePoint
     
  2. Une assignation de sécurité est un couple d'information entre un USER SharePoint et un regroupement de permission (SPRoleDefinition) : on ne peut donc donner directement des droits à un utilisateur NT
     
  3. Une ACL correspond à des profils de droit voir des regroupements : SPRoleDefinition, ils servent d'abstraction. Par exemple, ce que tous les utilisateurs appellent le droit lecteur correspond sous SharePoint à un profil Lecteur dont les droits réels sont : voir les pages du site, voir les listes, voir les items de la liste.
     
  4. Un USER sous SharePoint peut exister sous plusieurs formes, on parle souvent de SPUser. Il est soit un user Landa ou un groupe d'utilisateur dans le Membership référence de votre Web Application. Je ne parle pas de NT, car SharePoint est dépendant d'un membership ASP.Net et non de l'Active Directory (Par défaut, MOSS utilise le membership NT mais ce n'est qu'une configuration pas une obligation).

    Donc, il existe des SPUsers et des SPGroups, un SPGroup contient des SPusers (qui est soit des Users NT ou des Groupes NT si vous utilisez le membership NT)
    >>> je sais, c'est un peu compliqué mais c'est la réalité !

 

Prenons un exemple réel pour mieux comprendre :

Vous voulez ajouter un utilisateur Martin comme auteur sur un site : 2 options

  • Vous ajouter Martin au SPGroup "Membres du site XXX". En effet, ce SPGroup  a été créé à l'initialisation du site et il existe une assignation de sécurité entre le profil de droit "Membre" qui contient les permissions d'ecriture/validation et ce SPGroup
     
  • Vous ajouter Martin comme SPUser  et vous créez une assignation entre ce SPuser et le profil de droit "Membre"
     

image

D'ou le fameux choix avec les radio buttons !!!

C'est plus clair non ?
>>> Vous devez certainement mieux comprendre pourquoi on retrouve toujours cet écran en gestion des droits...

En effet,  lorsque l'on gère les sécurités sous SharePoint, on ne faire que de créer, modifier, voir supprimer des Assignations de sécurités sur une liste, ou un site, ou un item. Ni plus ni moins.

smile_regular

Ainsi, pour que les utilisateurs retrouvent leurs bon vieux réflexes d'ajout de droits "comme sous les dossiers de NT", Microsoft a introduit un micro workflow d'initialisation des site.

Un site SharePoint créé donc , automatiquement, à sa génération :

  • 5 profils de droit (Lire", "Contribuer", "Accès total", "Design" et "Lecture seulement") avec les jeux de permissions idoines
  • 3 SPGroups de gestion ("Lecteur du site", "Membres du site","Propriétaires du site")
  • 3 assignations de sécurité entre les 3 précedents SPGroups et les 3 profils de droit ("Lire","Contribuer" et "Accès total")
  • Place le créateur de site en tant que membre du SPGroup "Propriétaire du site"

La suite, vous la connaissez.

Si vous recherchez encore plus d'information, voir du code pour administrer les permissions, je pense que cet article saura vous combler:

Security Programming in SharePoint 2007

  • External Security Principals and the SPUser Object
  • Adding Authenticated and External Users
  • Working with Permission Levels
  • WSS Groups
  • Identity, Elevation, and Impersonation
  • Securable Objects
  • Wrapping Up

Et même traduit en français : http://msdn.microsoft.com/fr-fr/magazine/cc163287.aspx

Mais qui as dit qu'il n'y avait rien en documentation sur SharePoint dans le MSDN
>>> Certainement pas moi !
 

Renaud Comte aka TheMit (Pour Lucas, hiphiphip  smile_nerd )
Member of WygTeam
http://www.wygwam.com
SharePoint et ses serveurs : En gouvernance, n'oubliez pas la règle des 5 neufs !!!

Bien souvent, en mode évangélisation SharePoint, je fait un petit écart sur la notion de sizing, de gestion de ferme, cluster et compagnie.

Eh oui, une architecture SharePoint peut représenter plus d'une machine, même bien bien plus.

Certes, il n'y a que 3 rôle de base entre Front End, Job et SQL mais ...

...

...

il y a aussi les notions très machine de continuité de performance, scalibilité, haute disponibilité,...

Tous ces termes bien spécifiques au monde du serveur et de la leur gestion. Des termes au centre de la problématique de la gouvernance réseau (ou "gestion du Chaos" pour les intimes)

Bon, certes, les développeurs me diront, "c'est pas notre problème, moi je code"
>>> Bon admettons, mais ceux qui évoluent (doucement) vers le monde SharePoint, savent qu'ils se doivent d'avoir une culture générale informatique un peu plus IT.

En effet, les choix de design, les méthodologies de dev peuvent influencer

Exemple : si chaque utilisateur peut stocker 2GB d'information par espace de travail et il y a 2000 utilisateurs dans le portail, on se retrouve finalement avec une collection de Sites de 4TB le tout dans une BDD de la même taille

Et la, le responsable IT et/ou le DBA  voient leurs stress tout de suite prendre 2 points au CAC40 de l'ulcère.

Pour mieux faire passer le message, et surtout bien attirer l'attention des gens sur la problématique de la gouvernance IT dans le monde SharePoint, je leur rappelle la veille règle des 5 neufs.

Vous ne connaissez pas ????

Pas de soucis, mon Christian Hougardy de collègue, lui vrai archi IT, l'a posté il y a quelques temps avec force et détails :

Gouvernance et notions de performance au sein des systèmes d’information

Pour vous la faire en plus court, la règle des 5 neufs est la pour vous aider à vous représenter ce que peut coûter une architecture système qui vous garantit la disponibilité de vos serveurs pendant, 99 , 99.9, ... , 99.9999 % du temps.

Ce qui correspond au demande type de SLA d'utilisation d'un portail. Avec cette règle, vous verrez que les gens qui vous demande un système hautement disponible vont réviser leur jugement selon leur budget et/ou leur besoin

Soit le tableau suivant : il représente le % d' indisponibilité (le dowtime) par an

image

Plus vous augmentez le nombre de 9, plus la redondance de machine, la maintenance, le suivi humain, les méthodologies, le choix hardware, deviennent importants; les coûts inhérents aussi d'ailleurs...

Soit des fermes de plus de 12 machines avec 4-5 personnes qui s'en occupent juste pour être "sur" que le système SharePoint  est UP tout les matins à 8h.

A méditer

A relire pour les détails : Gouvernance et notions de performance au sein des systèmes d’information 

Bonne surveillance active

Renaud Comte aka TheMit (SPEmpêcheur d'architecturer au calme)
Member of WygTeam
http://www.wygwam.com

Mots clés Technorati : ,,,,,
SharePoint Search : un nouveau Query Analyser (et comme je les aime)

Il existait sur GotDotNet un petit outil bien pratique : Le MossQueryTool.exe écrit par Steve Peschka. Celui ci à évoluer doucement et est devenue

searchcomv2small.jpg

http://www.codeplex.com/SharePointSearchServ

Forcement, l'outil est compagnon idéal pour le développement de composant de recherche personnalisé.

Mais il reste un poil spartiate, surtout qu'il faut en plus gérer ensuite la concaténation et tout le système dynamique.

Je vous parle de tout ça car après une longue période de déplacement, mission et autre plaisir professionnel, j'ai pu me remettre un peu à mon atelier découverte préféré : sous entendu, parcourir Codeplex et découvrir, m'enroler et tester un peu tout.

Et bien, j'ai pu trouver un nouvel outil pour remplacer ce cher MossQueryTool

Le SearchCoder

 

Clairement, l'outil a été inspiré grandement par le premier mais avec une phylosophie bien plus développeur
>>> En effet, il se base sur une classe intermédiaire : MOSSSQLSearch

Le principe est de ne pas à créer une longue requête SQL en texte mais de générer un code métier qui décrit la recherche.
>>> Donc plus facile à maintenir, faire évoluer et surtout à intégrer à tout moteur dynamique. Genre formulaire avancé où l'on précise des champs optionnels de recherche comme des filtre par exemple

Bonus, on n'a pas à gérer de problème de concaténation, de typage et compagnie.

On obtient un code dans ce style :

image 

==> l'outil lui, génére tout simplement ce code au lieu du SQL ou vice et versa si besoin

Pour plus de détail, je vous renvoie sur les liens du projet

Bonne recherche/dev à tous

Renaud Comte aka TheMit (SPStarAc des nouveaux projets)
Member of WygTeam
http://www.wygwam.com

Mots clés Technorati : ,,,,
Quand votre PC ne veut plus utiliser le copier coller ....

En pleine rédaction passionné et passionnante, j'ai du subir un bug mais vraiment pénible
>>> Le copier coller ne fonctionnait plus, mais plus du tout : d'ou énervement, stress et divers conséquence capillaire.

Hum hum, des lors comment reprendre mes notes ou coller mes captures d'écran de ma VPC ?

Et je ne vous parle pas du reboot de la machine pour le récupérer.

...

...

Après analyse et diverses googleries, j'ai pu identifier le fautif !
>>>Le soucis provenait d'un conflit entre la VPC et le Clipboard quand aléatoirement mais fréquemment, je prenais des captures de ma VPC

Voici les posts qui on su m'indiquer la solution

En résumé, le problème peut arriver entre le clipboard avec soit un module de terminal services et/ou les Virtual Machine Addition

Je n'ai pas trouver actuellement de correctifs (je recherche encore) mais il y a un fix rapide pour remettre en place le Clipboard

Il vous suffit de copier un bout de texte dans votre machine physique, n'importe quoi puis de la coller dans la VPC, n'importe ou MAIS via l'interface VPC et non les raccourci

Soit :

Eh la, plus de soucis smile_regular

Remarque, je n'utilise pas d'outils tiers ou exotique pour faire les captures d'écran, j'utilise le simple outil capture de Vista

Renaud Comte aka TheMit (SPecrivain 7/7)
Member of WygTeam
http://www.wygwam.com

Petit sample de binding avec les Web Services de SharePoint

En lisant, codant de petits bouts de code et validant quelques fonctionnalités avec les Web Services, je me suis rappellé le bonheur du XML de retour de ces chers ASMX : http://www.developer.com/tech/article.php/3104621

A vrai dire, il existe différentes écoles :

1) les Pro XML
>>> genre :  puriste de XPath
N'oubliez pas de rajouter les namespace SharePoint pour pouvoir faire vos requêtes

private XmlNodeList RunXPathQuery(XmlNode XmlNodeToQuery, string 
XPathQuery)
{
    // load the complete XML node and all its child nodes into a XML document
    XmlDocument Document = new XmlDocument();
    Document.LoadXml(XmlNodeToQuery.OuterXml);

    // all the possible namespaces used by SharePoint and a randomly choosen 
prefix
    const string SharePointNamespacePrefix = "sp";
    const string SharePointNamespaceURI = 
"http://schemas.microsoft.com/sharepoint/soap/";
    const string ListItemsNamespacePrefix = "z";
    const string ListItemsNamespaceURI = "#RowsetSchema";
    const string PictureLibrariesNamespacePrefix = "y";
    const string PictureLibrariesNamespaceURI = 
"http://schemas.microsoft.com/sharepoint/soap/ois/";
    const string WebPartsNamespacePrefix = "w";
    const string WebPartsNamespaceURI = 
"http://schemas.microsoft.com/WebPart/v2";
    const string DirectoryNamespacePrefix = "d";
    const string DirectoryNamespaceURI = 
"http://schemas.microsoft.com/sharepoint/soap/directory/";

    // now associate with the xmlns namespaces (part of all XML nodes returned
    // from SharePoint) a namespace prefix which we can then use in the queries
    XmlNamespaceManager NamespaceMngr = new 
XmlNamespaceManager(Document.NameTable);
    NamespaceMngr.AddNamespace(SharePointNamespacePrefix, 
SharePointNamespaceURI);
    NamespaceMngr.AddNamespace(ListItemsNamespacePrefix, 
ListItemsNamespaceURI);
    NamespaceMngr.AddNamespace(PictureLibrariesNamespacePrefix, 
PictureLibrariesNamespaceURI);
    NamespaceMngr.AddNamespace(WebPartsNamespacePrefix, WebPartsNamespaceURI);
    NamespaceMngr.AddNamespace(DirectoryNamespacePrefix, 
DirectoryNamespaceURI);

    // run the XPath query and return the result nodes
    return Document.SelectNodes(XPathQuery, NamespaceMngr);
}

http://www.csharphelp.com/archives4/archive602.html

 

2) Les PRO objet
>>> genre  : une classe typé por favor

Merci le XDS.exe et l'XMLSerialiser
http://blogs.developpeur.org/themit/archive/2005/04/15/6012.aspx

http://www.peterverster.co.uk/blog/2007/02/07/Programming+MOSS+WSS+V3+Web+Service+API+Part+1.aspx

 

3) les PRO .Net advance
>>> genre : les generics ou rien

   ListItems<MACLASSEListItem> results = null;
   XmlNode resultItems = listSvc.GetListItems(listGuid, string.Empty, null, null, string.Empty, null);
   Console.WriteLine(resultItems.OuterXml);
     
   results = ListItems<MACLASSEListItem>.FromXml(resultItems.OuterXml);
   foreach MACLASSEListItem MAC in results.RowData.ListItems)
   {...}

http://blogs.developpeur.org/themit/archive/2008/03/25/sharepoint-et-l-appel-des-web-service-pourquoi-pas-un-peu-de-generics-serialization.aspx

     

    4) Le developpeur landa
    >>> genre : je veux juster binder ma liste s i m p l e m e n t !!! (et je le comprends bien)

    Dites donc merci au DataSet et sa méthode ReadXml smile_wink

       sharepointservices.Lists sharepointLists = new sharepointservices.Lists();
       sharepointLists.Credentials = new System.Net.NetworkCredential(username, password);
    
       XmlNode node = sharepointLists.GetListItems(listname,string.Empty,null,null,string.Empty,null);
       XmlTextReader xmlTextReader = new XmlTextReader(node.OuterXml, XmlNodeType.Element, null);
    
       DataSet dataSet = new DataSet();
       dataSet.ReadXml (xmlTextReader);

    http://blogs.officezealot.com/mauro/archive/2008/05/17/21034.aspx

    5) le mix du tout
    >>> Eh oui, toutes les méthodes se valent après tout mais elles ont toutes des impactes en termes de complexité ou de charge. A vous de bien pondérer dans vos choix. (ce lien peut vous aiguiller : http://weblogs.asp.net/paulballard/archive/2005/05/08/406197.aspx)

     

    Renaud Comte aka TheMit (SPeut le plus, code le moins )
    Member of WygTeam
    http://www.wygwam.com

    Les VHDs SharePoint clés en main de Microsoft (avec VS 2005)

    Les gens les demandent souvent mais nous ne pouvons pas redistribuer nos VPCs de formation, démo ou de projet. Tel est le plan de licence de l'éditeur.

    Ce n'est pas bloquant mais un peu gênant, du moins si il y avait une alternative :

    La voici, depuis la semaine dernière, Microsoft a mis en ligne un VHD préconfiguré avec

    • Windows SharePoint Services 3.0 SP1
    • Visual Studio 2005
    • Visual Studio 2005 extensions for Windows SharePoint Services 3.0, v1.1

    Attention elles sont à durée limité : 30 September 2008

    Windows SharePoint Services 3.0 SP1 Developer Evaluation VPC Image

    Pour les curieux qui préfèrent plus s'initier à MOSS, voici sa version préconfiguré :

    Microsoft Office SharePoint Server 2007 VHD (attention, 4095.7 MB)

    Je ne saurais trop vous conseiller de rajouter aussi le SDK ainsi que le STSDEV et le WSPBuilder extensions

    De jolies machines à utiliser pour tester les nouveaux WebCast de Microsoft sur le Dev SharePoint :

    SharePoint Developer MSDN Web Cast Series

     

    Date

    Topic and Signup URL

    Presenter

    May 20th 9AM PST

    Web Parts

    Robert Bogue

    May 21st 9AM PST

    Data Lists

    Robert Bogue

    May 27th 9AM PST

    Silverlight

    Andrew Connell

    May 28th 9AM PST

    Event Handlers

    Andrew Connell

    June 3rd 9AM PST

    Page Branding

    Andrew Connell

    June 4th 9AM PST

    Workflow

    Robert Bogue

    June 10th 9AM PST

    Web Services

    Andrew Connell

    June 11th 9AM PST

    Page Navigation

    Andrew Connell

    June 17th 9AM PST

    User Management

    Robert Bogue

    June 18th 9AM PST

    Content Types

    Robert Bogue

    Bon download et bon dev

    Renaud Comte aka TheMit (SPCodeur mais sous VPC)
    Member of WygTeam
    http://www.wygwam.com

    CNN "Magic Board": Surface Like

    Lors de mon dernier voyage aux US, le Jet Lag m'a permis de profiter des News régulièrement tous les matins (plus précisément vers les 5H du matin).

    Et j'ai découvert le dernier gadget des journalistes de CNN : la Magic Board

    Surprise, ça ressemble bien à une utilisation de Microsoft Surface, non ?

    Et bien non ...

    En effet, CNN utilise la technologie de PerceptivePixel.

    Prenez donc 2 minutes et regardez un peu leur démo :

    http://link.brightcove.com/services/link/bcpid713271701/bctid709364416

    Vraiment sympathique non ?

    Renaud Comte aka TheMit (toujours aussi curieux)
    Member of WygTeam
    http://www.wygwam.com

    [Fun] : J'en ai toujours rêvé, mais il y en a UN qui l'a fait !!!

    Attention, ce post d'humour est particulièrement non politiquement correct mais tellement bon !

    Si bien souvent vous recevez des mails, des MSN, des twitters, des relances pour un coup de main sur une question de base, n'hésitez pas, renvoyer vers la meilleur URL du monde :

    http://www.justfuckinggoogleit.com/

    Bart at a blackboard with a pro-google message

    Rah lovely

    PS : cette page n'est pas un joke, il y a même une technique de renvoi vers Google smile_regular

    Genre  http://www.justfuckinggoogleit.com/search.pl?query=SharePoint+architecture+logique

    Que du bonheur

    Renaud Comte aka TheMit (SPrigolo à ces heures)
    Member of WygTeam
    http://www.wygwam.com

    GAC / Bin sous SharePoint : que faire si un dll ne charge pas ...

    Le genre de soucis vraiment pas sympathique quand vous déployez vos applications.

    Votre application sous SharePoint se met en erreur de manière épisodique car il ne trouve pas des types d'objet genre

    • "The type specified in the TypeName property of ObjectDataSource '*******' could not be found."
    • "Could not load type "******""

    Alors que 10 minutes / secondes avant, tout fonctionnait très bien

    Ou sinon, même si votre le fichier asmx de votre Web Service personnel est dans le GAC, l'appel du Web Service vous donne un beau "File not found"

    Une solution simple :

    Pensez à modifier votre Web.config afin d'ajouter vos DLL au processus de compilation de votre site

    http://msdn2.microsoft.com/fr-fr/library/bfyb45k1.aspx

    Genre

    (source http://www.sharepointblogs.com/nrdev/archive/2006/12/29/tip-dll-in-gac-but-cannot-be-accessed-through-sharepoint-site-quot-could-not-load-type-quot-try-this-fix.aspx)

    Tout simplement

    [Pour aller plus loin]

    >>> Et histoire d'avoir un Best Practice complet, pensez à rajoutez à votre solution une feature niveau WebApplication avec un receiver qui assurera la modification du Web.config (SPWebConfigModification) automatiquement. Ainsi vos installations ne seront que plus discrètes, directe et maintenable

    Genre  : How To Modify the web.config file in SharePoint using SPWebConfigModification - Mark Wagner

    Ps : Post écrit au début depuis un Airbus au dessus de l'Atlantique et fini dans un hotel de l'Aisne smile_regular

    Renaud Comte aka TheMit (SPDebug)
    Member of WygTeam
    http://www.wygwam.com

    De la maintenance de Base de données sous SharePoint

    Voici un sujet qui est vraiment d'actualité !

    En ces temps ou :

    • on annonce 100 millions de licence SharePoint vendus
    • que de plus en plus de ferme WSS et MOSS sont configurés
    • que le stockage documentaire augmente
    • que les chasseurs de têtes cherchent désormais du profil IT SharePoint

    il devient temps de parler de maintenance SQL.

    Évidemment, ce genre de post serait plus naturel si j'étais quelqu'un de plus IT/DBA comme Christian ou Fabrice, mais après quelque recherche, j'ai pu trouver un très bon document :

    Database Maintenance for Microsoft SharePoint Products and Technologies

    Je le poste car il s'agit d'un domaine que bien souvent, et malheureusement, que les intégrateurs/développeurs SharePoint ignorent ou minorent un peu trop.

    Tout le back-office de données est géré uniquement via ses bases de contenu (et sa base de config). Le Serveur SQL se doit être particulièrement suivi et optimisé.

    Ah les problèmes de place disque, d'index congestionné, de log gargantuesque, j'en passe et des meilleurs.

    Ce document la, est très bon car il provient vraiment de personne d' expérience ayant certainement vécu le pire et le meilleur sous SharePoint.

    Ainsi vous découvrirez lors de sa lecture :

    • les joies du contrôle d'intégrité avec le DBCC en ligne de commande
    • les problèmes de fragmentation des bases et sys.dm_db_index_physical_stats
      image
      • mesure de la fragmentation
      • réduction de celle ci (et le batch associé)
      • la différence entre la base et les index de celle ci
    • la différence entre la place utilisé et la place occupé : merci le Shrink
      image
    • La création d'un vrai plan de maintenance
      • Contrôle de l'intégrité des bases
      • réorganisation des indexes,
      • shrink des bases
      • et bien sur, tout nettoyer à la fin.
    • la gourmandise en performance des opérations de maintenance (n'attendez pas que votre DB fasse 500 GB pour réagir ...)
      • ne pas automatiser le Shrink : ne le faire que si besoin ! ou sous condition
      • surveiller les opérations de "mouvement" de données important sous SharePoint
        • genre déplacement/migration de collection
        • suppression de site ou de profile utilisateur

    Bonne lecture (si si vraiment, même si vous êtes un Dev, ce ne sera pas une perte de temps !!!!).

    PS : Cher IT SharePoint, n'hésitez pas à compléter avec vos liens et remarques

    Renaud Comte aka TheMit (promis je retourne au dev rapidemment !!!)
    Member of WygTeam
    http://www.wygwam.com

    Video : Office Developer Hero

    Il y a des développeurs qui recherche toute leur vie un minimum de reconnaissance.

    Mais des fois, il suffit juste d'utiliser la technologie la plus "love" heart 


    Video: ODC2008 Developer Guy

    Il faut bien sur prendre le tout au Second degrée mais si vous êtes un codeur, un pur et respectable, laissez vous allez et donnez donc une chance à la plateforme Office

    Vous risquez d'être agréablement surpris. smile_nerd

    Renaud Comte aka TheMit (critique micro cinéma)
    Member of WygTeam
    http://www.wygwam.com

    Fun & Migration : il faut savoir aller de l'avant

    -- Post semi ironique à prendre au second degrée (quoi que) --

    Rentrant du Compagny Store de Microsoft avec Fabrice Romelard (aspirant SharePoint confirmé smile_wink), nous discutions à bâton rompu de :

    • nos achats pro XBox comme
      • les jeux XBox
      • Les manettes
      • la télécommande
    • les accessoires du Zune V2
    • la problématique du changement et des migrations SharePoint

    Bien, en ouvrant le CD de la bande son original de HALO 3, je suis tombé sur une phrase d'un des terminaux Forerunner que consulte le fameux "Master Chief".

    Picture 3[1]

    Je trouve cette phrase tout simplement splendide:

    IMAGE_035

    "Living in the past is a luxury none of us can afford. We must learn from it, but we can not live there. It is impossible to plan for the now - the present is ever fleeting. The future is where we must live. The future is what we mus plan for."

    Excerpt from 24 terabyte data image extracted from Forerunner Terminal Network

    Rien à redire

    Parfait et à méditer quand vous ouvrez l'admin de votre intranet

    Renaud Comte aka TheMit (SPForerunner)
    Member of WygTeam
    http://www.wygwam.com

    [MVP summit] la seule session non NDA : SPaintball

    Ca y est on est arrivé avec toute la WygTeam après moultes connexions, détour, fouilles, rebooking, nous sommes à Seattle !

    Enfin un bon café

    IMAGE_015

    Désormais, nous allons enfin pouvoir profiter de l'événement comme il se doit mais malheureusement, comme tous les ans, ce sera sous couvert de NDA ...

    Donc pas d'information à relayer qu'il s'agisse de

    • Infopath 14
    • Visual Studio 10
    • SharePoint 14
    • ...
    • ..
    • .

    Je sais c'est frustrant et encore plus pour les nouveaux MVP fraîchement nommé qui découvre le monde du silence.

    Cependant, il y a une session qui elle n'est pas NDA mais restreinte à une population extrêmement ciblé (vraiment)

    Le SPaintBall

    Pendant que quelques MVPs se partage la journée du Lundi entre Keynotes, Open lab et Bose Sound System (et pas que Fabrice), d'autre luttent dans la boue et mettent leur intégrité physique en jeu !

    Eh oui, les MVPs SharePoint se retrouvent entre eux avec des membres du Team SharePoint dans un journée de Networking/Team Building de haut vol

     

    IMAGE_029

    Mes bon amis GAT et Philippe (Bob Fox official's Puppet smile_wink ) en ont largement profité et vous prépare un vrai reportage photo.

    Bref, un vrai moment de bonheur de 8h du mat à tard dans la nuit !

    Quelques chiffres ?

    Pas de soucis :

    • 48 personnes en 2 équipes
    • Certains MVPs US, sur-entrainés:
      • Casque radio
      • Tenu de Sniper
    • Casque et tenu de camouflage pour tous
    • 80 000 billes de peinture en une journée
    • un peu prés autant de contusion et bleues divers et variés !

    Le groupe des SP MVPs augmente et se resserre à chaque Summit : une vrai petite famille toujours en mouvement et le sourire au lèvres

    Preuve en est le repas des braves guerriers tout peinturlurés

    IMAGE_017

    IMAGE_017 

    IMAGE_026

    IMAGE_021 

    IMAGE_018

     IMAGE_024

    IMAGE_019

     IMAGE_022 

    Ah quel souvenirs comme :

    • Andrew Connell bloqué derrière un muret asservi par 5 shooters : il était terrifié
    • Philippe Sentenac pris en feu croisé : shoot dorsal et frontal
    • Double Head Shoot pris 2 fois de suite par votre serviteur
    • Shane Perran touche en plein vol au dessus d'un tas de tapis
    • Brad et Bob en pur militaire rempant sous les arbres
    • Lawrence pris par un tir ami dans le cou
    • Todd Bleeker parlant de Web Services SharePoint en train de recharger son Gun avant de prendre une bille en pleine tête !

    Ah la la

    Sinon les sessions sont géniales mais sous NDA

    A bientôt

    PS : je mettrais à jour le post avec les liens vers les photos en ligne des autres MVPS dés qu'elles sont en ligne

    Renaud Comte aka TheMit (SPJetLaggeur)
    Member of WygTeam
    http://www.wygwam.com

    Mots clés Technorati : ,,
    MVP Summit : Murphy law mais une vie a été sauvée !

    Eh oui, le MVP Summit est déjà une réalité pour certains, les blogs codes sources en sont déjà le reflet.

    Merci au Team Winwise pour les photos car le trajet pour nous, Chti.Net, est un peu plus compliqué ... et surtout pas encore fini ...

    Ah j'aimerais bien vous parler de quelques adresses sympathiques et des rencontres géniales mais voila : il a fallut sauver une vie !

    1. Départ Amsterdam 13h
    2. Au 1/3 du voyage, appel du commandant qui recherche un médecin
      >>> Crise cardiaque en live dans l'appareil
    3. La totale !!!
      • Massage cardiaque
      • Electro shock
      • Massage cardiaque
      • Tracheo
      • 2 Bonbonnes d'oxygène
        >>> Je ne vous raconte pas l'ambiance dans l'avion. PIRE, le streaming video de l'avion retransmettait des épisodes de DR House [MD] !
    4. Le coeur est semi stabilisé, reroutage d'urgence vers Shannon en Irelande dans un aéroport Ryan Air : 1H30 de vol
    5. Arrivé des secours
    6. Rechecking complet de l'appareil : 2h (mais toujours bloqué dans l'appareil sans nouvelle du patient ni de nos correspondances)
    7. On redecolle direction New York
    8. 5h30 plus tard arrivée à Newark
    9. Custom et Reconnection
      • annulation de vol
      • soucis de ticket
      • certains sont
        • en waiting liste
        • décolle à 7h pour Seattle
        • sur vol pour Denver !!! et hypothétiquement sur Seattle aprés
      • direction un hôtel de NY
      • quelques news : le patient a été sauvé à l'hopital, ca s'est joué de trés peu niveau temps pour son coeur
    10. Enfin après 26 heures de voyage, à l'hotel Hollyday In de l'aéroport, un vrai premier repas bien américain entre buns et oignons

    Hum hum ...

    Et encore, ce n'est pas fini car je vous écris depuis l'hôtel avec Gregory et Julien, croisant les doigts pour :

    • les correspondances de nos copains
    • notre correspondance à Denver puis Seattle si elle existe
    • que ce coup ci, tout le monde soit bien portant

    Allez, Haut les coeurs !

    Après tout :

    • Nous sommes au US
    • On a vu L'Irlande et New York ainsi que bientôt Denver 
    • L'ambiance Wygwam est à fond !!!
    • J'ai pu blogger et coder un poil dans l'avion
    • Une vie a été sauvée et ça vaut bien tout les désagréments que ce soit l'annulation du Paintball, les RV ratés et les soirées, elles ne seront que meilleurs par la suite smile_regular

    Let's Fly to Denver !!! 

    Renaud Comte aka TheMit (SPJetLaggeur)
    Member of WygTeam
    http://www.wygwam.com

    Mots clés Technorati : ,,
    MVP Summit : Check in OK, Parking OK, Laptop OK, Paintball Stratégies OK

    Le MVP Summit arrive à grand pas !!!

    image

    La WygTeam se déplace aussi en groupe (non pas colonie de vacance) et vas retrouver tous ses amis, contacts, MVPs, Microsofties pour bien des aventures :

    • Director meeting
    • Workshops
    • Advance & Beta
    • Networking
    • Party
    • Et si vous êtes un SharePointeur MVP : PAINT BALL

    Ah souvenir : http://blogs.developpeur.org/themit/archive/2007/03/19/mvp-summit-moss-valuable-paintball-day.aspx

    Pour les nouveaux MVPs SharePoint ainsi que les futurs, un conseil :

    Trêve de plaisanterie
    >>> Comme vous vous en doutez, je serais certainement encore en mode "PowerBlog", en quête de nouveautés, moments sympathiques et autres information non NDA

    Sous entendu, je ne parlerais pas, mais pas du tout de Office 14, SharePoint 14 et tuti quanti, ....

    Pour la petite histoire, tous les MVPs SharePoint seront à l'hotel Shareton, donc si vous êtes dans le coin, n'hésitez pas

    Renaud Comte aka TheMit ("Sleepless in Seattle 2")
    Member of WygTeam
    http://www.wygwam.com

    Oh souvenirs, souvenirs ... Regardez donc ce que j'ai retrouvé :)

     IMAGE_023

    Et mieux que tout : il est encore sous BLISTER !!!

    Un pur collector avec ses 3 famille de DVD pour Client/Exchange/SharePoint

    So sweet

    Renaud Comte aka TheMit (SPNostalgique mais pas trop)
    Member of WygTeam
    http://www.wygwam.com

    [AVIS] De la différence philosophique entre Lotus Notes et SharePoint 2007.

    Voici un billet d'un nouveau genre, entre le retour d'expérience et le recul critique, en résumé, Mon avis personnel sur une problématique technologique.


    Avis que je vais tenter de défendre, argumenter et commenter. A vous ensuite de vous faire votre propre avis sur la question

    Bonne lecture (et j'attends avec impatience vos commentaires constructifs, passionnés et passionnants)  

    Pour le premier de la série, j'ai choisie un sujet qui revient souvent ces temps ci.

    Et par tous les moyens de communication possibles !!!

    Par

    • mail
    • courrier
    • mobile
    • Skype
    • MSN
    • ET même mon voisin de compartiment dans le TGV !!!!

    Nous dirons donc un sujet bien "à la mode" : Migration de bases Lotus Notes vers SharePoint 2007

    Attention, il ne s'agit que de mon avis personnel et n'engage que moi et pas mon employeur ou tout éditeur partenaire.

    Il est vrai que bien des sociétés ont déployés moult serveurs et sites SharePoint, et souvent avec réussite.

    Le tout soutenu par des user-cases accréditant encore plus un marketing assez efficace de Microsoft sans pour autant être vraiment agressif (du moins sur ce sujet là).

    Un succès qui se confirme doucement mais sûrement et qui commencent même à convaincre bien des entreprises de franchir le pas.

    Et pas n'importe lequel : Migrer un environnement Lotus Notes à la technologie SharePoint...

    Il y a 6 ans, j'assurais déjà des projets où on évoquait la possibilité de remplacer bien des systèmes de gestion électronique de connaissance/knowledge sharing via une technologie naissante comme SharePoint 2001.

    Avec le temps, évolution oblige, SPS 2003 s'est mis en concurrence naturelle avec Lotus Notes.

    Clairement, la matrice avantage / inconvénient entre SPS 200X et Notes 4/5/6 n'était pas à l'avantage de SharePoint.

    Mais voila, les années passent, Microsoft apprend, les technologies évoluent et SharePoint 2007 arrive.

    Certains remarqueraient même que des hommes-clé ont changé de clan

    Genre, Ray McOzie

    Créateur de Lotus Notes qui quittera IBM pour créer Groove et qui se retrouve finalement Chief Technical Architect de ... Microsoft.

    Je n'ose même pas me projeter sur les prochaines versions de SharePoint mais restons contemporains et revenons sur notre version actuel qu'est SharePoint 2007.

    Maintenant, le rapport de force a tendance à s'inverser en la faveur de la SP plate-forme (SP = SharePoint).

    Attention, je ne dis pas que Lotus Notes est fini, loin de la, mais voici la tendance actuelle : les demandes de migration sont nombreuses et correspondent rarement à du "Proof Of Concept" !!!

    Cependant, ne vivant pas dans un monde merveilleux où tout est interopérable en 2 clicks, où tout le monde se met autour d'une table et arrive à se décider sur une norme, où il ne pleut jamais quand on tond la pelouse,... je dois me raccrocher au vrai monde.

    Celui de la vraie vie avec de vrais gens, avec des serveurs, des technologies propriétaires et surtout de nombreuses spécificités.

    Dans le petit monde du KM, mes (nos) chers amis consultants fonctionnels parleront toujours de :

    • Bases de connaissances
    • Expérience utilisateurs
    • Catégorisation et taxonomie de l'information
    • Référentiel d'entreprise
    • Espace de collaboration et de publication
    • Workflow d'entreprise
    • Dashboard et Scorecards
    • ...

     

    Tout un ensemble de sous-ensemble de la poupée russe qu'est l'Enterprise Content Management.

    Toute une famille de concepts fonctionnant à merveille sous Lotus Notes et/ou SharePoint 2007.

    Si les concepts les rapprochent, une migration d'un outil à un autre ne devrait pas être si problématique, non ?

    C'est le principe, en théorie, mais qui n'est pas si évident en pratique.

    Je m'explique : pour avoir côtoyé bien longtemps le monde Lotus et avoir vécu l'évolution de SharePoint 2007, j'ai pu remarquer quelques points fondamentalement différents entre ces 2 technologies. Points qu'il vaut mieux savoir pour arriver à migrer d'une technologie à une autre.

    Fonctionnellement, il est tout à fait légitime d'envisager et de concevoir de migrer ses bases Notes.

    Cependant, exiger une approche iso fonctionnelle, garder l'expérience et les réflexes utilisateurs sont un peu illusoire voire utopique.

    En effet, les concepts à la base de l'ECM sont fonctionnels et reposent souvent sur des normes ou des méthodologies de gestion de l'information.

    Leur implémentation concrète dépend cependant de l'architecture et de la conception de l'outil, je parlerai même de la philosophie propre de la technologie sous jacente.

    Sous entendu, pour nos amis développeurs, il ne s'agit pas forcement de Framework mais de couche produit : chaque produit forme une couche abstraite de son système d'information. Il faut savoir l'exploiter judicieusement et non pas chercher à redévelopper chaque partie.
    >>> Il faut plus favoriser l'approche native du produit et l'étendre au besoin des utilisateurs. Chercher à faire forcement correspondre un produit comme Notes ou SharePoint à un fonctionnement spécifique est très risqué. Dans le dernier cas, il faut plutôt s'orienter vers une approche "application spécifique" que chercher à "tordre" l'application pour en faire quelque chose d'autre.

    Essayer donc de transformer un serveur SharePoint en une forme d'Exchange pro documentaire ... Il faut mieux préférer :

    • un couple SharePoint / Exchange
    • une application tout .Net
    • autre chose de plus valable

    Cependant, Le risque d'effet "usine à gaz", si facile à maintenir dans le temps et à faire évoluer, est bien réel ... Et je ne parle même pas de la capacité des gens à adhérer et à s'approprier de telles applications ...

    Donc, il faut toujours respecter la logique propre d'un outil, sa philosophie pour mieux en profiter.

    C'est la que se trouve le "hic". Lotus et SharePoint 2007 ont 2 philosophies, 2 conceptions totalement opposés !

    Mais qui ne leur interdit en rien de pouvoir offrir au final, en partie, la même offre fonctionnelle autour du Knowledge Management par exemple.

    Dés lors, comment arriver à migrer aisément ?

    Bien sur, des bases Notes simples avec des workflows basiques se migrent rapidement via les outils/scripts de Microsoft :

    Mais dans notre joli monde, il existe très très peu de modèles simples.

    Des générations entières de développeurs, de concepteurs et de CP ont rajoutés modifications, composants, workflows et autres customisations pour arriver à répondre à des expressions du besoin de plus en plus exigeantes.

    Et plus ces populations utilisaient un outil en particulier, plus ils savaient l'appréhender et profiter de ces forces et éviter ces faiblesses.

    Lotus foisonne de Best Practices et de routine interne, comme tout produit, et associé à de bons scénarii fonctionnels, La réalisation d'applications de première qualité n'est pas si compliqué, bien au contraire.

    Hors voila, si il est envisageable de conserver ces scenarii fonctionnels comment, mais comment peut on arriver à migrer les Best Practices et autre modèles de conception d'une technologie quand les philosophies sont fondamentalement différentes ?

    De mon point de vue, il n'y a pas de miracle, il faut forcement passer par une phase de "concession".

    Pour migrer d'une technologie A vers une autre B (genre Lotus vers MOSS), il faut

    1. Définir les 3-4 fonctionnalités majeures ainsi que les 3-4 mineures de A
    2. Recenser les outils et solutions de B cadrant avec les fonctionnalités retenues de A
    3. Proposer des scénarii de modèles équivalents de B par rapport à A
    4. Transiger, négocier sur les fonctionnalités techniquement viables sous B existant sous A
    5. Mettre en avant au mieux la technologie B pour compenser et justifier la migration
      >>> garder bien à l'esprit la loi de Paretto, 20/80 : tout ne sera pas migrable ....
    6. Mettre en place le kit de migration sur des bases dits de référence sur les scénarii définies
    7. Planifier le développement des composants manquants
    8. Planifier la bascule finale
    9. Préparer les formations utilisateurs et la communication sur le nouvel outil B
    10. Exploitez et maintenir la nouvelle technologie (bien souvent on oublie que la main