Forum Programmation.web Du PHP sur les mutu' de Free.fr à un truc sérieux

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
3
31
mai
2013

Salut à tous !

Comme beaucoup, j'ai commencé à coder des petits trucs à la con sans intérêt en PHP sur les serveurs de Free avec un bon vieux Notepad++.

Maintenant, j'ai un projet perso sérieux (un truc à héberger soi même, comme un blog ou un shaarli) et je me pose les questions suivantes, trollogènes au possible. Mon impression insidieusement insérée dans mon post est issue de trucs lus à droite ou à gauche dans les derniers mois/années, sans aucune source :

PHP

Alors dès qu'on parle de PHP, c'est une hérésie, tout le monde est d'accord pour dire que c'est nul, mais ça reste très utilisé, et très disponible sur les serveurs accessibles pour le grand public.

Alors les technos Microsoft, non merci. Ensuite, Python commence à se répandre sur les serveurs mutualisés, mais je lis souvent que les performances sont assez terribles. Ruby, c'est pareil mais en moins disponible. Et Java, mouarf, non merci. Qu'utilisez/utiliseriez vous ?

Je pense m'orienter vers un framework PHP light à la CodeIgniter.

Editeur

Côté édition, on voit de toutes les écoles, avec certains qui disent que développer avec un IDE, c'est contre nature ou au contraire indispensable, d'autres disent qu'il faut coder dans MS Word en Comic Sans avec le texte centré.

J'ai une longue histoire avec Notepad++ que je maitrise pas mal, même si je trouve qu'il manque la compréhension de ce que je tape, pour proposer tout un tas de complétions, analyses syntaxique et compagnie. D'autant plus que depuis le temps, je suis passé de « utilisateur de logiciels libres » à « utilisateur d'un OS libre », elementaryOS.

La meilleure expérience que j'ai eu en développement, c'est avec QtCreator, où coder en C++ devient presque agréable. Et j'aime bien avoir une interface avec plus de 16 couleurs, une souris, et des raccourcis clavier bien standards où Ctrl+S sauve le document, Ctrl+W le ferme, Ctrl+F recherche et Ctrl+Tab change de document.

Donc qu'utilisez-vous pour coder (pour le web, mais pas forcément exclusivement), et éventuellement pourquoi ? Je suis convaincu qu'il est possible d'être très performant avec Vim ou Emacs, mais j'ai vraiment du mal à apprendre à utiliser ces outils.

Source control

Il fût un temps où mes révisions n'étaient pas archivées. Puis je suis passé à SVN. Puis j'essaie de me mettre à GIT. Donc par commodité, je pense héberger le projet sur GitHub.

Vous avez des conseils/critiques/remarques sur cette partie ?

TL;DR;

