Nouvelle Année, Nouveau Look et Meilleurs Vœux!

2014-01-06 18_03_42-MEILLEURS VOEUX DE JOIE BONHEUR AMOUR SANTE A TOUTES ET A TOUS _ Décorations mur

Pour ceux qui visitent ce site régulièrement, il peut sembler que rien ne s’est passé depuis déjà quelque temps. C’est sans doute vrai pour la “vitrine”, mais dans l’arrière boutique ça à bossé dur pendant ce temps. Certains de ces projets n’ont rien à voir avec ce blog, mais d’autres y sont intimement liés, et vous en verrez les résultats au fil de cette nouvelle année. Dans l’immédiat vous constaterez que le style est devenu “Modern”, dans la lignée des outils avec lesquels nous travaillons tous les jours, mais aussi plus “Mobile”, ce style étant normalement adapté aux smart phones et tablettes, vous permettant maintenant de consulter et lire le site où que vous soyez.

 L’année 2013 a vue la naissance de ce site et la montée régulière du nombre de ses lecteurs, j’espère que 2014 sera une bien meilleure année, pour ce site, pour vous et pour moi!

Merci de votre intérêt, de votre confiance et de votre soutient.

A très bientôt,

Bernard.

Publié dans ASP.NET MVC 4.0, Mobile, Web

Introduction à MVC et changement d’objectif – MVC 4 Web Application Tutoriel – Deuxième Partie – Etape 1 –

Dans cette introduction à MVC, nous allons examiner ce qu’est ce fameux “pattern”, mais tout d’abord quelques explications sur ce changement d’objectif.  Lors du lancement de ce tutorial, je n’avais qu’une très vague idée sur le genre d’application que je souhaitais réaliser. L’idée du “Challenge Personnel” me semblait intéressante, mais après réflexion ne me semble pas vraiment utile. J’ai décidé de partir sur une idée qui me semble beaucoup plus générique, pouvant être utile potentiellement a des milliers de personnes, et qui, d’après mes recherches, n’a pas véritablement d’équivalent aujourd’hui.

Je ne veux pas dévoiler tout de suite de quoi il s’agit, cela sera fait lors du démarrage effectif du projet et de la conception de la base de données. Aujourd’hui je peux simplement dire qu’il s’agira bien d’une application réelle, originale, gratuite bien sûr, utilisant une base de données, les technologies récentes avec HML 5, CCS 3, JQuery, etc. Le but final étant bien de réaliser une application Web, déployée et accessible par tout internaute, en espérant avoir mis en place un outil utile et ayant du succès auprès de ses utilisateurs.

Bien sûr les problèmes à résoudre seront directement liés à la mission de cette application particulière, mais en même temps les techniques utilisées devraient être suffisamment génériques pour servir d’exemple dans de nombreuses autres applications ASP.NET MVC.

La méthodologie utilisée s’approchera autant que possibles des méthodes SCRUM, c’est à dire que chaque itération du développement (et donc du tutorial) devra résulter en une fonction utilisable, c’est à dire qu’à la fin de chaque étape nous aurons “quelque chose” qui fonctionne, sans pour autant être nécessairement complètement fini.

Les sources et la totalité du projet seront disponibles pour tout le monde sur Git Hub, il sera ainsi facile de suivre l’évolution et d’y participer.

Cela étant dit, retournons à nos moutons, en l’occurrence MVC…

L’Architecture Modèle – Vue – Contrôleur

L’idée principale derrière MVC est de faciliter l’isolation des différentes partie de l’interface utilisateur de l’application, terme connu en anglais sous le sigle “SoC”, pour “Separation of Concerns”. Il s’agit de faire en sorte que les différents composants soient aussi indépendants que possible les uns des autres, ce qui a de nombreux avantages:

  • Développement: Comme les composants individuels sont conçu de manière à ne pas dépendre directement des autres, il est plus facile de les développer isolement. Cela facilite aussi leur remplacement, ou substitution, en éliminant les complications qui surviennent lorsque la modification d’un composant affecte le fonctionnement des autres
  • Capacité de Tester: De la même manière, la capacité de découpler les composants va faciliter la création de tests. Par exemple, il devient possible de remplacer la requête vers une base de données par une fonction retournant simplement une chaine statique, pour tester une partie de l’application. Cette facilité dans la création de tests est très précieuse au fil du temps, pour vérifier que la modification de certaines parties du système n’en affecte pas d’autres. Nous aurons l’occasion de revenir sur les tests tout au long de ce projet.
  • Maintenance: La encore, l’isolation des composants signifie aussi l’élimination (presque) totale d’effets de bord, et surtout le fait qu’un changement a de très grandes chances de ne nécessiter la modification que d’un seul des composants, éliminant de fait la nécessité d’une cascade de changements pour ajouter une fonctionnalité. Lire la suite ›
