blog.carnould.com
Analyste Développeur en .Net
Analyste Développeur en .Net
J'ai 25 ans, Je travaille à temps plein pour la société Objectif Lune à Montréal au Canada. Je suis spécialisé dans le développement de sites en ASP.Net. Je maîtrise aussi le PHP ainsi que le HTML, les CSS et le Javascript.
Pour en apprendre plus sur mon parcours et mes compétences, rendez-vous sur mon Curriculum Vitae ou sur mon Portfolio.
Pour me contacter: arcedric@wanadoo.fr
30/06/10
Voila une astuce assez intéressante (en tout cas pour ceux qui en ont besoin), pour afficher tous les messages non lus de sa boite Gmail, faite la recherche suivante:
in:all is:unread
3/06/10
La majorité des sites internet utilisent les fonts suivantes:
Ces fonts ont l’avantage d’être multiplateformes, Windows, Mac et Linux sauront affichés ces sites web sans problème. D’autres fonts de ce type existent mais sont moins utilisées:
Windows et Mac proposent d’autre fonts encore qui ne sont pas gérés par Linux:
Mais qu’en est il, lorsqu’on veut pouvoir ajouter ses propres polices sur son site web?
La solution à ce problème se trouver dans l’utilisation de @font-face dans votre fichier CSS, exemple:
@font-face { font-family: 'MyFont'; src: url('MyFont.eot'); } @font-face { font-family: 'MyFont'; src: url('MyFont.ttf') format('truetype'); } body,html {font-family:"MyFont";} |
La partie avec la font :
Votre site utilise maintenant d’autres fonts que celles disponibles par défaut.
27/05/10
Quand on met son site en ligne, on a parfois des erreurs qu’on n’a pas su gérer, ce qu’on appelle une exception, par exemple la base de données qui ne répond pas.
Pour comprendre comment elles ont eu lieu, il faut pouvoir logguer ces exceptions.
Pour corriger le problème rapidement, le site enverra un email à l’administrateur.
Elmah permet de répondre à tous ces besoins.
Voici la procédure a faire pour intégrer Elmah à votre projet :
Pour cela cliquer ici, la version que j’utilise présentement est la version 1.1.
Menu Project / Add Reference, puis ajouter Elmah.dll
Ajouter dans la section ConfigSections:
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup> |
Ajouter dans la section HttpHandlers:
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> |
Ajouter dans la section HttpModules:
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/> |
Configurer le serveur SMTP, si ce n’est pas déjà fait:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="DoNotReply@XXX.com">
<network host="smtp.XXX.com" defaultCredentials="true" userName="X" password="X" />
</smtp>
</mailSettings>
</system.net> |
Ajouter la section elmah dans la section Configuration:
<elmah>
<security allowRemoteAccess="0" />
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="C:\Temp" />
<errorMail from="error@XXXX.com" to="administrator@XXXX.com" priority="High" />
</elmah> |
Ajouter la section location dans la section Configuration:
<location path="elmah.axd">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location> |
Ajouter le code suivant dans le Page_Load de la page:
Throw New Exception("This is a test") |
Compiler et ré-afficher la page.
Une exception est détectée, un mail est envoyé et une entrée dans le fichier xml a été ajoutée.
Elmah permet de filtrer les erreurs interceptées.
Ainsi on ne voudra pas logguer les erreurs 404 ou encore les exceptions de Type FieldAccessException par exemple. Pour cela, il faut modifier la section elmah dans la web.config de la manière suivante:
<pre lang="config">
<elmah>
<security allowRemoteAccess="0" />
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="C:\Temp" />
<errorFilter>
<test>
<or>
<equal binding="HttpStatusCode" value="404" type="Int32" />
<is-type binding="BaseException" type="System.FieldAccessException" />
</or>
</test>
</errorFilter>
<errorMail from="error@XXXX.com" to="administrator@XXXX.com" priority="High" />
</elmah> |
Elmah offre une interface web pour visionner les exceptions, pour cela ouvre la page http://localhost/elmah.axd, voici un exemple du rendu:
26/04/10
Quand on développe des sites internet on a souvent des configurations différentes. Il devient vite difficile de s’y retrouver. Pour me faciliter la vie j’ai trouvé une solution simple et efficace qui ne demande l’installation d’aucun add-on supplémentaire.
Prenons pour exemple la situation suivante:
Tout d’abord on ajouter la nouvelle solution de configuration nommée Release (disponible dans le menu build/ConfigurationManager).
On aura ainsi dans la liste déroulante 3 solutions de configuration :
Copier trois fois la configuration actuelle dans le répertoire du projet, puis nommer les de la manière suivante:
Ensuite dans l’onglet Compile des propriétés du Projet, ajoutez la ligne suivante dans Pre-build event command line:
copy "$(ProjectDir)\web.$(ConfigurationName).config" "$(ProjectDir)\web.config" /y |
Cette ligne de commande remplacera le fichier web.config par le fichier de configuration correspondant à la solution de configuration choisie.
Vous venez de modifier le fichier web.config, vous compilez et malheur vous vous rendez compte que votre configuration a été effacée.
Pour remédier à ce problème, j’ai modifiier la ligne de commande de la manière suivante:
copy "$(ProjectDir)\web.config" "$(ProjectDir)\web.config.bak" /y copy "$(ProjectDir)\web.$(ConfigurationName).config" "$(ProjectDir)\web.config" /y |
Ainsi a chaque compilation, une copie de web.config est faite dans le fichier web.config.bak.
Pour faciliter votre vie de développeur, Visual Studio permet de personnaliser la barre d’outils.
Pour cela, faites un clic droit sur la barre d’outils et cliquez sur Customize puis sur l’onglet Commands, sélectionnez la catégorie Build puis ajoutez à votre barre d’outils la command Solution Configurations
31/03/10
Pour se connecter à un fichier Microsoft Excelle sous SQL Server 2005, vous pouvez utiliser la requête suivante :
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\Datasources\Test.xls;Extended Properties=EXCEL 5.0')...[Sheet1$] ; |
À noter que le fichier « Test.xls » doit être enregistré sur le serveur SQL dans le répertoire « C:\Datasources ».
Cette fois on enregistre le fichier Excel en fichier CSV ayant pour délimiteur le point-virgule.
On crée un fichier « schema.ini » dans le même répertoire dans lequel on a le code suivant:
[text.csv] ColNameHeader=True Format=Delimited(;) MaxScanRows=5 CharacterSet=ANSI |
On peut alors exécuter la requête SQL suivante :
SELECT * FROM OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=D:\Datasources\;','select * FROM test.csv') ; |