mercredi 3 juin 2015
Intentional programming
Hey ! toi qui est développeur, programmes-tu par intention ? si ce n'est pas le cas, lit cet article, ça pourrait peut-être t'intéresser...
jeudi 7 mai 2015
Aperçu de Visual Studio Code
A l’occasion de cette Build 2015, Microsoft présente plein de nouveautés pour les développeurs. J’en ai donc profité pour tester la preview de “Visual Studio Code” (ou VSCode), une version light de “Visual Studio” orienté Web.
mercredi 22 avril 2015
vendredi 10 avril 2015
Un site web ASP.NET MVC 5 de A à Z - Projet et cahier de charges
<== Article précédent : Comment faire un site asp.net MVC 5 de qualité
A très vite !
Chose promise lors de mon dernier article, je commence donc ma série d'articles consacrée au développement d'une application web ASP.NET MVC 5 de qualité (je sais c'est prétentieux :) mais vous allez voir ça va être sympa !).
Le projet
Etant donnée que je n'ai pas de sujet en particulier, j'ai donc penser à faire quelque chose de classique. Au fur et à mesure de mon avancement j'enrichirai le projet avec des idées nouvelles selon mon humeur, ou si vous m'en proposez (et oui, je suis joueur).
Le cahier des charges
Voici mon idée : je vais imaginer Monsieur X comme étant le commanditaire de ce projet.
Monsieur X vient me voir et me dit : je veux monter une affaire (un business quoi !) et j'aimerai pour cela une application Web qui proposera mes services. Je vais également faire du commerce et vendre des produits sur ce site. Je ne sais pas trop par quelle activité je vais commencer mais je suis sûr que je ferai les 2 (sous entendus offre de services et ventes de produits). Par contre j'aimerai tout gérer directement sur le site, c'est à dire ajouter, modifier et supprimer moi même les articles et services que je propose, ainsi que la gestion des commandes, etc. J'aimerai aussi avoir une page de statistique avec des graphes pour suivre l'évolution de mes activités.J'aimerai pouvoir également renseigner mes clients directement, suivre leurs commandes, etc
Monsieur X n'a pas beaucoup de temps car il démarre à peine ses activités et il est très pris. Par contre il serait très content si le développement de son application avançait rapidement. Aussi, il reste très disponible au téléphone, donc je peux l’appeler quand je veux.
J'explique à Monsieur X qu'il est vrai qu'on est en 2015 et qu'on a pas besoin d'un roman pour démarrer les développements mais que son expression de besoins reste assez incomplète. Je lui propose donc que l'on travaille en "Agile", afin qu'il puisse me faire des retours au fur et à mesure de l'avancement des développements. Je le contacterai donc très fréquemment (tous les jours), afin qu'il me donne des informations sur des éléments qui ne me sont pas clair pour avancer.
Attention, j'ai bien expliqué à Monsieur X que s'il ne se rendait pas disponible pour répondre à mes questions, moi j'arrêterai de travailler : bon je lui ai dis ça de façon diplomatique bien-sur, c'est quand même lui le client (lol)).
On attaque par quoi ?
Heu... je sais pas ? y'a une réponse type ? je ne crois pas. Moi je dirai qu'il faut commencer par bien comprendre le besoin, même si de nature le besoin est très changeant (surtout de nos jours). Cependant, avoir une compréhension globale du besoin est indispensable. C'est comme faire un fonction mathématiques sans domaine de définition...
Comment aborder le sujet ?
Moi pour bien comprendre, j'aime bien prendre le hauteur (ou du recul si vous préférez). Pour cela, j'utilise des schémas.
Nous allons donc faire quelques diagrammes UML pour représenter e façon macro ce qu'il y a à faire concrètement.
A très vite !
Article suivant : Modélisation UML (à venir) ==>
mercredi 1 avril 2015
Comment faire un site web ASP.NET MVC 5 de qualité ?
Si vous voulez savoir la réponse à cette question, merci de laisser un commentaire sur ce billet. A partir de 5 réponses je démarrerai un série d'articles concernant la conception de A à Z d'un site Web exemple en ASP.NET MVC 5 avec Visual Studio 2013.
Voici ce qu'il y aura au menu (grosse maille ):
- de l'architecture
- de la modélisation Uml,
- de l'organisation de code
- de la qualité (sécurité, maintenabilité, évolutivité, robustesse)
- de la performance (rapidité)
- du responsive
- du javascript
- de la Poo
- du Sql server
- du Dapper
- du jquery, bootstrap, ajax...
- du test u
- le code partagé sur github
- etc...
Avec l'arrivé prochaine d'ASP.NET 5 alias vNext, il serait intéressant de revoir nos bases sur l'actuel version d'ASP.NET MVC. Aussi le retour de chacun ne serait que bénéfique afin de comparer nos différentes approches, de comprendre certains choix techniques et d'en tirer l'essence.
Alors ? qui est intéressé ? vous pouvez même proposer un sujet d'étude pour ce site d'exemple ! proposer de voir une implémentation de votre choix !
Et non ce n'est pas un poisson d'Avril :) ! plus de 10 articles prévus au programme.
J'attends vos retours pour démarrer !!!!!!!!!!!!!!!!!!!
Voici ce qu'il y aura au menu (grosse maille ):
- de l'architecture
- de la modélisation Uml,
- de l'organisation de code
- de la qualité (sécurité, maintenabilité, évolutivité, robustesse)
- de la performance (rapidité)
- du responsive
- du javascript
- de la Poo
- du Sql server
- du Dapper
- du jquery, bootstrap, ajax...
- du test u
- le code partagé sur github
- etc...
Avec l'arrivé prochaine d'ASP.NET 5 alias vNext, il serait intéressant de revoir nos bases sur l'actuel version d'ASP.NET MVC. Aussi le retour de chacun ne serait que bénéfique afin de comparer nos différentes approches, de comprendre certains choix techniques et d'en tirer l'essence.
Alors ? qui est intéressé ? vous pouvez même proposer un sujet d'étude pour ce site d'exemple ! proposer de voir une implémentation de votre choix !
Et non ce n'est pas un poisson d'Avril :) ! plus de 10 articles prévus au programme.
J'attends vos retours pour démarrer !!!!!!!!!!!!!!!!!!!
vendredi 27 mars 2015
ASP.NET 5 - vNext
ça arrive bientôt, on a hâte !!
En attendant voici un premier aperçu (cliquer sur l'image) :
En attendant voici un premier aperçu (cliquer sur l'image) :
dimanche 1 mars 2015
Passer des données à une vue partielle via le ViewDataDictionary en ASP.NET MVC 4
Le ViewDataDictionary est un conteneur permettant de faire passer des données entre un "controller" et une "view".
Lorsqu'on observe les différentes signatures du Helper "Partial", on voit qu'on peut entre autre lui passé en paramètre un model, mais également un ViewDataDictionary et c'est ce qui nous intéresse ici :
Exemple d'utilisation
Voici un scénario simple d'utilisation que j'ai choisi pour illustrer l'utilisation du ViewDataDictionary :
- J'ai un site web avec 3 pages accessibles via 3 onglets visibles sur les 3 pages.
- Je souhaite mettre en surbrillance l'onglet courant sur laquelle je suis.
- J'ai une vue pour chaque page, et dans chacune d'elle je référence ma vue partielle contenant mes onglets comme le montre la figure ci-dessous :
L'idée est donc de passer à ma vue partielle un identifiant unique indiquant l'onglet courant afin que ma vue partiel mette en évidence l'onglet de ma page consulté. Nous allons donc utilisé le ViewDataDictionary pour le faire.
Dans notre vue correspondant à l'onglet 1, nous auront une ligne permettant l'injection de notre vue partielle avec en paramètre un "ViewData" simple (clé : onglet, valeur : 1) spécifiant le numéro de l'onglet courant en valeur :
@Html.Partial("_PartialMenuOnglet", new ViewDataDictionary {{ "onglet", "1"}})
Nous aurons donc a répéter simplement cette ligne dans chacune de nos vue avec le numéro de l'onglet correspondant voulu.
Dans notre vue partielle nous auront donc accès à notre ViewDataDictionary sur lequel nous pourrons vérifier la valeur de "l'onglet courant" et ainsi adapter nos onglets en conséquence :
@if (ViewData["onglet"] == "1")
{
<input type="button" value="Onglet1" class="ongletActif" />
}
else
{
<input type="button" value="Onglet1" class="ongletInactif" />
}
<br />
@if (ViewData["onglet"] == "2")
{
<input type="button" value="Onglet2" class="ongletActif" />
}
else
{
<input type="button" value="Onglet2" class="ongletInactif" />
}
<br />
@if (ViewData["onglet"] == "3")
{
<input type="button" value="Onglet3" class="ongletActif" />
}
else
{
<input type="button" value="Onglet3" class="ongletInactif" />
}
Dans le code ci dessous, on applique une classe CSS adapté donnée (ongletActif) à l'onglet actif et une autre (ongletInactif) correspondant aux onglets inactifs.
Conclusion
L'exemple ci-dessous est assez simple et est juste à titre illustratif mais nous laisse présager une panoplie d'utilisations possibles du ViewDataDictionary en fonction des besoins, dans l'objectif de transmettre aisément des données au travers des vues MVC.
Inscription à :
Articles (Atom)




