Les meilleurs développeurs informatique freelances sont sur Codeur.com
Fermé · 30 à 300 € · 1018 vues
Description générale
Il s'agit d'intégrer deux fonctionnalités (features) sur un projet CakePHP 1.3.x existant.
Il faut donc maîtriser CakePHP ainsi que jQuery pour l'aspect AJAX (jQuery est imposé, puisque c'est le framework Javascript déjà en place pour d'autres parties de l'application).
L'output (views, fichiers .ctp) doit être en pur HTML bien formaté (utilisez autant que possible l'Helper HTML de Cake), vous n'avez pas besoin de vous soucier de l'habillage et du design CSS. Ne perdez / utilisez pas de temps pour l'interface, le design, etc. Créez juste du code propre (PHP, JS et vues en simple HTML valide) à l'habillage / ergonomie visuelle on appliquera nos styles déjà étudiés.
Il ne faut réaliser aucun autre élément, tout est prêt et fonctionnel, il n'y à qu'à créer ces deux features, que nous allons intégrer nous-même à l'application déjà en production.
==========
Feature 1
Recherche avec filtre sur le nom des produits.
Voir mockup 1, annexe
Il s'agit d'un textbox en mode autocomplete: sès que l'utilisateur saisit 2-3 caractère, des suggestions lui sont faites, suggestions qui s'affinent au fur et à mesure de la saisie. Les résultats de la recherche sont automatiquement rafraichis (AJAX) sans besoin de cliquer où que ce soit. Dans l'exemple (mockup) l'utilisateur a saisit "UBS SA" et donc les 3 résultats contenant (recherche %LIKE%) s'affichent tant dans les suggestions de recherche (autocomplete) dans dans la liste des résultats. Dans les faits, il s'agit d'imiter "Google Instant" ([URL visible pour les membres Pro]). Note => les caractères accentuées sont ignorés. Par exemple é, ë, ê, è, etc. => correspondent (pour la recherche) à "e".
==========
Feature 2
Association Produit <=> Sous-jacent(s)
Voir mockup 2, annexe
Un produit est associé un ou plusieurs sous-jacent(s).
Chaque association a une propre barrière (valeur décimale):
la valeur barrière, n'est pas intrinsèque à un sous-jacent en tant qu'entité, mais à un sous-jacent associé à un produit.
la valeur barrière est facultative, elle peut être vide
Chaque association a une valeur initiale (valeur décimale).
la valeur initiale, n'est pas intrinsèque à un sous-jacent en tant qu'entité, mais à un sous-jacent associé à un produit.
Voir le schéma de la base de données, ci-dessous, pour mieux comprendre => raison pour laquelle "barriere" et "valeur_initiale" sot dans la table "produits_sousjacents".
Il s'agit de pouvoir ajouter / modifier / supprimer des associations Produit <=> Sous-jacent(s) sans recharger la page.
On doit pouvoir ajouter / associer autant de sous-jacents à un produits (voir mockup 3, annexe).
Il doit y avoir au minimum un sous-jacent pour que le produit soit validable.
Un sous-jacent ne peut figurer être associé qu'une seule et unique fois à un produit.
On doit pouvoir modifier n'importe quel sous-jacent associé sans recharger la page (voir mockup 4, annexe).
==========
Structure de la base de données
CREATE TABLE IF NOT EXISTS `produits` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `sousjacents` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`symbole_boursier` varchar(30) DEFAULT NULL,
`prix_cloture` decimal(16,2) DEFAULT NULL,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `symbole_boursier` (`symbole_boursier`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `produits_sousjacents` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`produit_id` int(11) NOT NULL,
`sousjacent_id` int(11) NOT NULL,
`barriere` decimal(16,2) DEFAULT NULL,
`valeur_initiale` decimal(16,2) DEFAULT NULL,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
==========
Conditions pour postuler
- vous êtes un excellent développeur PHP
- vous avez une bonne expérience en programmation orientée objet avec PHP et le modèle MVC
- vous avez une solide expérience avec CakePHP (idéalement, 1.3.x)
- vous connaissez (et appliquez!) les bonnes pratiques de développement (code clair et lisible, bien documenté, testé, etc.)
- vous connaissez (et respectez!) les convention de CakePHP 1.3.x, et n'utilisez pas des fonctions obsolètes
- vous savez respecter le modèle MVC, vous ne mélangez pas tout dans vos applications...
- vous savez utiliser SVN / Subversion
- vous avez de bonnes connaissances en JavaScript / jQuery (et êtes familier avec AJAX)
- quand vous dites "oui" cela signifie vraiment OUI, et quand vous dites "non", c'est vraiment NON
- vous ne dites jamais "oui" quand vous ne savez pas ou n'êtes pas sûr
- quand vous indiquez un délai, vous le respectez toujours
- dans les rares cas où vous avez un problème, vous le communiquez promptement (le plus vite possible) et sincèrement afin d'éviter de compliquer le problème
- quand vous donnez votre parole (par exemple, un délai, un prix, vous dites que vous pouvez faire une certaine chose dans certaines conditions) vous prenez toujours suffisamment de temps pour bien penser / évaluer où vous vous engagez et ainsi vous êtes 100% sûr de respectez vos promesses
- vous pouvez travailler en tant que sous-traitant, dans la plus totale discrétion et transparence, en ne mentionnant jamais les travaux réalisés avec nous, ni le noms de notre société ou de nos clients dans votre portfolio
Si vous remplissez ces conditions et que nous apprécions la qualité de votre travail, nous pourrons établir une relation sur le long terme (nous avons de nombreux mandats en cours de développement spécifique avec CakePHP et jQuery).
En vue d'évaluer vos compétences pour de futurs projets, dans votre offre, prière de spécifier l'estimation en temps pour la feature 1 et la feature 2.
Dans tous les cas, ce "projet" (qui est peu de chose, par rapport à ce qu'il reste à développer) sera rémunéré au forfait, selon votre offre.
Merci pour votre attention.
Budget indicatif : 30 à 300 €
Publication : 06 avril 2011 à 12h56
Profils recherchés : Développeur spécifique freelance , Développeur JavaScript freelance , Développeur PHP freelance
Déposez une annonce en décrivant votre projet et recevez gratuitement des devis en quelques minutes