Forum Programmation.web Vieux site web PHP -> ?

Posté par . Licence CC By‐SA.
Étiquettes : aucune
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 . É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 . É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 . É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 novembre 2014 à 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 . É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 (site web personnel) . É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 . É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 novembre 2014 à 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 . Évalué à 1.

      Merci.

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

    • [^] # Re: decortiquons

      Posté par . Évalué à 2. Dernière modification le 11 novembre 2014 à 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 novembre 2014 à 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 . É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 . É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 . É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 . É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 . É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.

    • [^] # Re: Slim

      Posté par . Évalué à 2.

      Je te souhaites de réussir.

      A cette fin, je te recommandes ce boiler-plate, au sujet de Slim. Twig est inclut, je te le recommandes aussi d'après ce que j'ai pu voir.

      voilà de quoi kickstarter le projet plus facilement par l'exemple,
      https://github.com/PastorBones/Slim-Boilerplate

      • [^] # Re: Slim

        Posté par . Évalué à 1.

        Top le truc intégré.

        Je vais regarder ça.

        Merci pour l'aide.

Suivre le flux des commentaires

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