Forum Programmation.web Que dois-je utiliser pour coder mon site ?

Posté par .
Tags : aucun
1
1
août
2009
Bonjour à tous.

Alors voila, je dois réaliser un site web, un truc trop complexe pour être faisable avec un CMS existant, je vais donc devoir le coder moi même. Le hic, c'est que la prog web je n'y connais rien du tout. J'ai une longue expérience de programmeur C, C++ et divers assembleurs pour microcontroleurs, mais le web c'est pas mon truc.

Mon problème majeur c'est la sécurité. Je ne vais pas faire le site d'une banque, mais je sais qu'il y aura toujours quelques kékés qui vont essayer de l'attaquer. Je cherche donc une techno me permettant de coder mon site sans me poser de questions au niveau de la sécurité. Une techno avec laquelle je ne risquerai pas de laisser une injection SQL, ou tout autre type de faille, si je ne fait pas attention à chaque ligne de code. Est-ce que ça existe ? Que me conseilleriez-vous ?

PHP ? Je ne veux surtout pas troller mais j'ai entendu dire que niveau sécu c'est pas encore ça. Java (très utilisé par les boîtes) ? Django (j'aime bien python) ? Ruby on rails ? Autre chose que je connais pas ?

Je vous remercie d'avance pour vos conseils.
  • # PHP avec PDO

    Posté par . Évalué à 2.

    Je ne connais que PHP en programmation web.
    Pour éviter les injections SQL, tu peux utiliser la librairie PDO en faisant des requêtes préparées.

    http://fr.php.net/manual/fr/pdo.prepared-statements.php
  • # la reponse est dans l'enoncé

    Posté par . Évalué à 5.

    tu peux tres bien faire un serveur web en C/C++

    tout comme tu peux le faire en java

    le tout etant de le faire dans une techno que tu maitrises
    ce sera alors beaucoup plus simple pour toi de le maintenir.

    si par contre tu le fais pour une entreprise ou une asso ou un groupe de copain, il faut peut-etre simplement se mettre d'accord (cf le cahier des charges)


    perso je fais mes sites en PHP
    et comme je code moi meme le moteur de mon site, les risques d'attaques sont faibles car mon moteur ne represente qu'un ou deux sites dans le monde

    contrairement à certains CMS qui sont diffusés et utilisés un peu partout.

    (toujours le probleme du nombre de part de marché representé par la cible d'une attaque)
  • # Panacée

    Posté par (page perso) . Évalué à 3.

    Je cherche donc une techno me permettant de coder mon site sans me poser de questions au niveau de la sécurité. Une techno avec laquelle je ne risquerai pas de laisser une injection SQL, ou tout autre type de faille, si je ne fait pas attention à chaque ligne de code.
    Lorsque tu auras trouvé cette miraculeuse technologie te permettant de programmer en fermant les yeux, pense à déposer un brevet. Ton avenir est assuré.

    Si possible, étend ta recherche à "Je cherche donc une techno me permettant de coder mon site sans me poser de questions au niveau des bugs. Une techno avec laquelle je ne risquerai pas de laisser un bug ou tout autre type d'erreur de raisonnement, si je ne fait pas attention à chaque ligne de code.".


    J'ai une longue expérience de programmeur
    C'est clair.
    • [^] # Re: Panacée

      Posté par (page perso) . Évalué à 5.

      moi ce que j'aime bien c'est :
      un truc trop complexe pour être faisable avec un CMS existant

      qui montre une analyse poussée de l'existant, sans pour autant décrire le besoin...
      • [^] # Re: Panacée

        Posté par . Évalué à 5.

        Je pense qu'il devrait attendre un peu que Jayce sorte enfin le MultiDeskOS web edition, là il pourra enfin coder son site facilement sans écrire une seule ligne de code.

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # pourquoi pas Wt ?

    Posté par . Évalué à 3.

    J'avais regardé cela, ça a l'air sympa et c'est du C++ avec de la programmation classique d'applications. A voir je pense.
  • # du C avec clearsilver

    Posté par (page perso) . Évalué à 3.

    Franchement si tu as une bonne expérience en C, autant coder en C, clearsilver est un système de template puissant en C qui est vraiment génial, il te fournit tout ce qu'il faut pour faire des CGI, et si tu préfère du fastcgi, un wrapper se fait en 2s, il y en a plusieurs qui traîne sur les ml de clearsilver.

    tu couples ça avec libdbi pour la gestion des bases de données et tu as quelques chose de vraiment top.

    http://www.clearsilver.net/
    http://tech.groups.yahoo.com/group/ClearSilver/message/857 (pour le fastcgi)
    http://libdbi.sourceforge.net/
  • # Non

    Posté par . Évalué à 4.

    Je sais bien que la techno ultime qui permet de tout faire sans réfléchir n'existe pas, merci de me le rappeler. Mais je sais aussi que face à des problèmes récurant, il y a toujours des petits malins qui invente des technos permettant de se simplifier la vie, et qu'il vaux mieux envisager de les utiliser avant de réinventer la roue.

    Je ne veux pas faire mon site en C++ sous prétexte que je maîtrise ce langage. Je cherche à utiliser la techno la mieux adaptée. Si je dois apprendre un nouveau langage je le ferai. Je ne suis pas pressé, je prendrai le temps de me documenter à fond sur la techno que je choisirai pour bien comprendre son fonctionnement et savoir comment l'utiliser proprement. Mais il y a tellement de techno disponibles pour faire des sites web, je ne peux pas toutes les tester. C'est pour ça que je vais à la pêche aux avis. Quel techno avez-vous utilisé ? Qu'en avez-vous pensé ? Lesquelles recommandez-vous ?

    Aurai-je sous estimé les CMS ? C'est possible, je l'ai dit, le web n'est pas mon domaine. Pour moi un CMS c'est quelque chose de dédié à un besoin précis et donc difficilement adaptable pour faire autre chose. Je dois pouvoir organiser ma base de données comme je veux, et mon site doit pouvoir appeler des programmes présents sur mon serveur et communiquer avec eux. Cela me laisse penser qu'un CMS tout fait n'est pas adapté à mon besoin. Peut être que j'ai tord. Si vous pouvez me donner des noms de CMS capables de faire cela j'en serai ravi.
    • [^] # Re: Non

      Posté par (page perso) . Évalué à 1.

      Pour moi un CMS c'est quelque chose de dédié à un besoin précis et donc difficilement adaptable pour faire autre chose
      Il y a tellement de CMS différents... tu es sûr d'avoir fait le tour et d'avoir bien testé ?
      La plupart des CMS ont des systèmes de modules qui permettent de modifier et d'étendre leur capacités. Il serait plus judicieux et rapide de créer un module adapté à tes besoins.
      • [^] # cms...

        Posté par . Évalué à 4.

        A sa décharge, il y a justement *énormément* de CMS, et franchement installer/tester des CMS, c'est superbement chiant. Si en plus t'aimes bien coder et découvrir de nouveaux trucs, tu vas avoir des envies de meurtres au bout de 3 CMS et tu pourras retrouver la santé en essayant de coder toi-même.
        Ensuite, quand on ne connait pas un domaine (ici la prog web), rentrer dans un projet existant et potentiellement déjà complexe, c'est peut-être pas la meilleure façon de réussir, et en plus c'est carrément pas passionnant.
  • # Ruby on rails

    Posté par (page perso) . Évalué à 2.

    Apparemment, tu maîtrise les objets en programmation, donc Ruby on rails ou du python peut être pas mal.

    L'avantage de ruby on rails est la rapidité de développement. Et à moins de coder des trucs étranges, pas de problèmes niveau sécurité.

    Php, si tu n'utilises pas un framework, tu dois tout coder toi même, ce n'est pas très pratique.

    Envoyé depuis mon lapin.

  • # Turbogears

    Posté par . Évalué à 4.

    N'étant pas développeur web et que tu apprécies Python, je te recommande Pylons ou Turbogears (Turbogears2 repose sur Pylons).
    Bien que Django soit un formidable framework web, il a l'inconvénient d'utiliser ses propres composants (ORM, template engine, etc ...) contrairement à Pylons et TG qui réutilisent des briques existantes et plus aisément remplaçables (ORM: sqlalchemy, template: genshi, mako, sécurité: authkit, repoze.who etc ...), ce qui permet de mutualiser un peu plus les connaissances pour des domaines autre que le web.
    À mon avis, c'est un léger inconvénient pour les développeurs qui ne font du web que par intermitence, mais si tu as un bon feeling avec Django, ça ne doit pas t'empécher de le choisir.
    Sinon, les outils de développement sont agréables (paster, débogueur, etc ..). Si tu cherches un framework plus light, il y a Werkzeug qui est pas trop mal.


    Quant à PHP, je n'avais quasiment pas touché depuis PHP4, entre-temps, les versions 5.2 et 5.3 offrent un cadre de développement correct .
    PHP n'est pas à négliger, ça reste un langage côté serveur très performant, il y a aujourd'hui pléthore de frameworks modernes permettant de faire des trucs pas trop mal chiadés. Les hébergements sont également moins chers, selon ton cahier des charges, ça peut jouer.
  • # LA solution à ton problème : Rails

    Posté par . Évalué à 3.

    Je te conseille fortement Rails si tu ne connais rien à la programmation web.

    Si tu connais python, tu n'auras pas du tout de mal à te mettre à Ruby, et Rails te mache plus de 90% du taf, tout en te laissant une marge de manoeuvre suffisante pour faire ce que tu as à faire.

    Tu peux trouver de bons bouquins sur Rails, parc contre le premier conseil que je te donnerai c'est de bien vérifier que la version de Rails que tu installe correspond bien à la version de ton bouquin (Rails 2.0 par exemple ajoute des subtilités non comprises par les versions précédentes, et certains bouqins n'ont pas été mis à jour. Fais gaffe j'ai perdu un peu de temps dans mon apprentissage à cause de ce genre de connerie).

    L'aide en ligne de Rails est assez bien faite, un peu dur à s'y retrouver au début (j'ai piqué une crise ici même parce que je ne m'y retrouvais pas), mais au final quand on a pris l'habitude, il n'y a pas de problème.

    Coté soutien, tu trouveras ici des gens qui pourront t'aider, et il y a des forums Rails. Cependant je trouve que certains contributeurs de ces forums sont parfois des abrutis car répondent carrément à côté de la plaque ou agressent un peu les gens qui posent des questions en pensant qu'ils n'ont pas lu la doc alors que c'est la doc qui n'est pas toujours claire pour les gens qui n'y sont pas habitués ....

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.