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éfinitive, avec la création et le remplissage de ces deux fichiers, tu sais exactement ce que tu as à faire, et tu n'as plus qu'à te lancer dans le code.

Albert Einstein a dit: "Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement."

Christophe a certainement un peu plus de six ans, mais j'espère l'avoir suffisamment édifié.

A plus !

Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
www.visuweb.net
Le 16/12/2016 à 21:52, Jean-François Colas a écrit :
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:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

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:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

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:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

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

Répondre à