Simplifiez vos vues avec KnockoutJS

Pour beaucoup d'entre nous, la réalisation de sites Web n'est pas très complexe à mettre en oeuvre. L'utilisation classique de MVC rend l'industrialisation de sites Web plus facile. Cependant, nombre d'entre nous se confronte à leur pire ennemi : Le JavaScript. En réalité, personne ne peut y échapper, ne serait-ce que pour la manipulation des éléments du DOM. De plus, aujourd’hui, de nombreux Frameworks JS existent pour faciliter la prise en main et le développement de pages web. KnockoutJs (KO) fait partie de ces Frameworks.

Implémenter une authentification par formulaire avec OWIN et ASP.Net MVC 5

Depuis un moment déjà Microsoft porte ses efforts sur la modularité, la portabilité et la performance de la plateforme ASP.Net. C'est dans ce contexte qu'a été créé le standard OWIN. Le framework ASP.Net MVC 5 implémente ce standard pour ses fonctionnalités de sécurité. L'authentification par formulaire, très populaire sur la plateforme ne fait pas exception.

Gestion des contenus : Java Content Repository (JCR 2.0) & Spring (Part 1)

La gestion de contenus ( formulaires, documentation, procédures) est généralement désigné par le terme GED (Gestion électronique de documents) comme synonyme d'ECM (Enterprise Content Management).

JCR 2.0 est la dernière version de l'API d'entrepôt documentaire standard appelée aussi JSR 283 (anciennement appelée JSR 170).

jackrabbit est l'implémentation open source de référence utilisée par de nombreux projets (Par ex. Alfresco). La version 2.9.0, release sortie en aout 2014, est utilisée dans la démo ci-après.

La solution Jackrabbit de la fondationapacheFondation est lancée, en 2005, par l'ancienne équipe technique d'ECM Documentum (la solution propriétaire riche dans ce domaine).

La figure ci-dessous résume l'architecture de Jackrabbit répartie essentiellement en trois couches :

jcr_jackrabbit_overview

 

Dans ce billet, nous avons préféré éviter les détails de l'API JCR pour aborder le cœur du sujet, c'est à dire, montrer comment afficher/créer un nœud. En d'autres termes illustrer les opérations CRUD par la pratique.

Nombreux sont les articles qui expliquent comment configurer JCR avec spring-modules mais très peu abordent JCR 2.0 sans spring-module ni spring-extensions. C'est bien ce qu'on va réaliser.

AngularJS : le "petit" framework JavaScript (encore un?!) qui monte , qui monte!

Introduction

AngularJS , qu'est ce que c'est ?

AngularJS est un framework JavaScript, créé en octobre 2010 par des développeurs de chez Google et sous la licence MIT.
Il propose une architecture basée sur le pattern MVC (Model View Controller) pour des SPA (Single Page Application), autrement dit des applications web où la navigation se fait sur une même et unique page (exemple : Gmail, Dropbox, iCloud, etc.).

L’évolution des frameworks MVC…

Introduction

Avec  l’évolution des technologies et l’apparition des mobiles et tablettes, les frameworks implémentant le pattern MVC ont également évolués en fonction de ces  technologies.

Le Modèle-Vue-Contrôleur (en abrégé MVC, de l’anglais Model-View-Controller)  est une architecture et un patron de conception qui organise  l’interface homme-machine (IHM) d’une application logicielle.

Choisir un framework web …

Aujourd'hui, un nombre important de frameworks web sont disponibles sur le marché et il n'est pas toujours évident de les différencier. Pour bien choisir, il y a quelques critères à prendre en compte qui vous permettront d'ores et déjà de faire une présélection.

Cependant, ce sera à vous de prendre un peu de temps pour tester ces frameworks et voir celui qui répond le mieux à vos besoins. D'autant plus qu'il n'y a pas de framework idéal, à chacun vous  trouverez ses avantages et inconvénients.

Retour d’expérience Swing

