[progliste] Re: travailler le raisonnement, la logique en php

2016-12-16 Par sujet Yannick Youalé

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

2016-12-16 Par sujet Jean-François Colas

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

2016-12-16 Par sujet alex

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

2016-12-16 Par sujet yannick

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�.