Mon Blog

Convention ISO Pays web

De Admin dans ASP MVC


 5/20/2015

Nom officiel - Code Identifier Langue correspondante
af 0x0036 Afrikaans
af-ZA 0x0436 Afrikaans - South Africa
sq 0x001C Albanian
sq-AL 0x041C Albanian - Albania
ar 0x0001 Arabic
ar-DZ 0x1401 Arabic - Algeria
ar-BH 0x3C01 Arabic - Bahrain
ar-EG 0x0C01 Arabic - Egypt
ar-IQ 0x0801 Arabic - Iraq
ar-JO 0x2C01 Arabic - Jordan
ar-KW 0x3401 Arabic - Kuwait
ar-LB 0x3001 Arabic - Lebanon
ar-LY 0x1001 Arabic - Libya
ar-MA 0x1801 Arabic - Morocco
ar-OM 0x2001 Arabic - Oman
ar-QA 0x4001 Arabic - Qatar
ar-SA 0x0401 Arabic - Saudi Arabia
ar-SY 0x2801 Arabic - Syria
ar-TN 0x1C01 Arabic - Tunisia
ar-AE 0x3801 Arabic - United Arab Emirates
ar-YE 0x2401 Arabic - Yemen
hy 0x002B Armenian
hy-AM 0x042B Armenian - Armenia
az 0x002C Azeri
Cy-az-AZ 0x082C Azeri (Cyrillic) - Azerbaijan
Lt-az-AZ 0x042C Azeri (Latin) - Azerbaijan
eu 0x002D Basque
eu-ES 0x042D Basque - Basque
be 0x0023 Belarusian
be-BY 0x0423 Belarusian - Belarus
bg 0x0002 Bulgarian
bg-BG 0x0402 Bulgarian - Bulgaria
ca 0x0003 Catalan
ca-ES 0x0403 Catalan - Catalan
zh-HK 0x0C04 Chinese - Hong Kong SAR
zh-MO 0x1404 Chinese - Macau SAR
zh-CN 0x0804 Chinese - China
zh-CHS 0x0004 Chinese (Simplified)
zh-SG 0x1004 Chinese - Singapore
zh-TW 0x0404 Chinese - Taiwan
zh-CHT 0x7C04 Chinese (Traditional)
hr
...

Lire >>

ExecuteNonQuery retourne toujours -1 avec procédure stockée

De Admin dans Sql Server


 5/20/2015

Si executeNonQuery retourne toujours -1, en général c'est une erreur toute bete liée a votre procédure stockée.

Si vous avez laissé le SET NOCOUNT ON le probleme est reglé, il suffit de supprimer cette ligne.

Cette commande indique a sql serveur d'arreter d'afficher le message contenant le nombre de lignes affectées

Lire >>

Liste des symboles HTML

De Admin dans ASP MVC


 5/20/2015

(En cours)

 Caractere - description

 Entité

 Decimal

 Hexa

 Apercu

Fleche gauche (leftwards arrow) ← ← ←
Fleche haut (upwards arrow) ↑ ↑ ↑
Fleche droite (rightwards arrow) → → →
Fleche bas (downwards arrow) ↓ ↓ ↓
Fleche droite gauche (left right arrow) ↔ ↔ ↔
Fleche entrée (carriage return) ↵ ↵ ↵
Double fleche gauche (leftwards double arrow) ⇐ ⇐ ⇐
Double fleche haut (upwards double arrow) ⇑ ⇑ ⇑
Double fleche droite (rightwards double arrow) ⇒ ⇒ ⇒
Double fleche bas (downwards double arrow) ⇓ ⇓ ⇓  
Double fleche droite gauche (left right double arrow) ⇔ ⇔ ⇔
Alpha (Grecque) Α Α Α  Α
Beta (Grecque) Β Β Β  Β
Gamma (Grecque) Γ Γ Γ  Γ
Delta (Grecque) Δ Δ Δ  Δ
Epsilon (Grecque) Ε Ε Ε  Ε
Zeta (Grecque) Ζ Ζ Ζ  Ζ
Eta (Grecque) Η Η Η  Η
Theta (Grecque) Θ Θ Θ  Θ
Sigle Copyright © © © ©
Coeur ♥ ♥ ♥

Lire >>

JQuery - Javascripts tricks

De Admin dans Javascript


 5/20/2015

Supprimer tous les tags HTML d'une chaine de caracteres :

var stringWithoutHtmlTags = OriginalStringWithTags.replace(/(<([^>]+)>)/ig,"");

 

Utiliser replace all avec javascript, ex : Remplacer tous les points d'une chaine de caractere:

var chaineSansPoints = chaineAvecPoints.Replace(/\./g, "");

Replace(".","") remplacera seulement le premier point

 

Tester une date en jQuery avec une expression réguliere

- Fonction javascript

function testDate(str) {
   var m = str.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);
   return (m) ? new Date(m[3], m[2] - 1, m[1]) : null;
}

- Utilisation

if (testDate(date) == null) {
    // Date false  

} else {
     // Date true

}

 

Tester si une chaine de caractere contient une sous chaine de caracteres (String contains substring)

if ($("#spnMessage").text().toLowerCase().indexOf("error") >= 0) {
…
}

 

Lire et obtenir le parametre dans une url (get query string parameter)

