NoBlog (le blog de romainbessuges)
Un nouveau blog sur Wefrag

Rechercher

Archives

Pages

Catégories

Méta

À la recherche d’un progiciel de pricing

Lundi 10 février 2014 à 21:18

Bonjour à tous,

Pour les besoins de mon entreprise, je cherche à délocaliser la gestion des grilles tarifaires de nos produits dans un outil dédié, collaboratif et idéalement web-based. À l’heure actuelle, la Gestion de l’Offre (service en charge des produits), alimente péniblement des Google Spreadsheets avec les tarifs de nos fournisseurs, calcule via un certain nombre de formules les prix de vente et reportent dans notre ERP le résultat de leur travail. C’est particulièrement fastidieux et source d’erreur, de bug, etc.

M’est alors venu l’idée d’interfacer via une API notre ERP à un outil dédié à la gestion des grilles tarifaires, d’achat et de vente. Cet outil reposerait sur la relation tripartite entre produits, marchés (zones de vente) et fournisseurs, et nous permettrait de répondre aux spécificités de notre modèle de négoce :

• un même produit peut avoir différents fournisseurs qui le proposent à des prix différents
• un même produit peut être vendu sur différents marchés, avec un prix, une remise ou une devise différents
• lorsque un produit référence plusieurs fournisseurs, ceux-ci sont triés manuellement par marché. Ceci permet de sélectionner le meilleur fournisseur lors de la création de commande (et aussi de gérer les fermetures, pannes, ruptures de stocks, etc.)

J’ai moi-même planché sur le sujet et j’ai produit une maquette d’interface utilisateur.

Clique salope

Il faut imaginer une navigation horizontale basée sur le scroll de l’espace de travail. Le bloc le plus à gauche serait en fait une interface générique et dynamique permettant d’interconnecter une base produit via une API. À l’aide d’un descripteur au format d’une ou plusieurs classes, on connecterait l’outil de pricing à une application tierce (dans mon cas notre ERP actuel).

Ce formulaire constitué permet alors d’exécuter une recherche sur l’application tierce. Charge à elle de retourner dans un format normalisé une liste des produits correspondants (JSON ou XML), dont le critère discriminant serait la référence unique (sku).

La partie centrale (qui devient la sidebar une fois le formulaire replié) représente la sélection courante en cours d’édition.

La partie droite (ou workspace) affiche alors en vis-à-vis les grilles de prix d’achat et de vente, ainsi qu’une matrice d’affectation de fournisseurs à des zones de marché pour les produits en cours d’édition.

Avez-vous déjà travaillé avec un outil équivalent ? Si oui, lequel ? Et vous a-t-il donné satisfaction ?

[Compo] Étude pour piano

Dimanche 27 mai 2012 à 11:42

Bonjour,

un petit mot sur ce blog déserté pour publier ma dernière composition piano seul.

YouTube Preview Image

Pour les pianistes qui seraient intéressés, j’ai aussi mis la partition en ligne sur Slideshare :

[compo] NoRequiem

Vendredi 7 janvier 2011 à 18:37

Salut à tous,

Après trois semaines la tête dans le guidon professionnel, je profite des quelques minutes disponibles ce vendredi soir pour vous offrir ce dernier morceau, inspiré par le thread musique classique, dans lequel je m’étais étonné de vous voir tous en pâmoison devant tous les requiems existants.

Please enable Javascript and Flash to view this Flash video.

Je soupçonne une légère fascination adolescente pour les choses de la Mort.

Le mot de la chatte (NSFW)

Mardi 30 novembre 2010 à 7:39

Gagagou ?

Gagagou ?

En hommage à QQQ et à toute l’équipe de croustination dont je déguste le travail chaque jour (quand ils postent).

[Dessin] Crise de nerf

Vendredi 26 novembre 2010 à 19:46

Bon je mets dessin en titre, mais c’est plus du montage absurde hein.

Crise de nerf

Si toi aussi tu pètes un cable.

Éloge de la fainéantise

Dimanche 21 novembre 2010 à 9:29

