MICROsouffle

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.

26 Février 2016 , Rédigé par Antoine SEJALON Publié dans #Asp.net, #ajax

Bonjour, si vous voulez récupérer des valeurs dans une vue .cshtm et les envoyer à un controller, vous pouvez les envoyer via une requête Ajax. Vous allez ainsi pouvoir traiter une requête sans changer ni recharger la page.

Nous allons utiliser une fonction JsonResult dans notre controller et retourner via un Json une réponse à notre vue.

Code controller :

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.

Code script de la vue :

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.

Pour passer un model en data, découpez encore plus la syntaxe. Par exemple si vous voulez une premiere valeur en model User user(nom, prenom, age) et un int id :

Data : { user : { nom : valNom, prenom : valPrenom, age : valAge }, id : valId }

 

Bon code.

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.
Lire la suite

MUG Lyon : Docker: briques légos pour infrastructures : 25/02/2016

23 Février 2016 , Rédigé par Antoine SEJALON Publié dans #mug lyon, #Communauté, #Lyon

MUG Lyon : Docker: briques légos pour infrastructures : 25/02/2016

Le mug Lyon organise une session Docker ce jeudi 25 Février (19:00 - 21:00) : N'hésitez pas à vous inscrire : http://www.meetup.com/fr-FR/MUGLyon/events/228501689/

ARTICLE :

Le MUG Lyon organise une session "Docker: briques légos pour infrastructures" animée par Haikel Guemar, suivie d'un afterwork; ces événements sont gratuits et ouverts à tou(te)s.

--

Description

Lors de cette session, nous découvrirons Docker et son écosystème.
Comment celui-ci entraine un changement de paradigme dans la gestion
d'infrastructure et facilite
la mise en place de processus de Continuous Delivery.
Mais également, l'avenir de Docker sur plateforme Microsoft avec le
support sous Azure et l'arrivée des conteneurs natifs dans Docker
(Windows & HyperV)


Merci à Docker, Inc de nous envoyer des T-shirts Docker pour cette occasion !

--

Événement suivi d'un apéro sur place, puis vers 21h, d'un after au Ninkasi. Attention pour l'after, les consommations sont à votre charge. (Inscription obligatoire)

Retrouvez nos événements et suivez l'actualité du MUG Lyon sur notre site https://muglyon.github.io/ ou contactez-nous sur [masked].

En espérant vous voir nombreu(ses)x.

Merci à Viseo et Open, nos sponsors annuels qui financent le MUG-Lyon. Merci à Sciences-U qui héberge cet événement.

L'équipe du MUG Lyon

Lire la suite

Ajouter un document joint à un formulaire ASP.net MVC en AJAX

19 Février 2016 , Rédigé par Antoine SEJALON

Bonjour,

Aujourd’hui nous allons voir comment créer un formulaire avec pièce jointe, le tout avec un beginform Ajax sur un site ASP.net MVC codé en C#.

La création d’un formulaire Ajax.beginform ne pose en général pas de soucis du moment que l’on ne veut pas envoyer une pièce jointe. Dans notre cas nous allons contourner quelques peu le fonctionnement du formulaire avec Ajax et utiliser un script.

Dans un premier temps, assurez-vous d’avoir les références nécessaires pour ’utiliser javascript et Ajax.

Je vais considérer que vous avez un site ASP.net MVC avec une page « Contact ».

Créez une class « ContactModel » dans le dossier model :

namespace MonProjet

{

   public class ContactModel

   {

      public string Nom { get; set; }

 

      public string Prenom { get; set; }

 

      public string Sujet { get; set; }

 

      public string Corp { get; set; }

 

     public HttpPostedFileBase Attachment { get; set; }

   }

}

Cette classe va nous permettre de récupérer les données via notre formulaire.

Dans votre page Contact ajoutez un using du model puis un using de la localisation du model :

@using MonProjet.Models

@Model ContactModel

Ajoutez ensuite votre formulaire de façon classique :

@using (Ajax.BeginForm("SaveContact", "Home", new { id = "MonFormulaire" }, new AjaxOptions()

    {

             HttpMethod = "POST"

    },

       new { enctype = "multipart/form-data" }

       ))

    {

       <fieldset class="formulaire">

 

             <div class="form-group">

                    <div class="input-group">

                           @Html.TextBoxFor(x => x.Nom, "", new { @class = "form-control", @placeholder = "Nom" })

                           </div>

                    </div>

 

             <div class="form-group">

                    <div class="input-group">

                                  @Html.TextBoxFor(x => x.Prenom, "", new { @class = "form-control", @placeholder = "Prénom" })

                    </div>

             </div>

 

             <div class="form-group">

                    <div class="input-group">

                                  @Html.TextBoxFor(x => x.Sujet, "", new { @class = "form-control", @placeholder = "Sujet" })

                    </div>

             </div>

 

             <div class="form-group">

                    <h4 class="blanc">Ma demande</h4>

                    @Html.TextAreaFor(x => x.Corp, new { @class = "form-control", @cols = 60, @rows = 10 })

             </div>

 

             <div class="form-group">

                    <h4>Mon CV</h4>

                    <input type="file" name="attachment" id="attachment" />

             </div>

            

             <input type="submit" value="Envoyer" class="btn btn-default" />

 

       </fieldset>

}

 

