Programme générant code automatiquemnet

Eléphanteau du PHP | 43 Messages

25 juil. 2005, 08:59

Bonjour à tous.

Ceci est un sujet un peu particulier, je ne savait pas vraiment si il fallait le mettre dans le forum "développeurs" ou pas, donc j'ai finalement choisi ici.
Ce n'est pas vraiment une question niveau aide php, mais plutôt une question de viabilité du projet.

J'ai dans l'idée de créer un programme qui facilite la programmation php par la suite. En effet depuis un petit bout de temps je fais du php et pour faire un site je me rends compte que c'est toujours la même chose:

Il y a une partie amusante à coder car il y a un défit à relever, mais après ça, tout le reste ce n'est que du traîtement de formulaire et insertion dans la base de donnée.

Donc mon idée consiste à: Créer un programme qui va créer un code valable pour faire une administration facile, fiable, rapide, jolie, qui s'adapte à n'importe quel site.

Je pense que cela pourrait servir à beaucoup de monde. Si je me lance dans un programme de ce genre, ce sera seulement si il sera interessant.

D'où ma question finale:

Est-ce que ce genre de logiciel interesserait du monde? Si oui, seriez-vous près à m'aider un peu pour corriger certaines fonctions php qui seront générées. En effet, autant générer un code bien optimisé et clair.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 juil. 2005, 09:12

Ton idée est assez sympa mais il existe déjà des solutions s'approchant de ce que tu propose : les frameworks.

Cette solution propose de définir un cadre commun à pas mal d'application et de ne développer que les parties spécifiques de l'application
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

25 juil. 2005, 09:29

J'allais répondre quelque chose de similaire à ce que dit zeus : le concept MVC (Model-Vue-Controler) se développe en PHP. Il existe déjà certains frameworks basés sur ce système, :google: t'en indiquera quelques uns. Il reste en fait à mon avis pas mal de place pour un bon système.

J'en suis à l'exploration de PRADO. C'est un framework très intéressant à un détail près : il sort un code HTML invalide avec des balises contenant des attributs complètement fantaisistes. J'ai fait un peu le tour de leur forum et ce point a lancé un débat. Petite surprise, la validité du code de sortie n'est pas leur priorité. Dommage dans un sens, mais pour toi ça voudrait dire qu'il y a une place à prendre.

Cependant je crois que pour développer une application de ce genre qui soit viable, il y a un énorme travail d'analyse et de modélisation avant même d'écrire la plus petite ligne de code. Les problème trouvé dans PRADO et ma patience des plus limitées quant il s'agit de fouiller des collections de scripts tout fait me fait actuellement songer à développer ma propre application. Si ton projet est viable, ça m'intéresse.

PS: Modération: laisson le forum "PHP" aux résolution de problèmes technique, je déplace ce sujet vers "Autre" ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 juil. 2005, 09:32

C'est la maladie des programmes qui sortent du code de faire de l'invalide :langue: DW, FrontPage, ... ;)

Mais si tu as besoin d'aide et selon mes disponibilités futures (si je trouve un job quoi) je veux bien apporter mon obole
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

25 juil. 2005, 09:49

Je dirais que ce types d'applications est trop souvent bâclé. Quand Wei a sorti Prado, il avait un chronomètre dont le tic-tac devait le pousser à couper court à certaines considération. Ça ne l'a pas empéché de gagner le concours lancé par Zend. Actuellement, il y a une discution pour l'élaboration de la version 3 de PRADO, mais je ne me sens pas très motivé. Je préfèrerais sortir un application toute neuve sans contrainte de délai avec des livraison pour hier matin mais sortir un code propre.

Mais il faut impérativement analyser et modéliser avant et complètement. Il faut donc commencer par établir un cahier des charges. Ensuite il faut voir ce qu'on peut ré-utiliser : par exemple pour l'acccès aux données, est-ce qu'on doit utiliser PEAR::DB, pour les templates, la classe template de la PHPLib ou encore SMARTY (que je n'aime pas parce qu'il y a là-dedans à mon sens trop de programmation pour un web-designer). Bref, il ne faut pas perdre son temps à ré-inventer la roue, mais il faut trier soigneusement ce qu'on peut reprendre et ce qu'on doit laisser et développer nous-même.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 juil. 2005, 10:01

Bref, il ne faut pas perdre son temps à ré-inventer la roue
Dans l'idée, je suis d'accord

Mais peut être qu'en mettant un commum l'expérience de chacun, on pourrait arriver à quelquechoses ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 1024 Messages

25 juil. 2005, 10:15

sujet intéressant :)

Je pense aussi qu'il faut reprendre le concept MVC, il est clair et efficace.