C’est une chose que j’ai rencontrée à de nombreuses reprises chez les travailleurs informatiques : dire à qui veut l’entendre qu’il est flemmard, fainéant en s’en vantant parfois… et de retourner la minute d’après coder quatre heures d’affilée.

Est-ce pour autant que nous nous trompons sur notre caractère ? On m’a toujours dit que la meilleure façon d’avancer était de se connaître soi-même et là je me demande si je suis vraiment le fainéant que je revendique régulièrement et si tel est le cas, pourquoi ressens-je le besoin d’en faire part, non seulement à mon entourage personnel mais aussi mes collègues et mes patrons (et à mes lecteurs) ?

C’est parce qu’à mon avis, la fainéantise, associée à un peu de système D et un sens développé de l’optimisation est un trait de caractère qui est bon pour l’entreprise. Le fait de ne rien vouloir faire (il fait néant) ou tout du mois d’en faire le moins possible s’accorde en effet à des métiers dont il est possible de s’approprier et de réinventer les processus.

Le développement en est bien sûr le plus flagrant exemple. Le développeur est lui même un créateur de routines, il assigne des tâches à différents opérateurs, répartit la charge de travail au sein même de son code et choisit quoi s’exécute et quand. Il a donc en théorie les moyens et les connaissances pour réfléchir à sa propre optimisation. Le fainéant tire ici son épingle du jeu : tandis que le besogneux appliquera les consignes sans s’interroger, le fainéant cherchera les moyens qui lui permettront d’alléger sa charge de travail.

Plutôt que de renommer 200 fichiers à la souris et au clavier pendant 15 minutes, je vais passer 5 minutes à coder un petit script qui fera le boulot à ma place. Au lieu de coder mes getters et mes setters je vais chercher la fonction de mon IDE qui me permettra de les générer à partir de ma BDD. On ne gagne pas toujours du temps, on en perd parfois à chercher trop longtemps pour se rendre compte qu’au final on ne peut rien faire de mieux. Mais même dans ces cas-là, l’effort consenti reste bénéfique car il aura permis d’en dégager une expérience réutilisable, de découvrir de nouveaux outils qui pourront être partagés au reste de l’équipe.

Je crois donc qu’il faut valoriser et féliciter le fainéant, l’inciter à partager ses découvertes et ses d’ailleurs ça m’arrangerait. Si vous avez tendance à vous agacer devant le mec qui procrastine 1/3 de son temps, vérifiez d’abord qu’il ne code pas deux fois plus.

[Compo] Sans titre

Dimanche 31 octobre 2010 à 11:26

Qu’est-ce que c’est chiant de trouver un titre. Je vais finir par faire comme Karma to Burn, je sens…

Please enable Javascript and Flash to view this Flash video.

Il manque un peu d’illustration sonore dessus, ça fera l’objet d’un post plus tard une fois que j’aurais trouvé le temps d’aller enregistrer.

[PHP] Le pourquoi du comment du HEIN ?

Mardi 26 octobre 2010 à 23:11

Suite aux levées de bouclier des développeurs émérites peuplant ces blogs, je me suis rendu compte que ma démarche méritait quelques explications.

Tout d’abord, le premier élément à prendre en compte est mon emploi, que j’exerce avec zèle et un mac. Je suis webdesigner dans une petite. Nous réalisons des sites de qualitay sur-mesure pour des clients variés, dont les demandes oscillent du site vitrine au portail dynamique et communautaire. La flexibilité et l’adaptabilité sont notre point fort et un de nos arguments de vente, et nous avons en conséquence développé nos propres outils afin de répondre de la façon la plus fine, adaptée et efficace aux sollicitations toujours particulières de nos clients. Ce framework interne auquel j’ai contribué par mes reflexions et par quelques classes utilitaires, je l’ai plutôt bien étrenné, à travers la bonne dizaine de site que j’ai pu coder avec depuis. Et même s’il est performant, j’en ai vu les limites et j’ai donc emmagasiné un nombre conséquent d’idées à injecter dans un hypothétique travail personnel.

