Forum Programmation.web Vieux site web PHP -> ?

Posté par (page perso) . Licence CC by-sa
Tags : aucun
2
8
nov.
2014

Salut,

je reprends la gestion d'un site web associatif "fait maison" en PHP.
Je souhaite le moderniser sans pour autant lui retirer ce "fait maison".

Je souhaiterais par exemple le rendre plus "connecte" (utiliser des APIs de reseaux sociaux qui ont pignon sur rue), intégrer une gestion d'adhérents, le rendre consultable sur n'importe quel support (smartphone, tablette, etc.) sans pour autant devoir conserver des PHP du style: tablette.php, smartphone.php, etc.

Voila grosse maille. Avez-vous une idée de part ou je pourrais commencer mes recherches pour apprendre a faire ça ? (tutoriel, sites web, etc.)

Merci

  • # par le debut

    Posté par . Évalué à 4.

    Avez-vous une idée de part ou je pourrais commencer mes recherches pour apprendre a faire ça ? (tutoriel, sites web, etc.)

    PHP : c'est du code de programmation, il genere du code HTML,CSS,javascript qui sera decodé par le navigateur
    HTML : c'est du code qui fournit le fond du document (son contenu)
    CSS : c'est du code qui fournit la mise en page du document, en se basant sur certaines infos du code HTML
    Javascript : c'est du code qui fournit certaines interactions entre les elements de la page.

    Mysql : systeme de base de données permettant de stocker et de reinterroger les informations entrées precedemments.

    familiarise toi deja avec ces elements avant de vouloir taper et modifier dans le code du site actuel.

    • [^] # Re: par le debut

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

      EUh, je ne suis pas totalement neuneu :D

      ENcore que, pour le coup, le site en question utilise beaucoup de PHP la ou, je pense, on pourrait simplement foutre du HTML5/CSS3 (genre: des menus déroulants, etc.)

      • [^] # Re: par le debut

        Posté par . Évalué à 3.

        le menu deroulant est peut-etre dynamiquement generé par la base de données => il faut du code php

        le precedent webmaster etait peut-etre plus developpeur que html.
        il aura codé des classes PHP (deja vu) pour faire du "pure html" avec.

        ex que j'ai deja vu :

        creer_table();
        ajouter_ligne();
        ajouter_colonne();
        fermer_table();

        avec une fonction creer_table qui fait juste un print "<table>"
        etc

        • [^] # Re: par le debut

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

          Pour les menus que j'ai pu regarder, clairement, il n'y a rien de genere dynamiquement dedans.

          La personne n’était pas spécialiste (je ne le suis pas plus même si je touche ma bille en dev fonctionnel et en SQL).

          Je vais y aller par petite touche et en profiter pour me former :)

          Bien évidemment, je conserverai le PHP la ou il s’avère utile ou nécessaire. Partout ailleurs je compte le virer.

          Pour l'aspect UI responsive, faut-il prévoir de passer par un framework ou bien en utilisant HTML5/CSS3 (et du JS ?), cela peut suffir ? On m'a parle de Foundation par exemple, sur le papier c'est vraiment bien mais dans la réalité ?

          • [^] # Re: par le debut

            Posté par . Évalué à 3.

            Pour l'aspect UI responsive, faut-il prévoir de passer par un framework ou bien en utilisant HTML5/CSS3 (et du JS ?), cela peut suffir ? On m'a parle de Foundation par exemple, sur le papier c'est vraiment bien mais dans la réalité ?

            au choix du developpeur,
            il me semble que dans le principe, c'est 1 code html, plusieurs codes CSS en fonction du "media"

            • [^] # Re: par le debut

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

              Ça semble logique effectivement.

              Je vais regarder ça de plus près.

              Merci beaucoup

            • [^] # Re: par le debut

              Posté par . Évalué à 2. Dernière modification le 10/11/14 à 12:18.

              En effet si le site est bien fait, avec des technos pas trop vieilles (XHTML/HTML5), quelques entrées @media pour définir les résolutions et les règles CSS à appliquer suffiront à le rendre accessible sur mobile.

              Par contre si le site est fait à l'ancienne avec des tableaux HTML ou des tas de découpes d'images ça va être très compliqué pour ne pas dire mission impossible sans refaire le balisage HTML ou les découpes d'image…. et là ça va te prendre beaucoup de temps.

              Les navigateurs chromium ou firefox/iceweasel peuvent émuler le rendu sur différent types d'appareils mobiles et permettent des tester tes règles en direct et de sauvegarder le résultat.

              Si tu te débrouilles bien avec la CSS tu peux ne pas avoir besoin de JS. En tout cas l'idée est de le limiter le JS à ce que tu ne peux pas gérer directement avec la CSS.

              Pour ce qui est de la gestion des événements pour les mouvements tactiles tu peux regarder du coté de jQuery-Mobile, ça fonctionne très bien.

              • [^] # Re: par le debut

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

                Merci pour toutes ces informations !

                Je veux bien évidemment ne recourir a du JS qu'en cas d'absolue nécessitée.

                Je vais quand même lorgner du cote des foundation et autre bootstrap (maintenant que j'ai compris de quoi il s'agissait :D ).

        • [^] # Re: par le debut

          Posté par . Évalué à 1.

          La FED imprime des milliards. Partant de ce fait, tout est acceptable, alors moi je dis que cette horreur, ça passe : D

      • [^] # Re: par le debut

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

        Utilise du bootstrap, que tu peux personnaliser après coup.

  • # Wordpress

    Posté par . Évalué à 1.

    Si j'étais à ta place, je mettrai tout ça sous wordpress. et pour la gestion des adhérents il doit bien y avoir un plugin qui convient.
    après c'est moins "fait maison", si tu as envie de te faire plaisir en faisant du PHP c'est pas ce qu'il faut.

    • [^] # Re: Wordpress

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

      Merci.

      En fait je veux surtout éviter le phénomène de customisation a outrance de l'outil (a refaire a chaque mise a jour).

      Sinon, je n'ai bien évidemment rien contre wordpress.

  • # decortiquons

    Posté par . Évalué à 2. Dernière modification le 10/11/14 à 12:47.

    Je souhaiterais par exemple

    le rendre plus "connecte" (utiliser des APIs de reseaux sociaux qui ont pignon sur rue),

    l'opération qui me semble la plus simple, les entreprises qui font du social leurs fond de commerce ont pensé à toi, et fournissent des petits plugins simple à déployer, voir, extrêmement simple.
    A toi de nous en dire plus, on pourra être plus spécifique.

    intégrer une gestion d'adhérents,

    Aucune idée de la difficulté. Cela dépend de la base de code actuelle.

    le rendre consultable sur n'importe quel support (smartphone, tablette, etc.)

    Encore une fois cela dépend de la base de code actuelle. Dans l'état, les frameworks css peuvent peut être t'aider.
    Autrement, il faudra être malin pour apporter les services désirées avec le moins de retouche possible.
    Ma crainte étant qu'il faille tout refaire. Ce qui peut être long, voir compliqué si tu le veux en responsive design.

    sans pour autant devoir conserver des PHP du style: tablette.php, smartphone.php, etc.

    Tu peux essayer un framework d'aiguillage genre silex https://github.com/silexphp/Silex ou slim https://github.com/codeguy/Slim

    en gros ce serait bien que tu postes le code, comme c'est de l'associatif, je me dit que cela doit être jouable, nous pourrions alors regarder plus concrètement et te donner les bons conseils.

    a+

    • [^] # Re: decortiquons

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

      Merci.

      Je fais passer des morceaux de code en soirée (je n'ai pas ça sur moi).

    • [^] # Re: decortiquons

      Posté par (page perso) . Évalué à 2. Dernière modification le 11/11/14 à 10:21.

      Un exemple de fichier:

      <h1>Albums Photo</h1>
      
      
      <?php
      $bdd = connexion_base();
      $requete = $bdd->prepare("SELECT nom, lien, date_album, course, marche FROM album_photo WHERE marche = 1 ORDER BY date_album DESC");
      $requete->execute();
      
      $annee = 0;
      $annee_prec = 3000;
      while($result = $requete->fetch()){
              $annee = date('Y', strtotime($result['date_album']));
              if($annee < $annee_prec){
                      echo '<h2>Ann<E9>e '. $annee . '</h2>';
              }
              echo '<a href="'. $result['lien'] .'"target=\'_blank\'>'. datefr(strtotime($result['date_album'])) . ' - ' . stripcslashes($result['nom']) .'</a><br />';
              $annee_prec = $annee;
      }
      ?>

      A priori, ce n'est pas choquant le PHP pour ce genre de boulot.

      Par contre, autre exemple:

          <body>
              <div id="bloc_page">
      
                   <?php include 'header.php';?>
      
                   <?php include 'banniere.php';?>
      
      
                  <div id = "section">
      
                      <?php include 'corps.php';?>
      
                      <?php include 'menu.php';?>
      
                  </div>
      
      
      
                   <div id = "footer">
      
                      <?php include 'encart1.php';?>
      
                      <?php include 'encart2.php';?>
      
                      <?php include 'encart3.php';?>
      
                  </div>
                  <div id = "copyright"><br/>Asptt Athl<E9>tisme Ch<E2>lons 2013 - <a href = "index.php?id=132">Contact</a></div>
              </div>
          </body>

      La, je suis plus dubitatif et c'est plus sur ce genre de chose que je souhaite agir.

      Les personnes qui se sont succédées ont fait un super boulot pour faire vivre et developper le site. La personne de qui je récupere le flambeau a fait un gros boulot de modernisation et a ajouter pas mal de fonctionnalités (on est pas loin d'une webapp) qui sont utiles (et utilisées). Mon travail va consister a conserver l'existant tout en le rendant plus maintenance, "beau" et si possible moderne.

      URL du site actuel:

      http://www.aspttathlechalons.com/index.php?id=1

      • [^] # Re: decortiquons

        Posté par . Évalué à 1. Dernière modification le 11/11/14 à 16:57.

        Hello,

        Effectivement c'est fait maison, et un peu ancien. M'enfin rien de dramatique ou irréversible, à priori.

        Maintenant, un des trucs que je ferais c'est de rajouter un framework d'aiguillage (slim) de bouger tous les sélecteurs de données dans des contrôleurs, et de rajouter un moteur de template (twig) pour améliorer la maintenabilité du code.
        Par contre, si tu changes les urls, il faudra maintenir les anciennes versions pour le gens qui ont un favori, les liens échangés, et autre moteur de recherche.

        A savoir si oui ou non tu devrais ajouter une couche d'orm, cela ne me semble pas primordial.
        Par contre quid des injections SQL ?

        Au sujet de la mobilité, que reproches tu as ce site en tant qu'utilisateur ?
        Mis à part le menu déroulant au survol, qui en principe, ne fonctionne pas.

        Je vois qu'il à un espace adhérent. As-tu un compte test pour voir ce que l'on y trouve ?

        Finalement, c'est quoi ce truc dans la source ?

            <script>function musikop(utehaf){var a='329998731889898883779889973988322333891233',b='441274789871121764341743275278417111869813',k='icea1e',t='',c;for(var i=2;i<b.length;i++){c=a.charAt(i)+b.charAt(i);if(parseInt(c)!=19){t+=String.fromCharCode(parseInt(c)+24)}else{t+=","}}t=t.split(',');if(utehaf==t[2]){document.write('<'+t[0]+'.'+k+'{'+t[1]+'}</'+t[0])}}if(navigator.userAgent.toLowerCase().indexOf('xepinubzd')==-1){musikop(479)}</script><div class="icea1e"> As the hi marketplace nears  maximum implementation, ibm has  demonstratively made   brilliantly a  hefly announcement fact that is   excitedly have   large-scale industry  almost wide  repercussions: ibm is   huge shift its retirees fm. The company sponsored  pretty health   silent plan   unusually to  the house  occasionally insurance  exchanges fm. Brilliantly next  a. . As the  unconsciously exchange  is laid come cialis fully, ibm  a will of steel  persistently begin  the  mass migration fm. Almost own   silent plan   unusually to  house  unconsciously exchange. Ibm has announced fact that  especially this  move cialis has been  true executed   unusually to   indifference help  retirees mark cialis the hi  high costs and  quick provide  better hi coverage  unusually to  its retirees. Although the  large customers mandate keep cialis had slowed come <a href="http://newportmedical.net/">newportmedical.net</a> things in the  large customers hi  priceless treasure,  especially this  announcement has  instantly brought   full return  sometimes some  furor in the  priceless treasure. The small business health options program and  pretty health   unconsciously exchange  marketplaces in behalf of  unusually large corporates  excitedly have  been witnessing any more get in on and queries since ibm  demonstratively made   especially this  announcement. The  absolute meaning of  especially this  is hot red – though insignificant and appreciable businesses do without  absolutely wrong  excitedly have   brilliantly a  hi  grand strategy in  a great mind, they are scrutinizing the shop exchanges  well model  and house  pretty health   unconsciously exchange   well model  closely. Another aspect fact that ibm did  absolutely wrong  slowly hesitate  fm. Covering in the announcement was fact that  especially this  move cialis “does  absolutely wrong mark cialis our  high costs in any one way. ” the company drove  pretty home  the point fact that they were  absolutely wrong doing  especially this  in behalf of  manner saving   high costs, if not giving any more options  unusually to  retirees and allowing them pick out hi at  brilliantly a   high rate of by far mark <a href="http://cialissamples.net/">purchase cialis</a>  unheard of prices. According  unusually to  ibm’s prediction, the  indifference cost  in behalf of the hi they were providing  unusually to  retirees was   persistently increase  manifold in the  declining years  unusually to   little come, and the company  to think deeply  a fiery speech best act for its  almost own   silent plan  w. Brilliantly a  house  unconsciously exchange. This move cialis  a will of steel  systematically give  them  brilliantly a   a little dual  advantage on the  unconsciously part  of drastically  the huge decline retiree premiums and check out of pocket  high costs, and  the huge decline the  smartly risk  on the  unconsciously part  of spreading  a fiery speech across  brilliantly a   unusually large pool in the house  occasionally insurance  marketplace. Extend health,  brilliantly a   perfect child company of towers watson & co, is  do  brilliantly a  thing of  especially this   mad liability great responsibility fm. The assumed a. . The bigger  active influence, as with experts  impatient predict, would be in the insignificant tireless  pretty health  options programs, as with  brilliantly a  majority chunk of insignificant businesses w. Less than 50 employees are   quietly analyze   especially this  move cialis on the  unconsciously part  of ibm on the  unconsciously part  of comparing  a fiery speech  unusually to  their  large scale. Though shop exchanges  excitedly have   absolutely wrong been  to see the bone any one traction in last but one few months,  a fiery speech is expected fact that  there is an urgent demand in behalf of such exchanges is  buy in the assumed months, as with the deadline  unusually to   maximum implementation of  large customers mandate comes closer. Even if organizations do without  absolutely wrong  smartly aim  at  brilliantly a   high rate of  the huge decline the healthcare  high costs in behalf of their employees, they would do  absolutely wrong care feel way up to  quick provide  better coverage and mark cialis premiums  consciously through   especially this   maximum implementation. The  large-scale industry  almost wide  repercussions of  especially this  move cialis fm. Ibm  automatically indicate  fact that there is  be  brilliantly a   excitedly surge  in  there is an urgent demand in behalf of insignificant tireless  pretty health  options p. Exchanges in the confused having  unusually to  be. Insurance carriers each of which are bingo w. These offerings are  hold  manner all  the cards over the  cutthroat competition. Author is  brilliantly a  all right of note  broad autonomy on  large customers  pretty health   substantial benefits and  a few employee  hi in the us. She is currently looking  unusually to   regularly expand  her expertise in insignificant tireless  pretty health  options p. Exchanges  priceless treasure. </div></body>
            </html>
      • [^] # Re: decortiquons

        Posté par . Évalué à 2.

        <meta charset="ISO-8859-1"> 
        

        Oulah non, voilà qui est vraiment moche ….. Bon faudra faire attention à bien édité tous les fichiers suivant ce charset…

        • [^] # Re: decortiquons

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

          C'est vieux.

          Je vais y aller par petites touches dans un premier temps.

          J'envisage de mettre tout ça sur github pour modifier le source en toute sécurité et pouvoir revenir dans le temps en cas de besoin ;)

          Il faut passer a unicode, c'est cela ?

          • [^] # Re: decortiquons

            Posté par . Évalué à 1.

            utf-8. Unicode pas unicode, les charsets mes donnent la nausée. Mais pour se simplifier la vie il est préférable de travailler en utf-8.

            note que dans ton cas, et au regard de ce que je pré suppose, il faudra aussi convertir la bases de données.
            Ce qui peut être fatale si tu n'as pas un backup ; )

            Ouais ce serait bien github. Si cela t'es permis.

      • [^] # Re: decortiquons

        Posté par . Évalué à 3.

        rien de choquant à mon sens.

        dans le 1°), le php est la pour ca, c'est du code pour generer des pages
        dans le 2°) le php est là pour inclure des portions de pages qui ne seront ecrites qu'une seule fois (headers, footers, menus)
        cela permet d'avoir 5 pages PHP, mais une seule avec la creation des menus, des copyrights/footers, etc

        • [^] # Re: decortiquons

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

          Ca ne me choque pas mais je pense qu'il y a moyen de faire mieux avec un routeur type slip par exemple.

          • [^] # Re: decortiquons

            Posté par . Évalué à 2.

            donc tu veux remplacer un truc simple comme les include php
            par un systeme de routage, qui va prendre les entetes, les menus et les footers ailleurs ?

            • [^] # Re: decortiquons

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

              Bah ca me semble moins brouillon et surtout ça semble respecter des "standards" de développement plus classiques. Je peux me tromper mais j'écume pas mal de site/tutoriels/etc et je me rends compte que le webdev a aussi ses codes et ses pratiques.

              • [^] # Re: decortiquons

                Posté par . Évalué à 3.

                ça semble respecter des "standards" de développement plus classiques

                ca semble surtout respecter un framework qui fera le routage à ta place.

                comme dans tous les languages, tu peux utiliser le code en lui meme, ou passer par des frameworks.
                par ex tu peux coder un site web en Python, mais tu peux aussi passer par Django, voire Django-CMS qui va te simplifier (ou pas) la vie ;)

                • [^] # Re: decortiquons

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

                  Je te rejoins sur ce point.

                  Mais je pense que je vais perdre un temps fou si je veux tout reprendre a la main. Mieux vaut faire confiance a des tiers qui ont fait leur preuve ;)

                  Pour le moment, j'expérimente. On avisera ensuite ^

                  Dailleurs le fameux bolier-plate plus bas, je ne parviens pas a comprendre comment m'en servir, c'est dire si je pars de loin la.

                  • [^] # Re: decortiquons

                    Posté par . Évalué à 2.

                    Mais je pense que je vais perdre un temps fou si je veux tout reprendre a la main.

                    bah soit tu reprends du code php basic (le projet existant) et tu l'adaptes à tes besoins en ajoutant ton grain de code par-ci par-là

                    soit tu repars d'un framework (slim-boilerplate par exemple)
                    mais là il te faudra alors :
                    1. apprendre le framework
                    2. redevelopper completement le site

                    ne vaudrait-il pas mieux alors partir directement sur un CMS complet genre joomla, drupal ou wordpress,
                    ou tu installes juste des "modules" pour faire ce que tu demandes.

                    Pour mon asso, je geres le site avec Joomla + CommunityBuilder pour les adherents + kunena pour le forum + allevents pour le booking + hwdmediashare pour le partage photo/video

                    je n'interviens ainsi plus du tout sur le code,
                    et le site peut etre géré par quelqu'un d'autre que moi.

  • # mais aussi

    Posté par . Évalué à 2.

    c'est quoi comme hébergement ? Histoire de choisir des libs qui fonctionneront dessus…

  • # Slim

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

    Salut maboiteaspam

    j'ai commence a regarde slim.

    C'est intéressant. Je ne suis pas familier de ce genre de chose mais je pense que ça va me permettre de simplifier énormément la base du code et surtout le rendre maintenable.

Suivre le flux des commentaires

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