Discussion:
Autodidacte de PHP (entre autres..)
(trop ancien pour répondre)
Caplande
2011-03-11 19:09:32 UTC
Permalink
Bonjour,

Voilà plusieurs mois que je m'investis dans l'apprentissage de la
réalisation d'applications WEB dynamiques. Mais là je fatigue.

Je souhaite réaliser une application accessible par le WEB qui permette
de gérer un compte commun à plusieurs partenaires, les différents
mouvements de compte étant enregistrés dans une base de données MySQL
(WAMP).
Je parcours le WEB dans tous le sens pour trouver une information pas
trop compliquée sur "comment organiser une telle application, plus
particulièrement comment structurer les répertoires derrière le
répertoire www de Wamp. Comment également s'y prendre pour apporter une
protection contre les intrusions."

Pour parvenir à ce but, je n'obtiens aujourd'hui que des infos
fragmentaires sans savoir les hiérarchiser alors qu'il existe
certainement un site ou un livre qui traite ce sujet de manière
abordable pour un apprenti.

Voilà j'ai été un peu long pour exprimer quelque chose de bien banal,
mais si quelqu'un peut me tuyauter je lui dis par avance un grand merci.

Caplande
Simon Lieb
2011-03-13 22:24:30 UTC
Permalink
Post by Caplande
Bonjour,
Voilà plusieurs mois que je m'investis dans l'apprentissage de la
réalisation d'applications WEB dynamiques. Mais là je fatigue.
Je souhaite réaliser une application accessible par le WEB qui permette
de gérer un compte commun à plusieurs partenaires, les différents
mouvements de compte étant enregistrés dans une base de données MySQL
(WAMP).
Je parcours le WEB dans tous le sens pour trouver une information pas
trop compliquée sur "comment organiser une telle application, plus
particulièrement comment structurer les répertoires derrière le
répertoire www de Wamp. Comment également s'y prendre pour apporter une
protection contre les intrusions."
Pour parvenir à ce but, je n'obtiens aujourd'hui que des infos
fragmentaires sans savoir les hiérarchiser alors qu'il existe
certainement un site ou un livre qui traite ce sujet de manière
abordable pour un apprenti.
Voilà j'ai été un peu long pour exprimer quelque chose de bien banal,
mais si quelqu'un peut me tuyauter je lui dis par avance un grand merci.
Caplande
Bonjour,

J'imagine que la réalisation de cette application te sert aussi à la
découverte et l'apprentissage du php, mais si tu dois répondre
rapidement à un besoin je pense que tu dois pouvoir trouver de tel
solution toute prête à travers Internet (Je ne sais pas si cela
correspondrais, mais régarde du coté du projet nommé Aemanager, censé
aider à la gestion d'une auto-entreprise, mais qui doit pouvoir être
détourné pour ton usage).