J’ai travaillé sur un projet dans le domaine de la Sécurité en tant que concepteur et développeur, et j’ai réalisé la conception et le développement d’une application de gestionnaire de configuration de téléphones portables de type Android.

Cette application permet de générer un fichier XML que l’on installe sur une carte SD. Une fois la carte insérée dans un téléphone portable, ce dernier s’auto-configure après le démarrage et la lecture du fichier XML.

TechEvening à Lyon sur la sécurité des applications Web

Ce lundi s'est déroulé à Lyon un TechEvening consacré à la sécurité des applications Web. Nous avons testé les différentes techniques et outils utilisés par les utilisateurs malveillants. Deux applications ont été utilisées, l'une en J2EE pour la plupart des techniques (WebGoat 5.3 de la fondation OWASP) et l'autre en ASP.NET MVC 3 pour un focus sur les perfides attaques CSRF.

Au programme:

  • Injection: diverses techniques d'injection SQL;
  • Cross-Site Scripting (XSS): techniques de phishing et de "session hijacking";
  • Violation de gestion d'authentification et de session: technique de "session fixation";
  • Références directes non sécurisées: techniques d'"AC Bypass" aux niveaux données et métier;
  • Cross-Site Request Forgery (CSRF): technique du "Token Bypass";
  • Mauvaise configuration de sécurité: technique de "Malicious File Execution";
  • Stockage cryptographique non sécurisé: sensibilisation au "hashing" et "salting";
  • Manque de restriction URL: technique du "forced browsing";
  • Protection insuffisante de la couche transport: "sniffing", "ARP spoofing" et "ARP poisoning"
  • Redirections et renvois non validés: techniques du "HTTP splitting" et du "cache poisoning"

Nous avons utilisé les outils suivants:

  • Firefox
  • Fiddler
  • Firebug
  • TamperData
  • WireShark

Vous pouvez retrouver ci-après tous les supports:

  • L'application WebGoat 5.3;
  • L'application CSRFDemo ASP.NET MVC 3;
  • Les slides (PPTX ou PDF) de présentation;
  • Quelques fichiers utilisés pour les attaques;

Pour ceux qui s’intéressent plus globalement à la sécurité des applications .NET (pas qu'en Web), je vous invite à lire l'article suivant sur l'altération des assemblages, l'injection de code et la suppression des signatures cryptographiques. Une vidéo est également disponible.

Architecture DDDD N-Layered (Distributed Domain Driven Design) et .NET

Régulièrement, l'équipe des architectes Microsoft met à jour un excellent document d'architecture pour les très gros projets. Cet article a pour but de présenter en synthèse cette architecture, particulièrement bien découpée.

Besoins en architecture

Il existe une grosse demande pour faire correspondre les patterns d’architectures avec les toutes dernières technologies Microsoft.
Il est nécessaire de bénéficier d’architectures d’entreprise préétablies pour avoir une démarche unifiée de construction des applications.

Les frameworks techniques

Les briques technologiques offertes par Microsoft (ou le monde du .NET) sont extrêmement nombreuses: Framework .NET, Silverlight, WPF, WCF, WF, ASP.NET MVC, Windows Identity Foundation, Entity Framework, Azure, SQL Server, Unity, …
Comment distribuer tous ces frameworks sur une architecture d’entreprise ?

Introduction à Spring MVC

Dans la guerre furieuse des frameworks MVC il y en a un qui se démarque par sa simplicité, sa facilité de prise en main et sa parfaite intégration à Spring : Spring MVC.

Certes Spring MVC n'est pas un framework événementiel comme pourraient l'être jsf, wicket, tapestry ou struts 2. Mais il possède de nombreux points d'extensions et utilisé avec Spring Web Flow il devient un framework très puissant.

Je vous propose ici une introduction des plus simples qui va consister à afficher une page Hello Spring MVC avec le framework Spring MVC.

Puis nous enrichirons progressivement notre application exemple avec de nouveaux tutoriels pour aboutir à l'utilisation de Spring Web Flow avec la gestion d'une transaction longue Hibernate.