Pour du dev' web, quel éditeur, quel langage (côté serveur, hein, pas client) et quel gestionnaire de source utilisez-vous ?

  • # Ma vie

    Posté par  (site web personnel) . Évalué à 2.

    En quelques mots :
    * vim pour l'éditeur
    * git pour le versionning
    * Perl avec Mojolicious comme framework web

    Développons un tout petit peu le seul point qui peut être sujet à controverses : Perl et Mojolicious.
    * Perl, c'est mon langage de prédilection, c'est tout
    * Mojolicious fait beaucoup de choses, tout en laissant le contrôle à l'utilisateur, il a plein de plugins (à chercher sur le cpan avec Mojolicious::Plugin), il intègre un serveur de développement et un de production… Bref, je ne lui trouve que des qualités. Mais je ne suis sûrement pas objectif (qui a dit comme tout le monde ici ? :D)

    Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

    • [^] # Re: Ma vie

      Posté par  . Évalué à 3.

      Dans ma vie, c'est plutôt :
      – vim, et de plus en plus kdevelop, plus pratique quand même et bien fait
      – mercurial, beaucoup plus facile à apprendre que git pour des non-initiés
      – une préférence pour Ruby, éventuellement Python… après y avoir goûté c'est dur de revenir à PHP…

      • [^] # Re: Ma vie

        Posté par  (site web personnel) . Évalué à 1.

        beaucoup plus facile à apprendre que git pour des non-initiés

        Franchement, j'ai l'impression que tous les DVCS que je connais pour un usage basique (c'est-à-dire ce que vise initialement un initié), sont à peu de choses près identiques : une poignée de commandes qu'on apprend dans le premier tutoriel qu'on trouve est suffisante pour démarrer dans tous les cas. Après, si on veut un truc vraiment simple, c'est probablement darcs le mieux placé où on n'a juste une séquence de patchs, pas d'histoires de branches et autres. (En pratique, j'utilise surtout git, mais c'est subjectif probablement)

        • [^] # Re: Ma vie

          Posté par  . Évalué à 3.

          Ben justement, dans un contexte de laboratoir de recherche, où les gens codent sans avoir appris le développement, l'utilisation basique de mercurial + tortoiseHG passe sans trop de problème, alors que git est nettement plus difficile à apprendre. Au bout d'un moment on y arrive, mais la phase d'apprentissage est nettement plus longue. Perso je pensais au départ que c'étiat kif kif, en fait pas du tout.

          Après ce n'est que mon expérience, sûrement biaisé par le fait que j'utilise principalement mercurial…

          • [^] # Re: Ma vie

            Posté par  (site web personnel) . Évalué à 1.

            En même temps, dans mon message je pensais juste à une utilisation en ligne de commande. Je ne me suis jamais penché sur les GUI pour git (ni aucun autre), alors je veux bien croire que tortoiseHG est plus simple pour un débutant.

            C'est vrai que dans la recherche tout le monde n'est pas si à son aise que ça en ligne de commande. Pour le coup je sais pas si le gros de la difficulté c'est d'apprendre git ou autre, ou plutôt de se faire à la philosophie du terminal et des pages de manuel.

    • [^] # Re: Ma vie

      Posté par  (site web personnel) . Évalué à 1.

      Comme framework dans le même genre que Mojolicious il y a Dancer aussi. Je trouve que l'un comme l'autre font l'affaire et sont très faciles à mettre en place. Lorsque j'ai choisi Dancer je me rappelle que c'est juste parce que je devais faire un choix, j'ai rien trouvé qui me permette objectivement de me décider entre les deux (pour les besoins que j'avais en tous cas).

      • [^] # Re: Ma vie

        Posté par  (site web personnel) . Évalué à 1. Dernière modification le 01 juin 2013 à 23:23.

        Je préfère Mojolicious pour sa capacité (capacité, pas obligation, on peut faire comme Dancer) à séparer le code appelé par les routes dans d'autres fichiers (en spécifiant, ou pas, le controller et la méthode à appeler). Quand on a beaucoup de routes, je trouve plus simple de voir toutes les routes ensembles et de séparer le code de réponse en controllers selon le sujet principal de la route. Trouver une ligne de code dans UN gros fichier, c'est plus chiant que dans un fichier plus réduit. (Après, on peut faire le porc et mettre tous les controllers dans un fichier, mais je trouve personnellement ça un peu con)

        Mojolicious :

        $app->route->get('/user/new')->to('user#new');
        $app->route->get('/user/modify')->to('user#mod');
        
        

        Dancer :

        get '/user/new' => sub {
           
        };
        get '/user/modify' => sub {
           
        };
        
        

        Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

        • [^] # Re: Ma vie

          Posté par  (site web personnel) . Évalué à 1.

          C'est vrai que Dancer ne prévoit rien pour séparer le code de la définition des routes, mais pour mes besoins assez réduits c'était vraiment pas important. Au besoin, quand le fichier devient gros on peut faire :

          get '/user/new' => $coderef;
          
          

          et mettre le code où on veut dans un autre module (ça demande un peu plus de travail pour exporter les fonctions, mais ça reste simple quand même, et le résultat est assez similaire).

          • [^] # Re: Ma vie

            Posté par  (site web personnel) . Évalué à 1.

            Bof.

            Au moins, avec Mojolicious, tu as toujours les mêmes helpers (fonctions que tu peux définir toi-mêmes, mais il y en a un paquet prédéfini) disponibles car tu as toujours accès à l'objet $self = shift; dans tous les controllers.

            Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

            • [^] # Re: Ma vie

              Posté par  (site web personnel) . Évalué à 1. Dernière modification le 02 juin 2013 à 22:20.

              Ben pour résumer disons que l'approche de Dancer est moins OO et plus DSL, mais dans tes contrôleurs t'as accès à tout ce que tu veux sauf que c'est pas un passé à la routine dans le style objet ( genre request->params, $response->status, etc… au lieu de $self->req->... ou $self->res->...). Ça ressemble assez quand même d'un point de vue pratique (mais c'est vrai que mojolicious est peut-être plus homogène là-dessus)

    • [^] # Re: Ma vie

      Posté par  (site web personnel) . Évalué à 1.

      le seul point qui peut être sujet à controverses : Perl et Mojolicious.

      C'est bien connu qu'il n'y a qu'un seul éditeur de texte ;)

      • [^] # Re: Ma vie

        Posté par  (site web personnel) . Évalué à 1. Dernière modification le 02 juin 2013 à 23:01.

        Absolument ! Je ne suis pas contre utiliser un autre éditeur de texte bien connu<Esc>u OS, mais il parait qu'il ne lui manque qu'un bon éditeur de texte. En plus, je n'ai que 10 doigts, donc je ne peux que difficilement l'utiliser :D

        Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

  • # scite + zend

    Posté par  . Évalué à 0.

    Quand c'est du php, j'utilise zend framework.
    mon ide c'est scite, il fait parfaitement l'affaire
    mais ce ne sont pas des projets industriels, je suis seul et je m'/j' organise les choses comme bon me semble !

  • # dans l'temps...

    Posté par  . Évalué à 1.

    j'utilisais, pour moi ou les connaissances dans le besoin :
    - CVS : svn puis git
    - éditeur : gedit, vim, bluefish (~ quanta en gtk)
    - langages : php xhtml css3
    - framework php utilisé par un pote "pécialiste" : symfony
    - pouvoir intervenir sur le serveur web depuis n'importe où : net2ftp installé sur ledit serveur

  • # PHP saymal

    Posté par  . Évalué à 0.

    C'est vrai que tout le monde s'accorde à dire que PHP saymal, et pourtant, je trouve pas ça si mal que ça.

    Après des années de PHP, je ne fais maintenant que du Javascript, mais j'avoue que dès que j'ai un petit script à faire PHP la nostalgie me rattrape :')
    Certaines choses sont très bien faites, comme la POO PHP5 (je trouve) mais àmha c'est sur l'aspect sécuritaire que PHP est vraiment à la ramasse (sauf avec un framework).

    En tous cas je te recommande CodeIgniter, je l'ai trouvé très simple d'accès et peu contraignant.

    Niveau techno serveur, si tu veux te la péter oriente toi vers NodeJS, ou encore Wakanda qui est très simple et sympa :) (et tu pourras clamer haut et fort "JS.everywhere();" !)

Suivre le flux des commentaires

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