A la suite Ajoutez le script suivant : Ce script permet de courcicuiter l’envoi du formulaire et de faire un envoi par lui-même (avec la pièce jointe). Sans la ligne event.stopImmediatePropagation, vous auriez plusieurs envois en même temps.

Merci à Demian Flavius (stackOverflow) pour le script de base sur lequel je me suis basé.

<script type="text/javascript">

   $(function() {

     $("#MonFormulaire ").submit(function(event) {

         var dataString;

         event.preventDefault();

         event.stopImmediatePropagation(); //Permet de stopper l’action du formulaire et donc de ne pas lancer deux requêtes sur le controller.

         var monUrl = $("#MonFormulaire").attr("action");

         if ($("#MonFormulaire ").attr("enctype") == "multipart/form-data") {

             dataString = new FormData($("#MonFormulaire ").get(0));

             contentType = false;

             processData = false;

         }

         $.ajax({

             type: "POST",

             url: monUrl,

             data: dataString,

             dataType: "json",

             contentType: contentType,

             processData: processData,

             success: function (args) {

                 alert("Ok");

             },

             error: function(jqXHR, textStatus, errorThrown) {

                 alert("Erreur");

             }

         });

       });

    });

</script>

Nous allons ensuite gérer le controller. Dans le controller qui gère votre page « Contact », nous allons codé « SaveContact » que sera la fonction qui récupère le formulaire (voir dans les paramètres du ajax.beginform).

public JsonResult SaveContact(ContactModel model)

{

   Bool pJ ;

   If(model.Attachment != null){

     pJ = true ;

   }else{

     pJ = false ;

}

   return Json("Nom = {0} – Prénom = {1} – Sujet = {2} – piece jointe ? {3}", model.Nom, model.Prenom, model.Sujet, pJ.toString());

}

A vous d’effectuer les action qu’il vous faut avec le model reçu (envoi de mail, sauvegarde en base de données, …).

Lors de l’envoi du formulaire vous aurez en retour une pop-up qui vous indiquera les informations envoyées. Mettez un point d’arrêt en début de fonction SaveContact et regarder si la pièce jointe est bien dans le model.

En espèrent avoir apporté des piste de réflexion ou une solution à votre problème.

Ajouter un document joint à un formulaire ASP.net MVC en AJAX
Lire la suite

C# : transformer une date format string en DateTime

18 Février 2016 , Rédigé par Antoine SEJALON

Bonjour, je vais vous expliquer comment transformer une date au format string en DateTime.

Imaginons que vous receviez un Json qui comporte des données et une date de relevé de ces données, vous voulez récupérer la date et la transformer en DateTime.

Date récupérée :

string myDate = "16/02/2016 14:57:23 AM";

Transformation :

Nous allons utiliser la fonction ParseExact(string dateStr, string formatDate, CultureInfo).

Concrètement :

date = DateTime.ParseExact(myDate, "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture) ;

Note : à vous de modifier le format de la date pour l’adapter à le type de date que vous voulez modifier.

Si vous voulez modifier la date au format DateTime, vous pouvez utiliser par exemple .AddHours(1), .AddMinutes(4).

Merci et bon code.

Lire la suite

Connaitre la taille d’une base de données

16 Février 2016 , Rédigé par Antoine SEJALON Publié dans #sql server

Pour connaitre l’espace utilisé par une base de données, il faut utiliser une requête dans sql management studio. La commande à utiliser est « sp_spaceused ». Si l’on veux rentrer dans le détail de la fonction, elle se présente comme l’exemple ci-dessous :


sp_spaceused  [[@obet1 =] 'objet1'] <br/>

[,[@objet2 =] 'objet2']<br/>

 

Objet1 est le nom de la table et objet2 est un varchar qui vaut « true » ou « false ». S’il est à true, sql server recalcule la taille des pages de données.

 

Dans notre cas, nous ne préciserons pas objet1 et objet2 pour calculer la base de données entière.

 

USE MA_BDD

GO

EXEC sp_spaceused

GO

 

Connaitre la taille d’une base de données
Lire la suite

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)

