Première édition du Défi PHP

logo php
Bonjour,

Voici la première édition du Défi PHP !

Sujet
Nous vous proposons de développer une application PHP en utilisant le framework de votre choix. Attention, vous devez utiliser un framework !
Pour cette édition du défi, l’application sera : un bugtracker (ou une liste de tâches).

Objectifs à remplir
L’objectif est de vous lancer un défi afin que vous découvriez un framework que vous ne connaissez pas encore. Bien entendu, reprendre du code tout prêt ne vous apprendrait rien, il faut donc l’éviter.
Il s’agit d’un défi, les participants devront donc investir de leur temps pour obtenir un produit acceptable.

Choix des technologies
Vous pouvez choisir n’importe quel framework open source (CakePHP, Prado, symfony, Zend Framework…) ou bibliothèque open source de composants (eZ, PEAR…).

Fin du défi
Toutes les participations doivent être transmises par e-mail à defis.php@redaction-developpez.com au plus tard le [mise à jour] 13 juillet 2008.
La livraison devra contenir une archive compressée (format libre) contenant :

* Les scripts de création de la base de données si nécessaire (SQL) ;
* Les scripts de l’application ;
* Les particularités de votre configuration (php.ini, httpd.conf etc.) mais pas la totalité de votre configuration ;
* La documentation si disponible ;
* Les tests si disponibles ;
* Les instructions de mise en place de l’application ;
* Le framework ou les composants utilisés.

Nous pourrons mettre en ligne les applications qui nous seront soumises, dans la mesure de certaines contraintes techniques :

* Base de données compatible MySQL ;
* Extensions minimales (installation PHP standard).

La mise en ligne des applications n’influera aucunement sur l’évaluation des propositions qui nous seront soumises.

Évaluation
Nous étudierons les propositions selon les critères suivants :

* Bon fonctionnement de l’application : 30% du critère de réussite ;
* Des efforts notables pour que le code soit écrit selon les standards définis par le framework choisi (organisation des répertoires, tabulations, motifs de conception…) : 30% du critère de réussite ;
* Réutilisation d’éléments existants si nécessaire (sauf pour le cÅ“ur de l’application bien sûr) : 15% du critère de réussite ;
* Sécurité minimale contre les failles courantes (XSS, CSRF, injection…) : 15% du critère de réussite ;
* Un minimum de commentaires : 10% du critère de réussite.

La fin de l’évaluation donnera lieu à une remise de prix (les lots exacts sont encore en négociations).

Le concours est ouvert à tous sans limites d’age, vous pouvez bien entendu vous appuyer sur les ressources de developpez.com tout au long du développement !
Les membres de la Rédaction de Developpez.com (étoiles rouges ou plumes rouges) peuvent participer pour faire vivre le concours mais ils ne sont pas éligibles pour la remise de prix. Les membres à plumes jaunes sont éligibles.

N’hésitez pas à utiliser notre nouveau Chat pour tout renseignement : http://chat.developpez.com/
Ou bien par e-mail : defis.php@redaction-developpez.com

Bon courage a tous !

