dimanche 5 mars 2017

Validation d'unicité en création ET modification avec Laravel 5

laravel.png

Laravel est un framework PHP assez sympathique qui permet de réaliser très proprement des applications web. Parmi ses fonctionnalités, on trouve un moteur de validation proposant pleins de règles dont l'unicité d'un attribut d'instance de modèle. Mais s'il fonctionne parfaitement pour la création d'une nouvelle instance de modèle, il provoque une erreur si on veut modifier une instance existante sans modifier l'attribut déclaré comme devant être unique. Voici donc la façon que j'ai trouvée (un peu difficilement d'où ce billet) pour y remédier.

Je précise que je suis loin d'être un expert PHP ou Laravel, donc s'il y a une meilleure façon de faire telle ou telle chose, je suis bien évidemment preneur.

Lire la suite...

dimanche 11 décembre 2016

Regroupement par mois de données avec DBIx::Class

Perl

Supposons que nous ayons une base de données Postgresql, une table activite qui contient, entre autre:

  • jour: une date au format jj/mm/aaaa
  • duree: une durée en heures
  • projet: l'identifiant d'un projet éventuellement nul
  • personne: l'identifiant d'une personne

Cette table permettant de relever l'activité des personnes sur des projets doit être utilisée pour fournir un récapitulatif du total des heures par mois et par personnes depuis un script Perl utilisant DBIx::Class.

Lire la suite...

samedi 13 septembre 2014

Declarative listeners avec Ext JS 5

ExtJS

Ceci est la traduction de l'article de Phil Guerrant publié le 10 septembre 2014.

Introduction

Dans un article précédent, Using ViewControllers in Ext JS 5 (traduit ici), nous avons rapidement évoqué une fonctionnalité qui a été grandement améliorée dans Ext JS 5 — les declarative event listeners. Dans cet article, nous allons creuser le sujet et explorer la façon d'utiliser ces declarative listeners pour simplifier les vues de votre application et réduire le code spaghetti dans vos Components personnalisés.

NOTE: cet article suppose que vous utilisez au minimum Ext JS 5.0.1.

Lire la suite...

Utiliser les ViewControllers avec Ext JS 5

ExtJS

Cet article est une traduction de l'article de Don Griffin publié le 22 mai 2014.

Introduction

Ext JS 5 apporte plusieurs améliorations enthousiasmantes à utiliser pour architecturer votre application. Nous avons ajouté la prise en charge des ViewModels et des MVVM ainsi que celle des ViewControllers pour améliorer les applications MVC. Et le meilleur, c'est que ces apports ne sont pas mutuellement exclusifs si bien que vous pouvez introduire ces fonctionnalités de manière incrémentale voire les ignorer.

Lire la suite...

samedi 6 septembre 2014

Node, Grunt, Bower et Yeoman - Une boîte à outils pour le développeur web moderne

Une introduction pour débutants ambitieux

Cet article a pour objet de présenter certains des outils actuellement les plus populaires pour développer des applications web modernes en JavaScript. Ces outils ne viennent pas de sortir et existent depuis plusieurs années maintenant. Cependant, on trouve de nombreux développeurs qui ne les utilisent pas ou ne les connaissent pas (ce qui pourrait être votre cas). C'est pourquoi cet article va essayer de vous donner une introduction rapide et concise pour vous permettre de démarrer.

NdT: Cet article est la traduction d'un excellent article de Juri Strumpflohner traduit et publié avec son autorisation.

Lire la suite...

jeudi 20 février 2014

Ouvrir le date picker sur un autre mois que le mois courant avec ExtJS 4.1

ExtJS

Quand on clique sur le calendrier d'un champ date vide avec ExtJS, le date picker s'ouvre systématiquement sur le mois et l'année courant. Mais il peut qu'on veuille qu'il en soit différemment, par exemple pour un champ date de fin d'une période dont le début est indiqué dans un autre champ date par exemple ...

Lire la suite...

dimanche 16 février 2014

Mémorisation du mot de passe avec ExtJS

ExtJS ExtJS est un formidable framework JavaScript tout-en-un sous double licence dont la Gnu GPL3 et qui permet notamment de faire du MVC.

Toutefois, il génère lui-même l'interface utilisateur, ce qui le rend plus approprié pour des applications web d'entreprise (interface mimant du client lourd). Mais il faut bien dire que, quelque fois, certaines choses ne sont pas immédiates. Voici par exemple, comment faire en sorte, dans une application ExtJS MVC que le navigateur propose à l'utilisateur de mémoriser le mot de passe associé à l'identifiant saisi, ce qui ne fonctionne pas a priori avec un formulaire ExtJS.

Lire la suite...