function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

 

Ajouter et supprimer une classe en jQuery

$("#theTextBox").addClass('highlightErrors');
 
$("#theTextBox").removeClass('highlightErrors');

 

Déclencher

...

Lire >>

Liste des couleurs de windows 8 - Tuiles pour le style metro

De Admin dans ASP MVC


 5/20/2015

Ce post me sert de post-it pour avoir la liste des couleurs standards de windows 8

Couleur

RGB

Hexa

Apercu

Violet (Purple) 162 0 255 A200FF  
Magenta 255 0 151 FF0097  
Turquoise (Teal) 0 171 169 00ABA9  
Citron (Lime) 140 191 38 8CBF26  
Marron (Brown) 160 80 0 A05000  
Rose (Pink) 230 113 184 E671B8  
Orange 240 150 9 F09609  
Bleu (Blue) 27 161 226 1BA1E2  
Rouge (Red) 229 20 0 E51400  
Vert (Green) 51 153 51 339933  

Lire >>

Spam checker API avec ASP.NET C# - Comment éviter le SPAM avec stopforumspam

De Admin dans C#


 5/20/2015

Avoir rencontré plusieurs problemes de spam dans certaines de mes applications j'ai décidé de me pencher sur le sujet. Apres avoir étudié différentes solutions je décide d'utiliser l'API gratuite du site stopforumspam.

Elle est gratuite, simple d'utilisation et communautaire, c'est pourquoi il ne faut pas hésiter a envoyer la liste de ses potentiels spammeurs sur ce forum.

Il y a juste une limite de 20000 requets a ne pas dépasser par jour, ce qui est correcte.

Pour moi le nom d'utilisateur n'est pas assez fiable pour savoir si c'est un spam ou non. C'est pourquoi la détection va se faire premierement par l'adresse IP de l'utilisateur puis par l'email.

Cette API est tres fiable mais l'adresse IP peut etre lié a un autre utilisateur par exemple. Si vous voulez filtrer des commentaires je vous conseille donc de ne pas les supprimer mais de les marquer avec un tag IsSpam = 1

C'est cadeaux, voici la classe:

///<summary>
/// SpamChecker class
///</summary>
public class SpamChecker
{
    ///<summary>
    /// Check if the comment is inside the spam list
    ///</summary>
    ///<param name="ip">The ip to test</param>
    ///<param name="email">The email to test</param>
    ///<returns>True if it's a spam</returns>
    public static bool Check(string ip, string email)
 
...

Lire >>

Utiliser oData avec MVC4 WebAPI

De Admin dans C#


 5/20/2015

Par défaut WebAPI retourne une liste de type IEnumerable.

L'avantage d'utiliser des requetes au format oData est de pouvoir "requéter" directement dans l'url (order by, top, ...).

Pour activer oData il suffit juste de remplacer IEnumerable par IQueryable.

Ne pas oublier l'attribut [Queryable] pour que le client puisse utiliser les requetes oData

[AcceptVerbs("GET")]
[Queryable]
public IQueryable<Contact> GetAll()
{
List<Contact> contacts = new List<Contact>();
  
Contact ct1 = new Contact ()
{
Name = "Pierre",
PictureUrl = http://www.serveur.com/images/pierre1.jpg
};
  
Contact ct2 = new Contact ()
{
Name = "Paul",
PictureUrl = http://www.serveur.com/images/paul1.jpg
};
  
Contact ct3 = new Contact ()
{
Name = "Jacques",
PictureUrl = http://www.serveur.com/images/jacques1.jpg
};
  
 
contacts.Add(ct1);
contacts.Add(ct2);
contacts.Add(ct3);
  
return contacts.AsQueryable<Contact>();
}

On peut maintenant utiliser ce genre de requetes : http://localhost:1003/api/contacts?$orderby=name desc

Lire >>

Calculer la distance entre deux points en .Net avec la formule de Haversine

De Admin dans C#


 5/20/2015

Voici une méthode écrite en c# permettant de calculer la distance entre 2 coordonnées (latitude / longitude). Résulat en kilometres.

Idéal pour la géolocalisation mobile.

(Pour les fans de maths : http://en.wikipedia.org/wiki/Haversine_formula)

///<summary>
/// Get distance between 2 points in kilometers
///</summary>
///<param name="latitudePointA">Latitute point A</param>
///<param name="longitudePointA">Longitute point A</param>
///<param name="latitudePointB">Latitude point B</param>
///<param name="longitudePointB">Longitude point B</param>
///<returns>The distance</returns>
public static double GetDistanceBetween(double latitudePointA, double longitudePointA, double latitudePointB, double longitudePointB)
{
    double dDistance = Double.MinValue;
  
    // Convert coordinates to radians
    double dLatAInRad = latitudePointA * (Math.PI / 180.0);
    double dLongAInRad = longitudePointA * (Math.PI / 180.0);
    double dLatBInRad = latitudePointB * (Math.PI / 180.0);
    double dLongBInRad = longitudePointB * (Math.PI / 180.0);
  
    double dLongitude = dLongBInRad - dLongAInRad;
    double dLatitude = dLatBInRad - dLatAInRad;
  
    // Intermediate result a.
    double a = Math.Pow(Math.Sin(dLatitude / 2.0), 2.0) +
               
...

Lire >>