Publié dans ASP.NET MVC 4.0, Tutoriel

LAMA et LAMP – ASP.NET MVC 4.0 sur Ubuntu avec Mono

Faire tourner une application web ASP.NET MVC 4.0 sur Linux ? Dans quel but ?

Lamas  Bien sûr, il y a plusieurs réponses possibles a ces questions, aussi je vais vous donner les miennes. Tout d’abord, je suis bien plus familier avec C# que je ne les suis avec PHP, même si j’ai écrit quelques applications avec, et plus particulièrement en MVC avec le Framework “Cake”. Le pattern MVC est pour moi la manière la plus logique d’aborder une application Web, d’en faciliter les extensions et maintenances futures, et l’implémentation ASP.NET de ce pattern est pour moi simple et logique. Seulement, a priori, .Net et C# requièrent Windows comme OS. La difficulté est que la plupart des applications web que j’écris sont destinées à être hébergées sur des serveurs virtuels externes. Les hébergeurs savent offrir des solutions Linux très flexibles, évolutives et bon marché, ce qui n’est pas le cas avec Windows, où les solutions sont souvent plus chères, et où l’on ne peut pas toujours installer ce dont on peut avoir besoin. De plus, pour mon cas personnel, il me semble logique d’éviter de multiplier les serveurs, or mon blog utilise WordPress sur un serveur Ubuntu, et j’aimerais bien (nombre de mes clients aussi) pouvoir héberger sur le même serveur certaines applications ASP.NET MVC 4.0. C’est possible, grâce à Mono, qui progresse à pas de géant et est maintenant compatible avec MVC 4.0 et Entity Framework 6.0, nous allons voir comment.

Pour commencer, je vais partir du fait que vous avez accès à un serveur Ubuntu 12.04 LTS, disponible ici: http://www.ubuntu.com/download/server , et d’une console PuTTY pour le gérer. Si vous n’avez pas d’hôte distant, vous pouvez créer une machine virtuelle très facilement avec Windows 8 et Hyper-V. D’ailleurs, même si vous avez un serveur distant, il peut être judicieux de créer une machine virtuelle locale pour expérimenter.

Voyons donc comment construire notre pile LAMA en remplacement/association avec LAMP. LAMP étant l’acronyme de Linux, Apache, MySql, PHP, et LAMA étant l’acronyme de Linux, Apache, MySQl, ASP.NET

Préparation

Les distributions d’Ubuntu ont déjà Mono directement installé, mais le décalage avec l’évolution actuelle de Mono est importante, puisque la version installée par défaut est 2.10.8, compatible MVC 3, alors que la version actuelle est 3.2.3 et est compatible avec .Net 4.5 et MVC 4.0. Puisque nous voulons pouvoir faire fonctionner des applications MVC 4.0, et qu’il n’existe pour l’instant pas de distribution compilée pour Ubuntu, nous allons télécharger, compiler et installer Mono directement depuis le code source. Cela prend un peu de temps et de soin, mais il n’y a rien de bien sorcier si vous suivez pas à pas.

Après avoir pu se connecter avec SSH, la toute première chose à faire est de vérifier que nous sommes à jour des dernières versions sur tout ce qui est déjà installé:

(Si vous utilisez PuTTY, sélectionnez le texte des commandes dans l’article et copiez-le dans le presse-papier par CTRL-C, positionnez le curseur de la souris dans PuTTY et faites un clic droit, le texte sera inséré à la position du curseur.)

Ensuite, nous installons les outils minimum nécessaires à la compilation:

Il est utile de créer, depuis notre répertoire home, un répertoire contenant les sources que nous allons charger puis compiler:

Lire la suite ›

Publié dans ASP.NET MVC 4.0, Linux

MVC 4 Web Application Tutoriel – Première partie – Etape 3- Créer un site local IIS