33 réflexions au sujet de « Première édition du Défi PHP »

  1. Avatar de DatorDator

    Bon je viens de rendre mon application.

    J’espère que beaucoup de personne participation car c’est rare de pouvoir avoir un concours aussi sympathique et intéressant sur une communauté française ! C’est une chance pour tout le monde de participer et j’invite tout le monde à rendre quelque chose même si c’est une ébauche !

    Allez on fait flamber le notepad++ !

    Bon courage et bon développement à tous !

    Clément

  2. Avatar de MahefasoaMahefasoa

    Bonjour,
    J’ai vu ce défi Vendredi dernier. Je ne me suis pas permis de le faire tout simplement, je commence tout juste l’apprentissage d’un Framework. Ma question est: puis-je utiliser CodeIgniter? Si oui, je pourrai bien faire quelque chose.
    Merci et un grand bravo pour cette initiative.
    Thierry

  3. Avatar de RideKickRideKick

    Bonjour a tous ,

    Tout d’abord je me présente , RideKick développeur PHP et juré du défi.
    Dans un premier temps je tiens à remercier les personnes qui ont envoyées leurs projets.
    Comme l’a dit Yogui , étant donné que ce défi est le premier de la série et que beaucoup d’entre vous on apprit tardivement la mise en place de celui-ci, nous autorisons exceptionnellement les participants à remettre leurs projets fin de semaine au plus tard .
    Ceux qui ont déjà envoyés leurs projets peuvent eux aussi apporter des améliorations d’ici fin de semaine (je pense à ceux qui ont eu du mal à boucler certaines parties de leur code).

    Si vous avez des questions supplémentaires n’hésitez pas.

    Bonne chance a tous.

  4. Avatar de YoguiYogui Auteur de l’article

    Bon… Puisque c’est le premier défi, vous avez tous jusqu’à la fin de cette semaine pour envoyer vos applications ! Si vous l’avez déjà soumise, vous pouvez nous le renvoyer sans subir de pénalité.

    Tant pis si les applications ne sont pas complètes, ne vous retenez pas de participer !

  5. Avatar de savageman86savageman86

    Ok, mais c’est pas franchement vraiment utilisable. En plus j’ai un super bug avec le Framework :D A voir si c’est moi ou bien la nightly-build (en fait, la doc n’est pas encore sortie…).
    J’vais voir pour quand même rendre quelque chose.

  6. Avatar de YoguiYogui Auteur de l’article

    Malheureusement, je ne peux pas avertir chaque communauté individuelle… J’ai fait mon possible pour avertir un maximum de personnes : annonce sur nos forums, blog Developpez (ici-même), mailing Developpez (activable depuis ton profil), mailing Zend (activable depuis ton profil sur zend.com), annonce Zend.

    Je crois que nous pourrons difficilement mieux faire mais il y a des flux RSS auxquels je t’invite à t’inscrire, ainsi que des mailing auxquels tu peux également t’inscrire ;)

    Cela dit, n’hésite pas à proposer ton application minimaliste : je suis sûr qu’en choisissant un framework simple tu pourras parvenir à quelque chose de correct d’ici lundi.

  7. Avatar de keke_magdaleskeke_magdales

    Arggh ! J’ai pas lu ce post à temps … en 5 jours, avec un WE à Perpètes, ça va être dur !

    Bon, j’espère que d’autres concours verront le jour.

    J’ai vu la news ici :
    http://www.creajeu.net/forum/viewtopic.php?id=278

    Peut-être que quelqu’un pourra nous faire signe la prochaine fois ? (au regard de ses commentaires j’ai l’impression que Yogui est une bonne âme ^^)

    J’ai hâte de savoir ce qui va être rendu !

    kéké.

  8. Avatar de YoguiYogui Auteur de l’article

    Si tu participes simplement pour avoir le lot à la fin, sachant que les lots exacts n’ont pas encore été annoncés, tu t’exposes peut-être à une déception…

    J’ai envie de croire que avez envie de relever le défi ;)

    Je l’ai déjà dit par le passé, il n’est pas suffisant pour un développeur de connaître « un seul » framework. Ce défi est donc une très bonne occasion pour tout le monde d’apprendre un premier framework si vous êtes novice, ou bien un nouveau framework si vous en connaissez déjà.

    Vous êtes gagnants à tous les niveaux si vous jouez le jeu mais, si vous utilisez un framework que vous connaissiez déjà, alors vous aurez simplement raflé un lot qui aurait dû revenir à une personne de bonne foi.

  9. Avatar de RomalafriteRomalafrite

    Il y a déjà un intérêt certain : celui de faire découvrir les frameworks et les différences entre les principaux frameworks.

    Maintenant, là où je suis plus que dubitatif : qu’est-ce qui vous fait croire qu’un candidat va prendre un framework qu’il ne connait pas ? (car il y a des lots à la fin et le temps est limité..)

  10. Avatar de savageman86savageman86

    Puis-je utiliser Hoa ? (http://hoa-project.net)
    Il ne dispose malheuresement pas encore d’ORM, mais c’est en cours de développement (même si ça ne sera pas prêt pour la fin du défi).
    Je n’ai jamais fait d’appli sous ce framework (et pour cause : il est très jeune et encore incomplet). Ca sera une très bonne occasion !

  11. Avatar de YoguiYogui Auteur de l’article

    C’est un peu l’idée, mais bien plus évolué que cela. Un framework conseille généralement une méthode de programmation, des règles d’écriture du code PHP. Pour ce faire, il sélectionne pour toi des briques, des bibliothèques de code qui se traduisent en effet par des classes facilitant les accès à la BDD, aux mails etc.

    Utiliser un framework est un excellent moyen de permettre le développement en équipe, il est donc indispensable de connaître au moins l’un des frameworks les plus en vogue lorsqu’on se lance sur le marché du travail en PHP. La connaissance ou la maîtrise d’un framework PHP fait souvent partie des compétences requises pour un poste, ou bien l’employeur réserve un temps à la formation de ses employés au framework choisi.

    Dans tous les cas, connaître plusieurs frameworks donne une meilleure compréhension des problématiques et des solutions possibles. C’est donc un avantage à titre personnel mais aussi professionnel.

  12. Avatar de StolkerStolker

    Ca va peut être faire noob, cette question la au milieu, mais bon…
    Si j’ai bien compris, un framework php est comme une class, sauf qu’au lieu de se limiter a mysql, ou a la fonction mail() elle intégré plein d’autre fonction?

  13. Avatar de YoguiYogui Auteur de l’article

    Bonsoir,

    En général, les frameworks peuvent être étendus par de l’héritage, des helpers, des plugins etc. C’est cela qu’il faut prendre en compte, mais bien sûr en suivant la ligne de conduite donnée par le framework choisi ;)

    L’idéal est de réutiliser au maximum les composants du framework. Si ces composants ne sont pas adaptés à votre besoin, vous avez sans doute un moyen de les adapter (sans pour autant modifier le coeur du framework lui-même). L’héritage est un moyen classique d’y parvenir. Cela permet de conserver l’API du framework et donc une certaine homogénéité dans votre code, tout en adaptant son utilisation.

    Dans le cas des plugins, tout dépend de la flexibilité du framework. Si le plugin est adapté à votre besoin, autant le réutiliser. S’il ne l’est pas, vous n’avez vraiment pas le choix. Vous pouvez toutefois aussi avoir une dent contre les plugins et ne pas souhaiter les utiliser ;)

  14. Avatar de TsilefyTsilefy

    Bonsoir,

    Quelle est la limite entre réutilisation de code et framework ? A supposer par exemple que le framework dispose d’un plugin de gestion des utilisateurs, est-ce qu’on considère que le plugin fait partie intégrante du framework, ou on considère que cela fait partie du coeur de l’application, donc à écrire soi-même ?
    Merci.

  15. Avatar de YoguiYogui Auteur de l’article

    Salut

    La date limite est mise dans le sujet : le 7 juillet.
    Question fonctionnalités, du moment que l’on a le minimum syndical, ce sera déjà bien en deux semaines et pour un premier défi ;)

    À peu près :

    Pour les bugs :
    Titre ;
    Type (fonctionnement, interface…) ;
    Status (ouvert, en pause, résolu…) ;
    À qui le bug est affecté ;
    Qui l’a envoyé ;
    Commentaires (facultatif mais ce serait bien).

    Pour les utilisateurs :
    Bugs soumis ;
    Bugs affectés (ouverts) ;
    Bugs affectés (en pause) ;
    Bugs affectés (résolus).

    Plus tout ce que vous voulez, il n’y a pas de facteur limitant, faites-vous plaisir ! Explorez au maximum le framework choisi !

  16. Avatar de ednoedno

    Bonjour,

    Le sujet du défi est très intéressant, il y a-t-il des contraintes sur les fonctionnalités dont doit disposer l’application ? car un bugtracker ce n’est pas une simple ToDoList…

    Et quelle est l’échéance pour la remise des travaux ?

  17. Avatar de YoguiYogui Auteur de l’article

    Salut

    J’ai bien précisé que l’objectif est « la découverte d’un nouveau framework ». C’est un défi que tu te lances, une ouverture d’esprit pour aller plus loin dans l’apprentissage de PHP. Si tu utilises un framework que tu connais déjà, et à plus forte raison que tu développes, cet aspect du défi perd de son intérêt.

    Par ailleurs, notre jury n’a aucun moyen de se former convenablement à ton framework en deux semaines :(

  18. Avatar de pytnemopytnemo

    Bonjour,
    Est il possible de participer en utilisant un framework « maison » ? il n’est pour l’instant pas open-source mais nous réfléchissons à en proposer une premiere release. Ce Défi pourrait être l’occasion pour nous de proposer notre framework à la communauté PHP.
    merci
    Cordialement,

Laisser un commentaire