Lecteur web de flux RSS


6 novembre 2012

Présentation

Lisant beaucoup d'actualités sur Internet, je me suis intéressé aux flux RSS et ai réalisé un site permettant de constituer ma propre liste de lecture. Ainsi, je me rends sur une page web qui gère tous mes abonnements RSS et me permet de lire de ces sites depuis un endroit unique : plus besoin de s'embêter à ouvrir des tonnes de pages, à subir des pubs, ça diminue la bande passante utilisée et ça tient compte de ce que j'ai déjà lu !

Accès à la démo...

Vous pouvez tester la chose sur un compte démo ou même vous créer un compte si le site vous plaît :)

La technique

La totalité de l'application est réalisée en javascript et PHP : le javascript qui gère la mise en page et les interactions Ajax avec le serveur. C'est le serveur qui télécharge les documents XML, les RSS, depuis les sites externes et qui les analyse avant de les renvoyer à l'application JS.

Tout cela fonctionne bien et m'a fait prendre conscience que je pouvais aller encore plus loin avec une application iOS que je suis en train de faire et une couche serveur qui va pousser encore plus l'analyse. Cette application devrait sortir avant fin mars 2015.

Des 360° enrichis sur toutes les plate-formes


11 octobre 2012

Encore une autre démo assez visuelle : des 360° permettant d'observer un objet sous toutes ses coutures, avec possibilité de zoom HD, accompagnés de documentations, de videos ou de diaporamas le tout fonctionnant sous toutes les plateformes.

Qu'est-ce qu'un 360° ?

Ce que j'appelle ici un 360° est une animation composée d'une série de photographies toutes prises d'un même objet qui tourne sur lui-même. Avec une machine précise pour faire tourner à vitesse fixe l'objet et un appareil photo de bonne qualité, on obtient un très bon rendu. Reste à passer des photos au 360° proprement dit.

L'intégration : code + simplicité

L'assemblage (ou l'intégration) consiste pour le photographe réalisant le travail à constituer un fichier décrivant les photos concernées par l'animation : quelle est la première de la série ? comment s'appelle-t'elle ? etc... Le but était pour moi de fournir un simple lien ou un simple code d'intégration : une IFRAME était l'idéal.

La difficulté du multi-plateforme

Une grosse partie de cette prestation a été de fonctionner sur tout type d'appareils/navigateurs, et croyez bien qu'un iPad et Internet Explorer 8 sont deux bestioles très différentes.

Démo immobilière web & iPad


24 juillet 2012

Ayant été mandaté pour réaliser l'équivalent numérique* d'une plaquette commerciale pour un programme immobilier, j'ai pu intégrer quelques briques logicielles intéressantes au sein d'une application qui se trouve être un "simple" site : des pages classiques, un 360°, un diaporama et un panoramique utilisant des cube map. Le tout utilisant uniquement du JS et du CSS3...

Le point un peu embêtant avec cette démo est qu'il faut attendre le chargement la première fois que l'on la regarde : il y a plus de 20 Mo à télécharger pour voir le panoramique, le 360° et les images... Par contre, si on veut la revoir, les données étant stockées dans le cache de Safari sur iPad, l'accès est immédiat.

Accès à la démo...
* Certains, peu instruits, parleraient de digital. Je préfère ne rien dire...

Evaluation et calcul d'expression


1 août 2011

Il m'est arrivé d'avoir besoin d'évaluer des expressions arithmétiques dans du code Javascript, aussi bien pour une calculatrice toute simple que pour un tableur spécifique pour un client ou encore un moteur de génération de L-Systems paramétriques. J'ai donc décidé d'isoler ce code assez simple et de l'isoler dans un module réutilisable. Pour tester cette fonctionnalité, amusez-vous avec la zone de saisie ci-dessous :

Ce module gère bien sûr les 4 opérations de base, l'opérateur module (%), l'élévation à la puissance (grâce à **) et les parenthèses. De plus, il permet au développeur de se brancher sur l'objet d'évaluation pour être notifié en cas d'utilisation de symboles dans l'expression. Ces symboles peuvent être des variables ou des fonctions avec leurs arguments. Voici un exemple d'utilisation illustrant toutes les fonctionnalités :

var Calculator = new Evaluator({
        variable:function(varName)      {
            return ...;     //Renvoie la valeur de la variable *varName* que le programme gère.
        },
        callback:function(funcName, args)       {
            //Exemples d'utilisation
            if (funcName == "sqrt")     return Math.sqrt(args);
            if (funcName == "sin")      return Math.sin(args);
            if (funcName == "cos")      return Math.cos(args);
        }
    });
    //
    var Result = Calculator.eval("34-75*3+(4*8*2-4+6%5*2)-12*(15%7-3*2)+7").result;