Jusqu’à présent nous avons utilisé directement notre fichier HTML avec le navigateur, en le localisant dans nos répertoires. Le but était de montrer qu’un serveur n’est pas nécessaire, le navigateur étant l’interprète, non seulement du langage de tags HTML, mais aussi de CSS, et même la console d’exécution du code JavaScript. Pourtant, ce n’est ni naturel ni pratique. Avant d’aller plus loin, voyons comment  créer un site local IIS (Internet Information Server), le serveur Web de Microsoft qui fait partie de Windows. S’il n’est pas installé, vous pouvez le faire depuis le panneau de configuration, ajouter des fonctionnalités Windows.

Il existe plusieurs manières différentes de créer un site Web local, sur votre machine. Celle que je vais décrire ici est adaptée à ce que nous faisons pour l’instant, c’est à dire créer manuellement des fichiers html et css.

-1- Créer un répertoire virtuel dans IIS

TutorialCreateWebSiteDirectory

Dans la fenêtre principale de IIS Manager, sélectionnez le Site Web par défaut et faites un clic droit de la souris pour accéder au menu contextuel. Sélectionnez “Ajouter un répertoire virtuel”. Donnez lui un nom comme alias, et sélectionnez le répertoire physique dans lequel vos fichiers se trouvent.

-2- Modifier la sécurité du répertoire pour que “l’utilisateur Internet” puisse lire les fichiers et exécuter les scripts.

TutorialCreateWebSiteSecurity

IIS_IUSRS est le nom donné par le système au visiteur Internet. Il est nécessaire de lui donner les droits indiqués sur le répertoire pour qu’il puisse accéder au contenu par l’intermédiaire du serveur.

-3- Renommer le fichier pour qu’il corresponde à un fichier par défaut. Sinon il nous faudrait diminuer la sécurité du serveur pour autoriser la lecture du répertoire.

TutorialCreateWebSiteErrorNoBrowing

Le fichier utilisé dans l’épisodes précédent était nommé quelque chose comme “HTMLPartOneStepTwo.html”.  Ce nom n’étant pas un nom connu par IIS, et comme nous n’avons pas spécifié ce nom dans l’Url, IIS refuse de nous lister le répertoire, même si nous avons autorisé IIS_IUSRS à le faire. En effet, la configuration standard du serveur empêche cette fonctionnalité. Il me semble de loin préférable de conserver cette sécurité. Dans ce cas, pour voir apparaitre notre page “servie” par le serveur, il suffit de la renommer en “Index.html”

-4- Pointer le navigateur sur l’URL locale

TutorialCreateWebSiteErrorPageServerdFromBrowser

Après cette modification du nom du fichier, il suffit de rafraichir la page pour qu’elle apparaisse, exactement identique à ce qu’elle était à la fin de l’étape précédente; La seule différence étant que cette fois nous y accédons grâce au serveur, au lieu d’y accéder par le système de fichiers.

Conclusion de la Première Partie

Maintenant que nous avons vu ce qui se passait coté navigateur, puisque nous nous sommes passé de serveur jusqu’à présent, nous allons pouvoir enfin “attaquer” la partie serveur, et donc MVC. Si vous ne l’avez pas déjà fait, abonnez-vous aux mises à jour par email pour être informé dés la parution de nos nouveaux billets.

Publié dans ASP.NET MVC 4.0

Entity Framework avec Code First et MySql 5.6.14 (dernière version en cours)

Une question posée sur un forum de StackOverflow m’a fait me demander comment faire fonctionner Entity Framework avec Code First et MySql,  Code First plus particulièrement  puisque c’est à priori le moins évident coté .Net, le code devant générer la base de données correctement.

Sans entrer dans les détails de ce qu’est Entity Framework (Si vous lisez ceci, j’imagine que vous l’utilisez déjà), disons simplement que vous pouvez l’utiliser selon 2 scénarios de base:

  • Partir d’une base de données existante et générer les classes de définition des données (Modèles)
  • Ecrire le code de définition des données, et générer les tables à partir de ce code. cette dernière approche, commençant par l’écriture du code, s’appelle (logiquement!) Code First.

Pour tester le fonctionnement d’Entity Framework avec MySql, j’ai créé une petite application console, de manière à éliminer tout ce qui n’est pas absolument nécessaire. Vous pourrez télécharger le projet en fin d’article, mais je vais d’abord décrire quels sont les éléments nécessaires et les principales étapes.

  • Visual Studio 2012, n’importe quelle version. Pas testé avec d’autres versions.
  • MySql. Le mieux est de charger et d’installer MySql Installer, qui comporte le server lui-même, mais aussi WorkBench, outil de gestion du serveur très bien fait, et les connecteurs.
  • Le reste sera installé directement dans l’application avec NuGet.

Lire la suite ›

