Le portail e-services MyDijon.fr : 3 mois pour aller au succès !

La direction, les équipes produits et projets de la société Solutions pour SharePoint ont l’immense plaisir d’évoquer dans ces lignes le projet Portail usagers de la Ville de Dijon, une nouvelle référence client pour SPS.

La réalisation du portail « MyDijon.fr » nous a été confiée à l’issue d’un dialogue compétitif opposant plusieurs protagonistes : sociétés de services et éditeurs de logiciels.

Notre grande expérience en matière de réalisation de telles solutions nous à permis de convaincre les décideurs de la Ville de Dijon que Microsoft SharePoint, associé à nos diverses briques applicatives permettant notamment la simplification de la mise en œuvre d’un portail usagers, était la réponse la plus pertinente à leurs attentes et aux besoins exprimés.

MyDijon.fr est en service depuis le 1er mars, après seulement 4 mois de travail. Cette performance a été rendue possible grâce à l’utilisation du module « portail usagers » de Solutions pour SharePoint.

Ce module, déjà utilisé dans d’autres collectivités ainsi que dans le secteur privé, permet d’exploiter les performances de SharePoint 2010 en s’appuyant sur des fonctionnalités industrialisées par Solutions pour SharePoint et entièrement personnalisables. Ainsi, il est possible de réduire considérablement les coûts et les temps liés au développement et à la stabilisation des fonctionnalités pour se focaliser sur l’essentiel : l’efficacité et les usages.

Cette première version de MyDijon.fr propose aux citoyens de Dijon un premier bouquet de services conséquent mais notre travail ne s’arrête pas là !

Le portail MyDijon.fr évoluera de manière régulière pour proposer de nouveaux services.

Le suivi de démarche et certains contenus/services seront également disponibles dans un « format mobile », spécifiquement adapté à une utilisation depuis smartphones et tablettes.

D’autre part, il est prévu la mise en service d’une solution de paiement en ligne pour simplifier l’accès à des nombreux services proposés par la Ville de Dijon.

Cette prouesse technique n’aurait pas été possible sans la totale implication de l’équipe projet de la Ville de Dijon. En effet, le dispositif est co-développé et nous assurons un transfert de compétences et un suivi quotidien. L’objectif d’autonomie clairement établi par la Ville de Dijon dès le démarrage des discussions est désormais considéré comme quasiment acquis.

Aussi, nous tenons à remercier chaleureusement la Ville de Dijon et tout particulièrement les équipes de la Direction des Services Informatiques pilotée par M. Xavier LENOIR.

Feature pour définir la page d’accueil d’un site

Pour définir la page d’accueil d’un site, il faut normalement définir la propriété PublishingWeb.DefaultPage.

Si l’on souhaite, depuis une feature, définir la page d’accueil du site, le premier réflexe sera de définir cette propriété depuis un FeatureReceiver.

Il existe toutefois une méthode plus simple, sans code. En effet, la page d’accueil est stockée dans le PropertyBag du dossier racine du site.

Un petit script PowerShell peut rapidement le montrer :