Pour les traitements, mon idée est qu'il faut partir d'un modèle de données pour générer les classes de traitement, qui vont ajouter, modifier, supprimer ... les données.


Cyrano, bien vu ton idée de réutiliser PEAR :) (même si je suis pas fan de PEAR ...) :
le principal problème que je trouve au niveau des scripts c'est :
regardez! mon script est super, il fait ça et ça et ça ...
mais il faut tout intégrer à la main :(

si on peut faire un framework - sous forme web - aussi simple à installer que dotclear et riche (reverse ingeneering, nombreuses classes pour valider, utiliser, enregistrer les données, générateur de formulaire/html valide, gestion d'identification selon plusieurs modèles différents, gestion de config, de css ...), j'adhère!

A+

Pascal

Mammouth du PHP | 19672 Messages

25 juil. 2005, 11:07

Est-ce que quelqu'un maitrise un tant soit peu l'UML ? Si on ne modélise pas soigneusement le projet et qu'on bosse "à l'arrache", on va tout droit dans le mur. Moi, je suis partant, mais pour un projet structuré proprement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 19672 Messages

25 juil. 2005, 11:12

Tiens, un lien que vient de me filer daoud : http://php.ftp-developpez.com/sdjournal ... rki_FR.pdf

À ce propos, il serait peut-être intéressant d'élaborer la partie DAO à partir de son projet ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 1024 Messages

25 juil. 2005, 13:08

concernant les templates, je pense qu'il faut etre ouvert :)

si on se base sur PEAR, utiliser une solution qui y est intégrée... et proposer d'en utiliser d'autres via des modules, et proposer aussi le template "PHP" de base.

A+

Pascal

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 juil. 2005, 13:25

C'est le lien de Daoud qui m'avait bien intéressé

Sinon son abstraction du data access à l'air pas mal.
Il ne reste qu'a finir de l'implémenté (Par contre je n'ai pas lu le thread juqu'au bout :oops:)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

25 juil. 2005, 13:27

Ce qui me parait important, c'est d'éviter de faire une "usine à gaz", donc intégrer de l'existant consiste aussi à choisir quelque chose qui ne soit pas déjà une usine à gaz et qu'on le maîtrise correctement.

Concernant las templates, ce que je reproche au système de PRADO, c'est qu'il y a trop de programmation pour le webDesigner comme avec SMARTY, tout "couteau suisse" qu'il soit. Est-ce que les templates de PEAR sont capables de simplifier ? La classe template de la PHPLib peut très facilement être convertie en PHP5 et offre de ce coté là une simplicité d'utilisation difficile à battre, mais elle ne fait pas ce que fait par exemple SMARTY en créant des pages pré-compilées mise à jour seulement si le contenu est modifé. Ça peut peut-être s'adapter pour garder la simplicité d'utilisation.

Mais encore une fois, je crois qu'il ne sert pour le moment à rien de débattre des qualités techniques de telle ou telle application existante tant qu'on a pas défini exactement ce que doit permettre de faire le framework envisagé. On est pas poussés par un chronomètre et le temps d'avoir un système opérationnel complet, on a des chances d'avoir plus de serveurs offrant PHP5 en natif.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

05 sept. 2005, 12:40

:lol:

Eléphanteau du PHP | 24 Messages

09 sept. 2005, 02:43

Étonnant que vous n'avez pas énoncé le logiciel

Codecharge Studio

C'est un outils formidable :), il est capable de générer du code, php, asp, et bien d'autres ....

Il code via des templates & la sécurisation est de rigueur.

Le code source de CG studio a déja gagné pas mal de prix, pour avoir le meilleur code.

Exemple :

Vous avez une grosse db avec pleins de champs a l'intérieur, vous souhaitez faire des tableaux, faire des recherches dedans, classer les résultats, mettre des pages d'identifications, crée des templates etc ...

Lui il vous le génère automatiquement.


Sinon pour en revenir au sujet :) (j'connais rien au framwork etc..)

Vous pensez quoi de faire un genre de fichier fonction, avec toutes les fonction usuel que l'on ce sert souvent.

genre
function insertMysql($tableName, $nom, $login {
insert into $tableName ('', '$nom', '$login')";
}
On peut meme crée des tableaux etc .. faire ce que l'on veut finalement :)

Aprés on peut imaginer de faire un soft en délphi Editeur PHP :)[/php]

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

09 sept. 2005, 09:48

<mode ça_va_faire_grincer_des_dents>

Moi, pour générer du code automatiquement, je prends des stagiaires.
L'avantage, c'est que 9 fois sur 10... c'est gratuit ! :langue:

</mode ça_va_faire_grincer_des_dents>