Publié dans ASP.NET MVC 4.0

MVC 4 Web Application Tutoriel – Première partie – Etape 2- Introduction à Javascript .

On ne peut y échapper, Javascript est partout! Il n’y a guère de pages Internet qui n’y font pas appel. Nous allons donc découvrir rapidement ce qu’est Javascript et montrer quelques exemple illustrant comment s’en servir. De la même manière que pour CSS, apprendre Javascript n’est pas le but de ce tutorial, cette introduction sera plus un survol qu’un approfondissement. Si je réussi à vous mettre le pied à l’étrier, cet article aura atteint son but.

S’il n’y avait qu’un seul concept à retenir de cette rapide introduction à Javascript, il tiendrait dans cette phrase: “Javascript est un langage de script coté client, autrement dit le code est interprété/exécuté par le NAVIGATEUR”.

Aucun besoin de serveur et d’internet, donc, pour pouvoir utiliser une application écrite avec Javascript, en théorie. En pratique, il y a de fortes chances que le code fasse appel à des ressources externes, mais cela ne change rien au fait que le code soit exécuté par le navigateur lorsqu’il charge la page, et que l’exécution stoppe lorsque la page est refermée.

Votre script peut effectuer de nombreuses tâches différentes:

  • Manipuler le DOM (Document Object Model) et ses éléments.
  • Réagir à des évènements, comme un clic sur un bouton, ouverture de page …
  • Lire le contenu de variables globales liées au navigateur.

Nous allons créer un simple script faisant tout cela, étape par étape.

Lire la suite ›

Publié dans ASP.NET MVC 4.0, Tutoriel Tagués avec :

MVC 4 Web Application Tutoriel–Première partie–Etape 1

Voici la première video de ce tutoriel. Il peut être nécessaire de monter le son, enregistré trop bas. Les videos suivantes en tiendront compte, et devraient avoir un bien meilleur son.

MVC Tutorial Part One Step One

Références:

HTML:

http://www.w3schools.com/html/

http://www.html.net/tutorials/html/

http://www.htmlgoodies.com/primers/html/article.php/3478131/If-you-know-nothing-about-HTML-this-is-where-you-start.htm

CSS:

http://www.hscripts.com/tutorials/css/index.php

http://www.subcide.com/articles/creating-a-css-layout-from-scratch/

http://reference.sitepoint.com/css

Il y a beaucoup, beaucoup plus d’articles et de références que l’on peut trouver sur Internet, mais ne soyez pas submergés par tout cela. C’est une bonne chose que de savoir comment ça marche, mais nous verrons plus tard que vous n’avez pas à tout faire manuellement par vous-mêmes.

Abonnement à BGSoftFactory « Le » Blog par Email

Comme dit dans la vidéo, partagez vos remarques en utilisant les commentaires.

Ce travail est licensié sous Creative Commons license.

Ps: Désolé pour les visiteurs de langue française, autant il est relativement facile et raisonnable de maintenir ce blog à la fois en français et en anglais, autant il m’est impossible de dupliquer les videos pour avoir une version française. Je vous prie de m’en excuser, j’espère que les actions à l’écran sont suffisamment claires pour que cela soit compréhensible dans l’ensemble.

Publié dans Tutoriel, Web Tagués avec :

Construire une Application Web avec MVC 4 et Entity Framework Tutoriel – Introduction

Diffrences between http and https thetechhackerNous allons construire ensemble une application web, utilisant le schéma MVC 4 et Entity Framework. Centrée sur les données parce que, comme je viens du monde Clarion, le processus logique pour moi et de commencer par définir la structure de données avant de commencer à définir une interface utilisateur et de commencer à coder. Il n’y a rien de faux à procéder différemment, c’est juste que ça semble « couler » plus naturellement pour moi de cette manière.

De quels outils avez-vous besoin pour suivre ?

Nous allons utiliser les dernière technologies Web existantes aujourd’hui dans le monde Microsoft. Si vous n’avez pas déjà une version de Microsoft Visual Studio, je vous suggère de télécharger Microsoft Visual Studio 2012 pour le Web, où la version équivalente de la prévue 2013. Si vous avez déjà une version Express de Visual Studio, assurez-vous d’avoir la version pour le Web. Les autres versions, Professionnelle, Entreprise et Ultimate, ont toutes les fonctionnalités nécessaires. Lire la suite ›

Publié dans Tutoriel, Web Tagués avec : , , ,

Lettre d’information

Recherche sur le Site

Recherche personnalisée