(get-spweb http://localhost).RootFolder.Properties["vti_welcomepage"]

Comme alors définir cette propriété depuis une feature ? Tout simplement en alimentant le PropertyBag du dossier racine, avec un fichier element.xml pouvant ressembler à celui-ci :

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
     <PropertyBag ParentType="Folder" Url="">
          <Property Name="vti_welcomepage"
                  Type="string"
                  Value="Pages/home.aspx" />

     </PropertyBag>
</Elements>

Attention à bien définir l’attribut Url, même s’il est vide. Sans celui-ci une exception sera levée.

SharePoint 2010 et HTML5

Lorsqu’on est confronté à un CMS ou WCM, on se demande souvent s’il pourra tenir la cadence de l’avancée du Web ou si le code généré respecte les standards Web.

La question du navigateur

Logos de navigateurs

HTML 5 est, plus ou moins, supporté sur les dernières versions des navigateurs récents. On peut considérer qu’à partir d’IE9 ou Firefox 3.5, par exemple, la compatibilité avec HTML5 est assurée. Même si celle-ci sera encore améliorée avec IE 10 et les dernières versions de Firefox.
Avec IE8 et IE7 la rétro-compatibilité est assurée avec des librairies javascript telles que Html5shiv ou même Modernizr .

Avec de telles librairies on assure une compatibilité structurelle notamment avec Html5shiv  qui va retranscrire convenablement les balises qui ne sont pas interprétées par le navigateur. Avec Modernizr, on va surtout aborder l’aspect fonctionnel. En effet on va pouvoir faire des tests sur le navigateur courant, et dire "Ce navigateur dispose t’il de la fonctionnalité Drag & Drop, ou Local Storage ?". En fonction du retour de la requête, des développements spécifiques seront orientés afin d’avoir une application qui pourra fonctionner en Full HTML5.

HTML 5 dans SharePoint

Apports HTML5
les apports significatifs de HTML5 par rapport à son prédécesseur

Eléments qui n’impactent pas SharePoint:

  • CSS3, Multimedia, Graphics & 3D, Device Access, Performance, Offline & Storage, Connectivity.

Tous ces points sont dépendants du navigateur utilisé pour accéder à l’application SharePoint. En effet tant que le navigateur le permet, peu importe que l’on soit dans une application SharePoint ou non on peut répondre aux besoins qui nécessitent la mise en application desdites fonctionnalités HTML5.

Seul élément bloquant:

  • La sémantique

En somme, seul l’aspect sémantique s’avère être un point bloquant dans SharePoint. En effet, avec HTML5, SharePoint est censé poser peu de problème car il s’exécute dans un navigateur. Tant qu’on a la main sur le rendu HTML, et la page maitre de SharePoint on peut produire du contenu sémantiquement correct. Il s’agit ni plus ni moins que de la justesse des balises choisies pour représenter le contenu de la page.

Avec SharePoint on a la possibilité de produire le code HTML que l’on souhaite lorsqu’on se trouve dans une page maitre ou un gabarit de page.  On dispose de la même liberté d’action lorsqu’on  développe des composants « custom ».

Avec un template tel que Boilerplate,  qui est le fruit d’avis de plusieurs experts, on peut très rapidement démarrer  avec une page maître aux normes en ce qui concerne HTML5 . Quant aux composants customs, il est de notre ressort de s’assurer que le code HTML généré corresponde aux contraintes posées par HTML5.

Contournement

Le vrai point bloquant dans SharePoint et plus globalement dans la version de .NET sur laquelle il s’appuie (.NET 3.5) , c’est le code HTML généré par les composants natifs. Même si SharePoint propose pléthore de composants, et de webparts le code généré n’est plus très conforme aux préconisations voulues en terme de sémantique par HTML5. En effet on se retrouve souvent pour les zones de webparts et les composants webparts avec une arborescence  de tableau en tr/td.

Cependant on dispose d’une technique dans SharePoint qui permette d’intercepter le composant et de modifier son rendu final afin d’atteindre le résultat escompté: il s’agit des adapteurs (fera l’objet d’un article technique).

Cette pratique, malheureusement, n’est pas viable car si l’on venait à modifier les balises natives par celles qui correspondraient à un code HTML5 correct, on toucherait au fonctionnement interne de SharePoint. Ceci entrainerait des bugs car les scripts SharePoint utilisent ces balises et ces arborescences pour naviguer entre les différents composants d’une page.

Conclusion

SharePoint 2010 s’appuie dans sa globalité sur XHTML1.0. Aujourd’hui ce format est délaissé au profit de HTML5 et ses avancées technologiques.

La flexibilité que procure le système des pages maitres, et des gabarits de pages dans SharePoint lui permette de s’en sortir et de suivre la cadence d’HTML5 et CSS3.

Au final avec ce type de mécanisme, on est capable de produire des pages HTML5 tout à fait acceptables, mais pour les puristes on serait bien loin de la perfection à cause du code HTML généré par les composants natifs SharePoint.


KB2756920 Crashes SharePoint

Bonjour

Nous notons sur plusieurs fermes Sharepoint motorisées par Windows 2008R2 pre-SP1 des erreurs de compilation sur le service securitytoken.svc avec le déploiement de la KB2756920

On trace cette erreur dans les journaux ULS de SharePoint:

Exception: System.ServiceModel.ServiceActivationException: The service ‘http://<server>/SecurityTokenServiceApplication/securitytoken.svc&rsquo; cannot be activated due to an exception during compilation

Supprimer cette KB ou déployer le SP1 de Windows 2008R2 corrige le problème.

Certains articles parlent d’une dépendance à l’authentification par revendications, mais nous constatons le problème sur des WebApp en authentification classique.

Plus d’info: Par Ici

SPC 2012: SPC245 User Profile Synchronization Best Practices in SharePoint Server 2013

Ce matin session avec le grand Spencer Harbar ( http://www.harbar.net/, @harbars).

Ses articles ont dépanné des centaines d’administrateurs en peine avec la synchronisation de profils et cela bien avant les articles du TechNet.

Au menu de ce matin, les nouveautés du service de synchronisation de profil.

Spencer ouvre d’abord sa session en expliquant que le facteur le plus important pour une synchronisation de profil efficace, ce n’est pas la technique, mais la validité et la consistance de votre annuaire de référence. En clair, structurez vos informations de propriétés et utilisez un contrôleur de domaine propre.

Passons maintenant aux nouveautés, visiblement un gros effort a été fait sur les performances :

Dans le ventre de SP2013, on ne trouve pas 1 mais 2 moteurs de synchro ! Celui de SharePoint 2010 motorisé par FIM et pour les implémentations plus simple le moteur d’importation de 2007 !! Celui qui marchait si bien et si vite comparé aux premières versions de SP2010 ! Et cerise sur le gâteau, on pourra même implémenter son propre moteur ! Spencer prévient, on ne parlera pas de ce dernier dans cette session, c’est une session IT, pas une session de développeur. Cette séparation IT/Dev me parait un peu trop simpliste dans un contexte SharePoint, mais je reparlerais de cela dans un prochain article.

Donc 2 moteurs de synchro, et en plus la possibilité de passer de l’un à l’autre, on reparlera de cela un peu plus tard.

On commence par le moteur d’importation AD, basé sur le moteur de 2007. Il sait prendre en charge du mapping de propriété simple (pour résumé il ne sait pas faire un mappage d’un type multivalué vers un type monovalué), mais sait traiter l’authentification Windows, FBA et fédération d’identité. La synchronisation sait également enrichir un termSet en fonction des propriétés remontées dans la synchro. Merveilleux !!

Enfin pas tout à fait, en fait le mappage de propriété devient trèèès limité, sans la prise en charge des connexions BDC (tient tient, on ne dit plus BCS en SP2013), ni pour les propriétés systèmes. Et en plus, au premier changement de configuration, une synchro full est requise.

Cependant, la synchro sait maintenant supprimer les profils associés à des comptes AD désactivés.

Bref plutôt limité donc. Passons maintenant au switching : le passage d’un moteur de synchronisation à un autre. Les 2 moteurs n’utilisent pas le même dépôt pour stocker la configuration, et le switching ne prend pas en charge le mappage de propriétés. Une phase de reconfiguration est nécessaire. Bref, avant de switcher : PLANIFIEZ et DOCUMENTEZ vos mappages !!

Passons au provisioning du service d’application l’occasion d’une petite blague sur l’assistant de configuration de ferme, déprécié pour cet usage. Les CMDLET du SP1 de SharePoint 2010 sont toujours d’actualité, c’est carrément une bonne nouvelle !

Visiblement l’équipe produit à encore du pain sur la planche pour les problématiques de compte du service d’application de synchro, L’approche conseillée et de rédiger un script d’approvisionnement lancé en tant que compte de Ferme.

C’est alors le moment de la démo, Spencer provisionne un service d’application, créé une source de connexion et synchronise un annuaire contenant 12.000 comptes. Cette synchronisation aura été accomplie en moins de 10 minutes ! Cela aurait impensable au lancement de SharePoint 2010.

Spencer insiste sur une phase du projet, je vous laisse comprendre laquelle :

Alors en résumé 2 moteurs de synchronisations :

  • Un rapide, peut évolutif qui ne sait pas écrire dans AD
  • Un plus polyvalent, mais du coup plus lourd à mettre en œuvre.

La recommandation du chef : Utiliser l’importation AD, jusqu’à avoir besoin de fonctionnalité complémentaire.

En revanche quel que soit le moteur utilisé, on a toujours besoin de droits de réplication sur l’annuaire, toujours besoin de PowerShell si le FQDN du domaine (Ex : contoso.com) ne correspond pas au nom NetBIOS (Ex : CONTOSOCORP). Et il est toujours impossible d’importer des comptes directement depuis une connexion BDC/BCS, cela ne sert qu’à l’enrichissement de profils existant.

La session se termine sur une session de Q&A, où un intervenant remercie Spencer pour son boulot de documentation sur l’UPS de sharepl!oint 2010, applaudissements appuyés dans la salle, on est beaucoup à lui en devoir une belle semble-t-il !

Se préparer pour SharePoint 2013

Première journée, la proposition de valeur SharePoint 2013 est forte, aussi les velléités à migrer seront nombreuses… autant s’y préparer !

Aussi, pour tirer le meilleur parti de SharePoint 2013 et se préparer à migrer, il parait important :

  • d’identifier et qualifier objectivement les fonctionnalités clefs de SharePoint 2013 pour votre organisation ;
  • de prendre du recul sur l’usage de SharePoint au sein de votre organisation ;
  • d’intégrer le retour d’expérience des précédentes opérations de migration.

SharePoint 2013 : quoi de neuf ?

Parmi les apports clefs de SharePoint 2013 citons :

  • Les fonctionnalités sociales
  • La recherche
  • Les applications mobiles
  • Les Apps

Se préparer à migrer

Prenons l’exemple de la recherche, les apports de la version 2013 sont incontestables mais tirez-vous réellement profit de la recherche avec SharePoint 2010 ?

Les points clefs pour améliorer la pertinence de la recherche concernent l’organisation de vos données dans les bibliothèques de documents :

  • Renseigner correctement le titre de chaque document
  • Utiliser des métadonnées en remplacement/complément des dossiers

Vous pouvez aussi vous poser la question de reconsidérer les sources de contenu que vous analysez pour alimenter vos index de recherche. En effet, une analyse attentive des rapports de recherche vous permettra peut-être d’identifier des sources de contenus peu ou pas utilisée.

Concernant les fonctionnalités « sociales » (RSE), il faut insister sur l’importance des profils utilisateurs. En effet, outre les informations renseignées directement par les utilisateurs, la base de profils peut s’enrichir avec des informations issues de différents repository. Cependant, ces opérations nécessitent une planification minutieuse en commençant par définir comment les informations du profil utilisateur vont être utilisées. Un autre point concerne la gouvernance RSE : que peuvent faire les utilisateurs?

My Site est central dans l’expérience RSE de SharePoint 2013. Aussi, Il faut également préciser que les bibliothèques de documents sont activées par défaut et non débrayables sauf à désactiver My Site ce qui pénaliserai fortement l’expérience RSE. Sur ce point encore, l’impact sur l’infrastructure est non négligeable.

Une petite révolution concerne les Apps. Au-delà du changement de métaphore (Everything’s an App), vous devez sans doute considérer la mise en place de votre magasin interne d’Apps validés par L’IT. Cette approche suggère la mise en œuvre d’une offre de service « sur étagère » pour vos clients internes ce qui nécessite un travail de planification conséquent.

Avec les nouvelles applications pour les mobiles, les Offices Web Apps et la tendance BYOD vous devez vous attendre à une forte demande de la part de vos utilisateurs. Aussi, les utilisateurs s’attendent à ce que cela fonctionne en tout lieu ! Pour cela encore, vous devez vous assurer que votre infrastructure est prête (publication, disponibilité, sécurité).

Pour finir, une petite check-list généraliste de préparation :

  • Auditer puis supprimer les collections de sites et sous-sites non utilisées
  • Identifier puis reconsidérer les listes volumineuses
  • Inventorier les solutions développées et confirmer leur pertinence en termes d’usages
  • Identifier les listes avec de nombreuses colonnes et supprimer les colonnes inutiles (ce type de liste peut provoquer un échec de migration)
  • Envisager de déplacer certaines collections de sites au sein de bdd de contenus séparées
  • Supprimer les versions obsolètes des documents (migration plus rapide)
  • Inventorier les sites dont la mise à niveau visuelle 2007 -> 2010 n’a pas été traitée et finaliser ce travail
  • Détruire les collections de sites orphelines ou dupliquées au sein des bdd de contenus

Travail assez conséquent en fait… autant s’y mettre rapidement.

[Prochainement] Solutions pour SharePoint en visite à la SharePoint Conférence 2012…

Du 12 au 15 novembre prochains, nous nous rendrons aux USA dans le cadre de la SharePoint Conférence 2012 !


Dans le contexte de la très riche actualité des produits et technologies Microsoft, nous espérons cette semaine riche en contenus et découvertes.

Ce sera l’occasion de :

  • Rencontrer l’équipe produit
  • Echanger avec les meilleurs experts
  • Faire le plein d’idées pour nos solutions
  • Se former : Sessions de formation et labs

Nous publierons quotidiennement sur notre blog nos découvertes les plus intéressantes.

A très vite donc.

Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 145 followers