12 Février 2016 , Rédigé par Antoine SEJALON Publié dans #azure, #sql server

Bonjour, je vais vous détailler la marche à suivre pour changer le mot de passe de votre compte administrateur SQL Server database dans le nouveau portail azure.

1. connectez vous à votre portail azure (logique).

2. Ouvrez le menu "toutes les ressources" (1*) puis sélectionnez votre base de données (2*).

voir ci dessous.

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)

3. ​Cliquez ​sur le nom du serveur.

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)

4. Un nouvel onglet Serveur s’ouvre. Dans les options en haut vous trouverez "Réinitialiser le mot de passe".

 

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)
5. suivez les instructions et changer votre mot de passe.
 
 
 
Antoine SEJALON
Lire la suite

Modifier la master page de SharePoint via SharePoint Designer 2013

4 Février 2016 , Rédigé par Antoine SEJALON Publié dans #SharePoint, #tuto

Modifier la master page de SharePoint via SharePoint Designer 2013

Bonjour,

Aujourd'hui je vais vous expliquer la marche à suivre pour modifier la master page de SharePoint en passant par SharePoint Designer 2013.

Vous devez avoir :

- Un SharePoint avec des droits de modification.

- SharePoint Designer installé.

Pour commencer, ouvrez SP Designer. Vous devriez tomber sur la page d'accueil.

Modifier la master page de SharePoint via SharePoint Designer 2013

Cliquez sur la vignette "Ouvrir le site". Vous allez alors avoir accès à une fenêtre d'explorateur Windows qui va vous permettre de choisir votre site SP.

Modifier la master page de SharePoint via SharePoint Designer 2013

Un login / mdp vous sera surement demandé. Entrez les et SP Designer s'ouvre sur le site sélectionné.

Dans la barre de gauche, vous allez trouver toutes les catégories qui vont vous servir à modifier de nombreux paramètres.

Ici, nous allons nous intéresser au menu "Page maître". Cliquez dessus.

Modifier la master page de SharePoint via SharePoint Designer 2013

Pour ajouter une page maître, cliquez sur le type de page maitre voulu dans la barre de menu.

Modifier la master page de SharePoint via SharePoint Designer 2013

Votre page maitre apparait dans la liste des pages maîtres.

Modifier la master page de SharePoint via SharePoint Designer 2013

Il ne vous reste plus qu'à cliquer sur son nom pour entrer dans la vue de parametre de la page et de cliquer sur "Modifier le fichier".

Modifier la master page de SharePoint via SharePoint Designer 2013

Conclusion :

Grâce à la modification de la page maître existante ou à la création d'une nouvelle page maître, vous pourrez personnaliser à souhait votre site SP.

Dans l'onglet "Tous les dossiers" (en dessous de "Pages maîtres) vous pourrez y stocker les fichier CSS et JS qui vous permettront de customiser encore plus votre site SP.

Merci de votre lecture.

AS

Lire la suite

Mise en place d'une authentification via SSO

3 Février 2016 , Rédigé par Antoine SEJALON Publié dans #Asp.net, #Authentification

Mise en place d'une authentification via SSO

Si vous souhaitez mettre en place un système d'authentification par SSO (Single Sign-On) pour protéger votre site Asp.net mvc, je vous recommande cet excellent tuto proposé par Mikesdotnetting : http://www.mikesdotnetting.com/article/216/windows-authentication-with-asp-net-web-pages

Lire la suite

M.U.G. Lyon

2 Février 2016 , Rédigé par Antoine SEJALON Publié dans #Communauté, #Lyon, #mug lyon

M.U.G. Lyon

Pour ceux et celles qui sont sur Lyon, si vous voulez assister à des conférences sur les technologies Microsoft, je vous invite à aller faire un tour sur :

https://muglyon.github.io/

MUG Lyon est une communauté de passionnés de techno Microsoft très active et visiblement très sympathique.

Lire la suite

Et c'est ainsi que tout commença...

2 Février 2016 , Rédigé par Antoine SEJALON Publié dans #Présentation

Et c'est ainsi que tout commença...

Bonjour et bienvenue dans mon univers Microsoft. Développeur Asp.net C#, je vais vous faire partager mon plaisir pour le développement informatique (.net mvc, web, IoT, ...) et de façon plus générale le monde de l'IT. Étant développeur junior je monterai en puissance au niveau technique avec l'évolution de mes compétences.

En vous souhaitant une bonne lecture.

ps : n'hésitez pas à me donner vos avis et/ou suggestions =)

 

 

Et c'est ainsi que tout commença...
Lire la suite