Sinon, je ne peux que te conseiller le site du zéro (www.siteduzero.com)
qui possède un très bon tutoriel (officiel) sur l'apprentissage du php
et qui à travers ses tp enseigne beaucoup de choses sur la réalisation
d'un site dynamique à base de php, mais aussi plein d'autre tutoriel
non-officiel de qualité plus variable, mais dans l'ensemble très
correct, sur des points divers (je crois d'ailleurs qu'il y a un tuto
sur "comment organiser son site web", mais je n'en suis pas sur et s'il
existe je ne l'ai pas lu et ne me prononcerais donc pas sur sa pertinence).
Tu y trouvera aussi des articles concernant la sécurité des applis php
(injection sql, XSS, etc)

Quoi qu'il en soit, sache qu'il n'y a pas *une* manière de faire, mais
différentes bonnes pratiques.
Lance-toi ! Essaye, teste, trompe-toi, renseigne-toi, pose des
questions, corrige... C'est la meilleur façon d'apprendre.
Un conseil, publie les sources de ton appli et parle de ton projet
autour de toi, ici sur ce forum, sur des sites tel que le site du zéro
ou developpez.net ou bien d'autres, tu trouvera toujours des ames
charitables qui pourront te donner leur avis et des conseils, voir même
de coup de main. L'open source, et à plus forte raison le libre, c'est
une grande communauté de gens souvent prêt à aider.

En tout cas, bon courage à toi

Simon
Mickael Wolff
2011-03-14 12:42:17 UTC
Permalink
Post by Simon Lieb
Sinon, je ne peux que te conseiller le site du zéro (www.siteduzero.com)
qui possède un très bon tutoriel (officiel) sur l'apprentissage du php
Médiocre est le qualificatif que les professionnels emploient pour
parler de cette ressource. C'est plein de raccourcis et d'approximations
maladroites, avec un ton faussement cool qui décrédibilise un peu plus
les documents.

À éviter.
Simon Lieb
2011-03-14 21:27:43 UTC
Permalink
Post by Mickael Wolff
Post by Simon Lieb
Sinon, je ne peux que te conseiller le site du zéro (www.siteduzero.com)
qui possède un très bon tutoriel (officiel) sur l'apprentissage du php
Médiocre est le qualificatif que les professionnels emploient pour
parler de cette ressource. C'est plein de raccourcis et d'approximations
maladroites, avec un ton faussement cool qui décrédibilise un peu plus
les documents.
À éviter.
Ha ? Ce n'est pas tout à fait le retour que j'ai autour de moi.

Je reconnais qu'il y a effectivement quelques approximations, mais je
pense que débuter par ce cours n'est pas forcement une mauvaise chose.
Il a malgré tout un coté assez didactif et permet de faire le tour des
technique de bases.
Mais c'est vrai qu'un utilisateur averti ne fera pas reposer toutes ces
connaissance uniquement sur ce tutoriel.
Poursuivre en utilisant d'autres sources plus pointu et toujours avec la
doc officiel est évidement nécessaire.

Aurais tu un meilleur tutoriel à proposer ?
Mickael Wolff
2011-03-15 14:39:56 UTC
Permalink
Post by Simon Lieb
Ha ? Ce n'est pas tout à fait le retour que j'ai autour de moi.
Tu es mal entouré :p
Post by Simon Lieb
Aurais tu un meilleur tutoriel à proposer ?
Je ne pense pas que les tutoriels soient adaptés à la programmation.
Quand il s'agit de déployer une solution, d'utiliser un logiciel, un
tutoriel est tout à fait adapté. Mais dans le cadre de la programmation,
c'est trop compliqué de simplifier. Même certains livres, de plusieurs
centaines de page, sont sans intérêt voir franchement faux. Alors
imagine un tutoriel qui montre une manière de faire, approximative, et
tu retrouve l'approximation un peu partout.

L'exemple le plus flagrant est le développement d'un formulaire de
contact. A priori c'est simple, on écrit le HTML correspondant, on le
rend éventuellement inter-actif avec du Javascript, puis on écrit le
code PHP derrière, en enregistrant directement les données en base et en
envoyant un courriel.
Ça marche.
Jusqu'à ce qu'interviennent les méchants qui vont détouner ce
formulaire. la plupart du temps les tutoriels ne s'en formularisent pas,
car leur objectif est précis et permet de croire qu'il est trivial de
faire quelque chose de complexe, qui requiert de l'expértise.
C'est pour ce genre de raison que je ne peux pas conseiller de
tutoriels. C'est trop simpliste, pour un ensemble de problèmes qui
requiert plus que deux blagues et un Carambar.

Le mieux, c'est de te procurer un livre (pas celui du SdZ), et de
suivre le cheminement en réalisant les exercices proposés. Les Cahiers
du Programmeurs sont assez atypiques, mais ils sont bien fait et
permettent d'aborder des points qu'on a pas forcément l'habitude
d'aborder. Il y a certainement d'autres ouvrages de qualité, mais je
n'en connais pas.
Ensuite, inscris-toi à des listes de diffusion et des blogs.
Nexen.net est un bon point de départ, ainsi qu'une planète PHP.

Et essaye de ne pas être trop ambitieux au départ, fait des choses
simples et soumets-les à critique (code review). Je pense que ce ne
serait pas HC si tu fais un appel à revue de code sur ce forum.

Si maintenant tu t'acharnes à utiliser des tutoriels, n'oublie pas
d'avoir un regard critique sur ces matériels. Il m'arrive de les
utiliser dans une recherche.
Une Bevue
2011-07-06 20:11:49 UTC
Permalink
Post by Mickael Wolff
Médiocre est le qualificatif que les professionnels emploient pour
parler de cette ressource. C'est plein de raccourcis et d'approximations
maladroites, avec un ton faussement cool qui décrédibilise un peu plus
les documents.
À éviter.
tout-à-fait d'accord !
Mickael Wolff
2011-03-14 12:42:17 UTC
Permalink
Post by Caplande
Je parcours le WEB dans tous le sens pour trouver une information pas
trop compliquée sur "comment organiser une telle application, plus
particulièrement comment structurer les répertoires derrière le
répertoire www de Wamp. Comment également s'y prendre pour apporter une
protection contre les intrusions."
Programmer est compliqué. Si tu trouves des ressources qui sont
simples, c'est qu'elles prennent des raccourcis et oublient l'essentiel,
là où le diable se cache.

Pour les protections contre les intrusion, le problème est complexe,
mais quelques bonnes pratiques permettent de se prémunir de la plupart
des attaques. Tout le monde n'est d'ailleurs pas d'accord sur ce qui est
à faire ou non. C'est à toi de choisir.
Le plus important est de comprendre ce que tu fais, et de ne pas te
contenter d'un heureux hasard. Si quelque chose fonctionne, il faut que
tu saches pourquoi.
Post by Caplande
Pour parvenir à ce but, je n'obtiens aujourd'hui que des infos
fragmentaires sans savoir les hiérarchiser alors qu'il existe
certainement un site ou un livre qui traite ce sujet de manière
abordable pour un apprenti.
Le mieux que tu puisse faire est de forger, et de demander l'avis de
personnes plus expérimentées qui pourront te donner un avis.

Une collection que j'apprécie particulièrement, c'est celle des «
Cahiers du Programmeur »
<http://www.editions-eyrolles.com/Collection/1291/les-cahiers-du-programmeur>
Web Dreamer
2011-03-22 11:43:28 UTC
Permalink
Caplande a écrit ce vendredi 11 mars 2011 20:09 dans
Post by Caplande
Bonjour,
Bonjour,
Post by Caplande
Voilà plusieurs mois que je m'investis dans l'apprentissage de la
réalisation d'applications WEB dynamiques. Mais là je fatigue.
[...]
Post by Caplande
Pour parvenir à ce but, je n'obtiens aujourd'hui que des infos
fragmentaires sans savoir les hiérarchiser alors qu'il existe
certainement un site ou un livre qui traite ce sujet de manière
abordable pour un apprenti.
Je ne peut que trop te conseiller ce livre:
http://tinyurl.com/47enru3

suivi de celui-ci:
http://tinyurl.com/46tjmsw
Ce livre donne l'exemple du devloppement d'un carnet d'adresse web
(Il faut avoir lu le précédent "avant" pour bien comprendre).

Il te sera expliqué dans ces livres comment éviter les injections SQL, le
cross-site-scripting, et j'en passe.

Attention, si tu as bien lu le premier, les quelques petites erreurs du
deuxième te sauteront aux yeux. mais il n'en reste pas moins bien pour
expliquer le principe.

Aussi si tu veux que ce soit un site maintenable, évite à tout prix de
mélanger PHP, HTML, CSS et JavaScript dans les mêmes fichiers, (j'ai vu des
professionnels le faire, c'est in-maintenable). Essaye donc de créer des
templates réutilisables que tu "include" (ou "include_once").

Le mieux est d'apprendre à utiliser un framework:
http://www.symfony-project.org/
ou:
http://codeigniter.com/

Il y a ce bouquin qui traite des 2 frameworks ci-dessus, mais je ne puis me
prononcer ne l'ayant encore lu:
http://tinyurl.com/2vr8qzm

Bon courage et bonne chance.
--
Web Dreamer
Mickael Wolff
2011-03-23 12:55:20 UTC
Permalink
Post by Web Dreamer
Aussi si tu veux que ce soit un site maintenable, évite à tout prix de
mélanger PHP, HTML, CSS et JavaScript dans les mêmes fichiers, (j'ai vu des
professionnels le faire, c'est in-maintenable). Essaye donc de créer des
templates réutilisables que tu "include" (ou "include_once").
C'est même la règle en PHP, malheureusement, donc il faut quand même
pour comprendre les horreurs qu'on rencontre dans sa vie professionnelle.
Une Bevue
2011-07-06 20:11:49 UTC
Permalink
Post by Web Dreamer
http://www.symfony-project.org/
celui-là demande mysql, je n'en ai pas besoin.
Post by Web Dreamer
http://codeigniter.com/
celui-là aussi demande une database.

personnellement je recherche un framework permettant de développer une
appli --personnelle-- de gestion de mots de passe, clés de logiciels etc...

j'ai besoin de deux interfaces :
l'une "normale" sous un butineur standard ;
l'autre spécofique au butineur de l'iPhone

par ailleurs, mes données sont enregistrées dans un fichier xml sur le
serveur

donc, ce que je souhaite gérer :

affichage des entrées
ajout d'une entrée
modification d'une entrée
suppression d'une entrée

c'est assez basique.

mon code (xh)html est produit par une feuille de style xsl.
SAM
2011-07-13 22:09:37 UTC
Permalink
ça date un peu, et probablement tu as trouvé une autre solution ...
Post by Une Bevue
l'une "normale" sous un butineur standard ;
l'autre spécofique au butineur de l'iPhone
ça ce devrait être réglé par une simple feuille de styles
Post by Une Bevue
par ailleurs, mes données sont enregistrées dans un fichier xml sur le
serveur
affichage des entrées
ajout d'une entrée
modification d'une entrée
suppression d'une entrée
c'est assez basique.
mon code (xh)html est produit par une feuille de style xsl.
Je ne comprends pas que tu ne fasses pas simplement un formulaire
(qui s'auto-remplit avec les données déjà connues)
auquel on peut rajouter une rangée pour la création d'une nouvelle "fiche"

Pourquoi passer par du xml+xls alors que tu es en php, que la sauvegarde
des "données" peut être réalisée par un simple fichier texte.


Le fichier de gestion en php
- est protégé par un MdP (.htacces )
- lit le fichier de sauvegarde
- pour chaque ligne crée une rangée (d'un table)
- pour chaque donnée crée une cellule avec un input
- en fin de lecture crée les boutons
- ajout de données (clone en JS d'une rangée)
- sauvegarde (submit)
--
Stéphane Moriaux avec/with iMac-intel
Continuer la lecture sur narkive:
Loading...