[progliste] Re: travailler le raisonnement, la logique en php
Salut à tous, Je suis du même avis que J-F, mais élargirai cependant la question pour être sûr que notre petit Christophe a toutes les cartes en main. En matière de développement de logiciel en général, et de développement de site/application web en particulier, je me suis servi à la base de la méthode de l'arbre programmatique décrite par Philippe Boulanger sur son site. Ensuite, avec quelques personnalisations dus à mon expérience personnelle et à l'inspiration que m'ont apporté les méthodes des développeurs web avec lesquels j'ai travaillé, voici en gros ma méthode synthétique: 1. L'établissement d'un cahier des charges. Il doit comporter les parties suivantes: 1.1. La description du projet Il s'agit d'un ensemble d'informations à renseigner dont voici un exemple: Titre du projet: Application web de gestion du personnel Maître d'oeuvre: Société progliste Maître d'ouvrage: Yannick Youalé tél: 655 35 49 80 Autres participants: * Christophe Garnier Date début développement: 15/06/2016 Date fin développement: Description du projet: * une application web de gestion des différents aspects des ressources humaines en ligne; * les aspects seront: employés, contrats, congés, absences, paie, missions... * les aspects seront gérés par modules activables et désactivables; * une section "employés" permettra aux employés d'une entreprise: de communiquer entre eux, d'être informés par un système de news, d'émettre des requêtes, de plannifier leurs taches individuellement ou collectivement. * Les entreprises pourront s'y abonner moyennant un règlement mensuel; Buts/objectifs: * faire de la publicité à la progliste; * gagner de l'argent Technologies employés: * php5, javascript, ajax, html5, css3, json, xml, mysql Nom de domaines à souscrire: * www.progliste_rh.com Nécessités d'hébergement: * espace disque minimum: 100 go Nb de bases de données minimum: 3 Etc... 1.2. La description des informations à manipuler par le site/application Il s'agit grossomodo de décrire les informations qui devront être stockées dans une éventuelle base de données ou un fichier xml, ou autre. Exemple un peu grossier mais facilement compréhensible de conceptualisation des information à gérer les missions: table mission id_mission (clée primaire, auto_incrément) id_employe (clée étrangère) fonction (texte(40)) id_entreprise (clée étrangère) date_ordre lieu raison date_debut date_fin id_type_transport (clée étrangère) precision_transport total_frais observation (text(255)) table tarifaire_mission idtarifaire_mission (clée primaire, auto_incrément) cat ech type montant table type_transport id_type_transport (clée primaire, auto_incrément) nom_type_transport Etc... 1.3. La liste des pages et sous-pages Il s'agit de lister les pages du site/application avec dans un premier temps uniquement un descriptif du visuel qui apparaîtra au final. On peut le faire en deux phases: * d'abord la description des patrons ou modèles qui seront utilisés pour l'affichage de la plupart des autres pages; * ensuite la description des spécificités des autres pages. Ci dessous, je ne le ferai que pour le deuxième cas. Et il est important que les pages listées le soient avec un système de numérotation comme vous verez ci-dessous: 1. page d'accueil Description: accueille le visiteur, présente de manière succinte la progliste, propose des liens vers les différentes offres de la progliste, et parle de manière sommaire des dirigeants de la progliste, affiche une animation. 1.1. présentation de la progliste Description: présente de manière plus détaillé la progliste avec: son histoire, ses membres, ses dirigeants, ses objectifs. 1.2. Nos offres Description: présente es différentes offres commerciales de la progliste, les prix, les moyens de contact et de règlement... 1.3. Nos contacts Descripton: affiche les informations de contact et un formulaire de contact. 1.2. Espace entreprise Description: dirige vers un formulaire d'identification du responsable d'une entreprise inscrite sur le site/application. Et propose également un lien pour tester l'application aux visiteurs non inscrits. 1.2.1. Accueil entreprise Description: affiche la liste des rubriques auxquels a droit l'entreprise qui s'est loguée; Affiche des statistiques sur chaque rubriques. Etc... 2. Le détail des fonctionnalités Cette phase-ci, je préfère généralement la faire dans un fichier distinct de celui du cahier des charges. Et c'est ici qu'il est bon selon moi qu'interviennent les conseils de J-F. D'abord décrire globalement une fonctionnalité, puis la détailler si trop complexe. Il est essentiellement question de la décrire par des phrases courtes, ou directement par des algorithmes. On peut alors regrouper les fonctionnalités par groupes avec un connecteur commun, ou alors par ordre d'arrivée, c'est selon. En dÃ
[progliste] Re: travailler le raisonnement, la logique en php
Hello la ml, Très modestement, je dirais bien que peut-être tout est un peu dans le "certaines choses". Si ces choses sont floues à expliquer, une piste est de tenter de mettre tout ça par écrit. D'abord en très gros, puis de plus en plus détaillé. Diviser le problème en plusieurs plus petits au besoin. Petite expérience de programmeur absolument pas pro et plutôt très occasionnel: Perso je n'aime pas bien faire comme ça, pour deux raisons: 1) ça me fait perdre du temps; et 2) ce que j'écris au début, n'a souvent plus grand-chose à voir avec ce que ça donne à la fin. Mais il y a pour moi pourtant un gros avantage: si je commençais direct à programmer, j'aurais l'impression que je dois immédiatement faire quelque chose de fonctionnel et figé. Si j'écris d'abord, je sais que ce sera bien plus facile de revenir sur n'importe quelle phrase. Alors si je me dis qu'un problème va me dépasser, je me résous à commencer par coucher mes idées sur le papier. En général je ne termine pas l'analyse dans les règles de l'art, mais à un moment donné je me send déjà un peu prêt à me plonger dans du code, même partiel. Le code que j'écris m'a plusieurs fois amené à réviser ce que j'avais envisagé au départ... Après, peut-être que, à côté de la piste P O O suggérée par Abdel, des sites d'algorithmique pourraient représenter une source possible pour des actions qui seraient peut-être similaires à celles envisagées... J.-F. Le 15/12/2016 10:04, Christophe GARNIER a écrit : bonjour. je commence a connaitre pas mal de choses techniques en php. par contre pour faire certaines choses, je manque de logique, jai du mal a bien raisonner pour mener a bien le projet que jai en tête. comment travailler ceci? si vous avez des pistes je suis preneur. bonne journee. Envoyé de mon iPhoneProgliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.
[progliste] Re: travailler le raisonnement, la logique en php
coucou, je retrouve sa dans mon bazar et je t'enverai sa. - Original Message - From: "yannick" To: Sent: Friday, December 16, 2016 9:04 AM Subject: [progliste] Re: travailler le raisonnement, la logique en php salut moi je serais intéréssé, merci ! Le 16/12/2016 à 08:47, alex a écrit : coucou, je dois avoir le bouquin du PHP en POO si besoin. - Original Message - From: "Abdel" To: Sent: Friday, December 16, 2016 7:52 AM Subject: [progliste] Re: travailler le raisonnement, la logique en php Coucou Christophe, Comme je vois que tu n'as pas encore reçu de réponse, si j'ai un conseil à te donner, ce serait désormais, de raisonner en orienté objet. Si tu as commencé en PHP procédural, ce qui est le cas pour moi, il est grand temps de passer au PHP orienté objet, tu verras, ce sera peut-être un peu compliqué au début, mais tu t'y habitueras, d'ailleurs, je pense que tu t'y es certainement déjà mis. Voici un tuto sur OpenClassrooms qui explique comment transformer des tableaux provenant de formulaires en objets, comment les stocker dans une bdd, etc. https://openclassrooms.com/courses/programmez-en-oriente-objet-en-php/manipulation-de-donnees-stockees Cette technique est d'ailleurs utilisée par les frameworks. En gros, la POO devrait te permettre de mieux organiser ton code. Par exemple, si tu as un forum, tu pourras créer des classes rangées dans des modules pour récupérer chaque formulaires dans un objet, avec une méthode pour les hydrater, et un autre module pour gérer les communications avec la BDD, genre, inscription, désinscription, récupération des inscrits, etc. Si tu utilises un framework, ce que je te conseille d'ailleurs, tu éprouveras peut-être des difficultés à te familiariser avec au début, mais il devrait te faciliter au final, la réalisation de toutes ces tâches. Ce que j'apprécie particulièrement dans la POO, c'est qu'elle permet de tout bien classer, comme si tu avais un placard avec des compartiments bien distincts pour chaque type de choses. Voili voilou, merci à toi. Bien amicalement, Abdel. Le 15/12/2016 à 10:04, Christophe GARNIER a écrit : bonjour. je commence a connaitre pas mal de choses techniques en php. par contre pour faire certaines choses, je manque de logique, jai du mal a bien raisonner pour mener a bien le projet que jai en tête. comment travailler ceci? si vous avez des pistes je suis preneur. bonne journee. Envoyé de mon iPhoneProgliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de
[progliste] Re: travailler le raisonnement, la logique en php
salut moi je serais intéréssé, merci ! Le 16/12/2016 à 08:47, alex a écrit : coucou, je dois avoir le bouquin du PHP en POO si besoin. - Original Message - From: "Abdel" To: Sent: Friday, December 16, 2016 7:52 AM Subject: [progliste] Re: travailler le raisonnement, la logique en php Coucou Christophe, Comme je vois que tu n'as pas encore reçu de réponse, si j'ai un conseil à te donner, ce serait désormais, de raisonner en orienté objet. Si tu as commencé en PHP procédural, ce qui est le cas pour moi, il est grand temps de passer au PHP orienté objet, tu verras, ce sera peut-être un peu compliqué au début, mais tu t'y habitueras, d'ailleurs, je pense que tu t'y es certainement déjà mis. Voici un tuto sur OpenClassrooms qui explique comment transformer des tableaux provenant de formulaires en objets, comment les stocker dans une bdd, etc. https://openclassrooms.com/courses/programmez-en-oriente-objet-en-php/manipulation-de-donnees-stockees Cette technique est d'ailleurs utilisée par les frameworks. En gros, la POO devrait te permettre de mieux organiser ton code. Par exemple, si tu as un forum, tu pourras créer des classes rangées dans des modules pour récupérer chaque formulaires dans un objet, avec une méthode pour les hydrater, et un autre module pour gérer les communications avec la BDD, genre, inscription, désinscription, récupération des inscrits, etc. Si tu utilises un framework, ce que je te conseille d'ailleurs, tu éprouveras peut-être des difficultés à te familiariser avec au début, mais il devrait te faciliter au final, la réalisation de toutes ces tâches. Ce que j'apprécie particulièrement dans la POO, c'est qu'elle permet de tout bien classer, comme si tu avais un placard avec des compartiments bien distincts pour chaque type de choses. Voili voilou, merci à toi. Bien amicalement, Abdel. Le 15/12/2016 à 10:04, Christophe GARNIER a écrit : bonjour. je commence a connaitre pas mal de choses techniques en php. par contre pour faire certaines choses, je manque de logique, jai du mal a bien raisonner pour mener a bien le projet que jai en tête. comment travailler ceci? si vous avez des pistes je suis preneur. bonne journee. Envoyé de mon iPhoneProgliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�. Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.