![]() | Le grand guide du métier de consultant: Ce livre se lit bien. Il aide à comprendre le chemin qu'il y a à parcourir pour passer du statut de cadre-expert à celui de consultant, aussi bien en tant qu'indépendant qu'au sein d'une entreprise. Il permet également d'aborder un bon nombre de points de manière analytique et à se poser de bonnes questions. A trouver également des chiffres clefs de l'activité d'un consultant et un test pour situer son projet. On peut retrouver ce test en ligne bien que je n'ai pas réussi à obtenir les résultats sur le site. |
![]() | .Net Framewrok 2.0 Application development Foundation: Premier livre à lire pour le MCPD, il comporte pas mal de longueurs pour ce livre de 1000 pages... notamment sur les questions de sécurité qui s'éloigne un peu de la plateforme .Net. Par contre, j'ai trouvé un vrai apport sur les attributs souvent sous-utilisés dans pas mal de domaines: authorization, sécurité, debugging, interop,... Bon, il fallait y passer! |
Coach & formateur Agile/Kanban - Certified Scrum Coach | coach et formateur Kanban accrédité
mardi 25 décembre 2007
Le grand guide du métier de consultant
CodeFx.MySqlProviders V1.0.0.1
* Accessibilité de la classe Aspnet_applicationsDTO accrue (internal => public)
* La chaine de connection et le nom de l'application des providers sont maintenant valorisés par les attributs ConnectionString et ApplicationName du web.config
English versionOpen source project CodeFx.MySqlProviders updated:
* increase accessibility of the Aspnet_applicationsDTO class (internal to public)
* Change the ConnectionString and ApplicationName to be setted by the attributes applicationName of the
dimanche 23 décembre 2007
Hébergement et Medium Trust
Un petit retour d'expérience sur l'hébergement Medium Trust
Un changement d'hébergeur pour TalentExpo puis une mise en ligne de Bestperf cet été m'ont appris deux/trois choses à anticiper lorsque l'on choisit un hébergeur ayant une politique de sécurité de type Medium Trust, c'est à dire la bonne majorité des hébergeurs en mode mutualisé.
Ce choix peut être structurant sur votre architecture ou votre code, comme nous allons le voir.
Mais d'abord quelques points simples pour éviter les problèmes:
- D'abord se renseigner sur la politique de l'hébergeur,
- Lui demander le fichier web_mediumtrust.config qu'il utilise pour le tester dans votre environnement, sinon utiliser celui par défaut.
C'est l'occasion de voir si votre futur hébergeur est transparent et réactif, ce qui est primordial par la suite. - Le déposer sous %windir%\Microsoft.Net\Framework\{version}\Config
- Mettre à jour votre fichier web.config:
- Vérifier que votre site fonctionne avec cette nouvelle politique de sécurité (plutot que d'essayer vainement de faire changer votre hébergeur...). Par défaut, votre environnement est en full trust.
Voici les deux points majeurs que j'ai pu rencontrer et qui ont été impactant sur mes sites:
Côté Web (Asp.Net 2.0)
Le problème principal est l'utilisation de la sérialisation/désérialisation binaire qui lève une exception de sécurité, voir ce post pour plus de détail.
Il est préférable d'opter pour une sérialisation xml dans ce cas.
ReflectionPermission est restreint aux membres publiques. L'accès aux membres privés est interdite. C'est pour cela que la sérialisation xml est possible et non la sérialisation binaire qui sérialise également les membres privés.
Pour en savoir plus sur l'utilisation du Medium trust, lire la page Msdn.
On peut, entre autre, y trouver la liste suivante:
OleDbPermission : is not available. This means you cannot use the ADO.NET
managed OLE DB data provider to access databases. However, you can use the managed SQL Server provider to access SQL Server databases.
EventLogPermission is not available. This means you cannot access the Windows event log.
RegistryPermission is not available. This means you cannot access the registry.
WebPermission is restricted. This means your application can only communicate with an address or range of addresses that you define in theelement.
FileIOPermission is restricted. This means you can only access files in your application's virtual directory hierarchy. Your application is granted Read, Write, Append, and PathDiscovery permissions for your application's virtual directory hierarchy.
Côté Base de donnée, MySql dans mon cas
N'ayant pas le droit d'utiliser la sérialisation binaire côté serveur, l'utilisation de type LOB est de fait interdite dans votre base. Cela peut être impactant si vous souhaitez par exemple sauvegarder des fichiers en binaire (une galerie photos par exemple), et peut nécessiter de rester sur un format fichier.
Par contre, l'utilisation de LOB reste autorisée (et même conseillée pour rester standard .Net) pour les tables de personnalizations si vous utilisez des WebParts ou le Profile, car la sérialisation est cette fois prise en charge par le framework .Net. Ainsi dans mon implémentation MySql de ces providers, CodeFx.MySqlProviders, on retrouve bien le type LongBlob dans les tables aspnet_Profile et aspnet_personalization* bien que ce framework tourne en medium trust.
Third Party API
Le fait d'utiliser du medium trust va peut être également vous interdire l'utilisation de certaines API externes tels que Flickr (pour l'upload de fichiers). Les Api Google ont elles-aussi mis un peu de temps afin d'être compatibles Medium trust.
Pour les assembly Open source, il sera peut être nécessaire de les recompiler avec l'attribut
[assembly: AllowPartiallyTrustedCallers()]
et une signature forte pour pouvoir les utiliser, ce qui est vrai également pour vos propres assemblies sous peine d'avoir une erreur du type partially trusted caller.
Ce sont donc autant de points à tester avant de partir sur une solution.
samedi 15 décembre 2007
Les livres lus cet automne
mardi 11 décembre 2007
Ajax.Net & référencement
Conséquence, le site peut ne pas se référencer. Il est recommandé de vérifier comment est vu votre site par ces robots en utilisant l'extension User Agent Switcher de firefox et en le configurant avec le user-agent du robot que vous souhaitez tester:
- Googlebot/2.1 (+http://www.google.com/bot.html)
- Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
- Googlebot-Image/1.0
Et voici l'erreur que renvoit le robot:
"Partial rendering requires a browser that supports W3C DOM Level 1.0."
Avec le framework Ajax.Net on peut tester si le browser supporte ou non le partial rendering, ce qui laisse l'opportunité de le désactiver:
protected void Page_Init(object sender, EventArgs e)
{
MasterScriptManager.SupportsPartialRendering = !Request.Browser.Crawler
&& MasterScriptManager.SupportsPartialRendering;
}
Pour compléter cela, il peut être interessant d'ajouter un répertoire app_browser avec un .browser adapté comme kowitz le suggére ce qui peut améliorer l'indexation de votre site.
Après cela, il faut être un peu patient pour que le site se référence!
lundi 10 décembre 2007
Certification MicroSoft Niveau 3
Il me reste donc à passer le niveau 1 (les fondations c#) afin d'être certifié Professionnal web developper (MCPD).
Laurent Morisseau, auteur de ce blog, pour me contacter