Et oui, c'est rapide et simple à utiliser !

Pour info, le parsing / analyse de l'expression se fait de gauche à droite avec une machine à état, c'est plutôt rapide, mais je ne stocke aucun arbre me permettant d'optimiser les évaluation multiples d'une même expression dont les paramètres changeraient. Le code n'est vraiment pas difficile à modifier pour ajouter cette fonctionnalité.

Pour intégrer ce module dans votre code, il suffit simplement d'inclure le script directement dans votre page, qui pèse 1639 octets avant compression et 864 octets en zippé. �a ne devrait pas alourdir vos pages :)

Simulation d'emprunt


20 juin 2010

Présentation & démonstration

Etant à la recherche d'un bon outil de simulation d'emprunt bancaire et n'en trouvant pas, je me suis dit que le mieux était de faire ce dont j'avais besoin. (Expliquer les paramètres)... Voici donc le résultat (j'explique les calculs après la démo).

Capital à emprunter : Mensualité maximale : Assurance : % Annuités et coûts

Notes de calculs

Quand on parle d'un emprunt à 4%, on exprime le fait que chaque année le client doit payer au prêteur 4% de la somme restant dûe à ce moment là. Ainsi, si on note les intérêts dûs pour l'année n et le capital restant dû au début de l'année n, on a : avec t le taux de l'emprunt, ici 4%, soit 0.04. La somme totale empruntée se notera K, avec .

La plupart des prêts souscrits aujourd'hui se font à "annuités fixes", ce qui se traduit par le fait que l'emprunteur remboursera chaque année (et donc chaque mois) la même somme, ce qui est bien pratique pour se projeter quand on acquiert un bien. Ce qui est également bien pratique quand on est du côté du prêteur, on sait à l'avance ce qu'il va gagner. Qui a dit "sans rien faire" ?

On déduit de ce qui précède que la somme des intérêts payés pour une année et du capital remboursé pendant cette même année est constante. Si on note le capital remboursé durant l'année n et A l'annuité fixe : .

Ainsi :

Supposons que la formule soit valide et démontrons qu'elle reste valide pour le rang n.

Les intérêts de l'emprunt pour l'année n sont : ce qui permet d'écrire que le capital remboursé pour la même année est :

De proche en proche on peut simplifier cette expression :

CQFD

Ayant exprimé et à partir des données K, A, t et p (la durée d'emprunt), chacune de ces données peut donner lieu à une question intéressante :

  • Quelle est la durée optimale pour rembourser K, connaissant t et A ?
  • Quelle est l'annuité/mensualité connaissant K, t et la durée ?
  • Quelle est le capital empruntable connaissant A, t et la durée ?
  • Etc.

Durée optimale de remboursement

On cherche à connaître p tel que .

Pour cela on a besoin de transformer la somme en formule simple, nous allons donc faire une petite digression. Or, puisque on a affaire à une suite de raison 1+t.

Si on note la somme précédente s'écrit :
On va utiliser une petite astuce :
Pour écrire :
Et au final :

La digression étant terminée, reprenons notre calcul :

Donc :

Donc, si on connait la mensualité que peut se permettre l'emprunteur, le capital dont il a besoin et le taux en vigueur pour la banque, on peut en déduire la durée d'emprunt idéale. En utilisant la formule précédente, on peut donc faire le petit outil de calcul ci-dessous :

ParamètresDurée idéale
Capital emprunté : �
Taux usuraire : %
Mensualité idéale : �

C'est l'outil idéal pour optimiser son emprunt en faisant varier légèrement les paramètres de la banque, i.e. c'est avec ça que l'on négocie !

Calcul de l'annuité

Si on fixe le capital emprunté K, ainsi que le taux et la durée on peut calculer l'annuité et donc la mensualité d'un emprunt. C'est typiquement ce qu'imprime une banque à son client en appelant ça une "simulation".

Pour calculer cela on reprend le calcul et on écrit :

ParamètresAnnuité / mensualité
Capital emprunté : �
Taux usuraire : %
Durée en années : %

Capital empruntable

Pour terminer avec ces mini-outils, si on fixe la durée, le taux et la mensualité, on peut calculer le capital empruntable par le client à l'aide du calcul suivant (en se souvenant bien que ) :

Et pour finir :

ParamètresCapital empruntable
Durée en années : %
Taux usuraire : %
Mensualité idéale : �
Accueil1 2