L’occasion s’est trouvée lorsqu’au cours d’une douche ordinaire, un concept de site original se mis à émerger. Décidé à approfondir mon idée, j’ai rassemblé toutes mes remarques, mes expériences et ai essayé de les condenser dans un concept de framework particulièrement adapté à mon utilisation personnelle. En règle générale, quand un développeur développe une librairie, il pense au plus grand nombre, à tous les usages envisageables et l’étend dans un standard adapté au maximum. Je prend le contre-pied et cherche à développer ici un outil qui ne servira qu’à ceux qui sont intéressés par cette façon de faire.

Le concept

La ligne directrice est limpide. facilité et rapidité de développement. L’idée qui sert de base à ce framework, c’est le fait de considérer la page web comme une classe. Un routeur interprète l’URL et va instancier une occurrence de la classe “Page Web” demandée et finalement l’afficher. Schématisons (ce n’est en rien le code actuel) pour bien saisir :


class HTMLDocument {
var title:String = "Untitled Web Page";
var scripts:Array;
var links:Array;
var meta:String;
var body:Collection;

function addScript(src);
function removeScript(src);
function addCSS(src, media)
function removeCSS(src, media);
function __toString();
}

La légitimité du concept

Il est pertinent de se poser la question de la pertinence. En plus de l’aspect branlette de tout faire en PHP, il peut sembler stérile de “rajouter une couche d’abstraction”. Eh bien ce n’est pas le cas et cela tend à se confirmer au fur et à mesure que je code avec mon outil : l’intérêt primordial c’est l’héritage et la façon dont il s’intègre dans le concept d’arborescence entre pages.

  • Créons une classe appelée TemplatePage qui étend WebPage. Dans ce fichier, on charge jQuery et ses plugins, les feuilles de style de reset et la template. On peut aussi ajouter dans le body un div#page, une sidebar, un logo.
  • Créons maintenant une classe StaticContentPage, qui étend Template. On lui rajoute quelques méthodes permettant d’ajouter facilement un titre, des sections, des images.
  • Ensuite pour chaque page de contenu statique, on crée des sous classes de StaticContentPage et on appelle les méthodes précédemment créées pour remplir les trous.

Faire du HTML autrement

Manipuler le DOM en PHP c’est puissant mais atrocement rébarbatif. Comme je l’ai dit, je cherche avant tout la facilité et la simplicité de développement. Je choisis donc de partir de zéro en me basant sur une syntaxe bien connue, celle du CSS. Plus particulièrement ce qu’on appelle les Selectors, très inspiré par jQuery.

$sidebar = HTML("div.sidebar[lang=fr]“, HTML(”p#welcome”, “Bienvenue !”))

nous donne…

Ce résultat n’est pas une chaîne de caractère bien sûr, mais un objet HTMLElement. Il hérite de Collection, dont il récupère les méthodes de manipulation : addItem, addItemAt, removeItem, etc.

$sidebar->addItem(HTML("p", "Au revoir"));

nous donne…

Mais l’objet HTMLElement possède une méthode à lui plutôt sympa, inspirée par jQuery : find()

$a = $myDiv->find("li:not(:first) > a[disabled]“);
$a->removeAttr(”disabled”);

Et hop.

[Compo] Full orchestra

Lundi 25 octobre 2010 à 12:53

Je reviens vers vous avec un autre morceau, pas trop récent, mais que j’ai laissé un peu à l’abandon (comme toute ma musique en fait) depuis que je travaille pour gagner ma vie.

Ça s’écoute là

Kab si tu veux bien m’indiquer comment tu es arrivé à rentrer ce putai* de player dans le WP, je suis preneur

[Compo] instruments

Dimanche 24 octobre 2010 à 13:51

Avant de revenir plus en détail sur mon framework PHP qui a retourné l’estomac de quelques membres émérites, j’en profite pour vous glisser derrière l’oreille ce work in progress* d’Instruments, dernière compo à ce jour.

Ca s’écoute ici

Pour les techniciens curieux, c’est du Logic Pro + NI

* manque mixage et mastering