Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Les Langages Du Web _ Js ou php

Écrit par : Neuf50 25 Nov 2011, 10:24

Bonjour
Dans un premier temps, je me suis posé la question de l'utilisation d'objC dans une page html (forum programmation). Je sais maintenant que ce n'est pas possible.
Je voudrais savoir, pourquoi utiliser du Javascript ou du php. Quel est l'avantage de l'un par rapport à l'autre. Côté client ou côté serveur ?
Merci

Écrit par : Macintosheux 25 Nov 2011, 10:29

Citation (Neuf50 @ 25 Nov 2011, 10:24) *
Côté client ou côté serveur ?

Exactement. wink.gif
PHP : serveur.
Javascript : client.

Sachant qu'avec une petite astuce, tu peux déclencher un traitement php depuis javascript (voir Ajax).

Tu veux faire quoi ? smile.gif

Écrit par : Neuf50 25 Nov 2011, 15:43

Juste connaître l'avantage de l'un par rapport à l'autre, pourquoi plus l'un que l'autre ?

Écrit par : Bru 25 Nov 2011, 17:13

Citation (Neuf50 @ 25 Nov 2011, 15:43) *
Juste connaître l'avantage de l'un par rapport à l'autre, pourquoi plus l'un que l'autre ?


Je suppose que tu ne connais absolument pas les technos web, ni le protocole http...
Il me semble très important que tu te documentes un peu là dessus avant d'aborder les points développement (et langages ad'hoc).
Car je te vois mal parti...

Écrit par : jfaime 25 Nov 2011, 18:15

Salut

Pour ce qui est du PHP, c'est de serveur qui l'interprète et retourne au navigateur le code HTML de ta page.

Pour ce qui est du JavaScript, c'est le navigateur qui l'exécute, il suffit que l'option soit désactivé dans ce dernier pour que ton code fasse un flop sad.gif (Voir dans Safari/préférence /Sécurité).

Écrit par : yponomeute 25 Nov 2011, 19:01

Salut,

Js et php ne sont pas des langages "en concurrence" ce sont plutôt des langages complémentaires mais c'est vraiment très simpliste comme réponse. Ce n'est pas l'un ou l'autre, c'est l'un et l'autre.

Le site de référence de php c'est php.net http://www.php.net/manual/fr/faq.general.php

Pour javascript wikipédia c'est un bon point d'entrée du web sur ce sujet http://fr.wikipedia.org/wiki/JavaScript

Écrit par : Neuf50 25 Nov 2011, 19:11

Pour Bru
C'est en partie vrai mais grâce à iWeb, j'ai pu créer un site pour une poétesse 'http://magdeleinewanda.franceserv' et j'espère l'améliorer d'où certaines questions.

Pour jfaime
Merci c'est très clair À+

950

Écrit par : jfaime 25 Nov 2011, 20:52

Salut

Bien souvent PHP est associé à un moteur de base de données tel que MySql , pour généré http://fr.wikipedia.org/wiki/Page_web_dynamique, pour des pages web statiques vaut mieux employer HTML5 , JS et CSS, c'est plus facile à mettre en oeuvre. wink.gif

Écrit par : Neuf50 26 Nov 2011, 15:04

Bonjour
Bon, je pensai ne pas avoir au PHP mais je pense devoir m'y mettre.
Merci a vous
Salutations
950

Écrit par : schlum 26 Nov 2011, 20:16

Citation (Neuf50 @ 25 Nov 2011, 20:11) *
Pour Bru
C'est en partie vrai mais grâce à iWeb, j'ai pu créer un site pour une poétesse 'http://magdeleinewanda.franceserv' et j'espère l'améliorer d'où certaines questions.

Pour jfaime
Merci c'est très clair À+

950


Faire du développement n’a absolument rien à voir avec l’utilisation d’un logiciel comme iWeb… Et ça ne s’invente pas désolé wink.gif Au pire, tu risques d’ajouter des trous de sécurité à ton site et de le rendre facilement hackable.

Écrit par : Neuf50 8 Feb 2012, 10:51

Bonjour
Merci de la mise en garde et je mettrais tout en œuvre pour ne pas avoir trop de trous!
En attendant, j'ai donc progressé dans JS et j'ai ajouté du code html dans une page faite sous iWeb '08 pour utiliser un formulaire. L'ajout du code est obligatoire car je n'ai pas trouvé dans iWeb la méthode pour mettre des boutons radio ou autre case à cocher!
J'ouvre ma page dans safari et tout fonctionne. Mais lorsque je l'ouvre dans iWeb le formulaire n'existe pas!!
Alors y a t il une bidouille pour faire apparaître les modifs insérées dans le fichier html et éviter de les voir disparaître lorsque j''édite dans un dossier' ?
Merci

Écrit par : Jaypee 9 Feb 2012, 20:36

Les formulaires sont des points faibles, et la cible privilégiée des attaques.
Si tu n'as vraiment aucune expérience de programmation web et de sa sécurité, tu t'exposes à de gros soucis.

L'un des principes de base, est de ne jamais utiliser telles quelles, les valeurs saisies dans les champs textes. Il faut absolument passer tous ces textes par une fonction qui analyse les apostrophes. et les caractères autorisés ou pas. Pourquoi ?

Parce avec une base de données tout est considéré comme du texte, et donc supposons qu'il y ait un champs âge, numérique, en SQL on le traitera comme du texte:

Code
select * from personnes where age > '18'


Je vais faire une grosse exagération pour expliquer, ceci n'est pas la réalité:
Imaginons qu'un mauvais programmeur, utilise le champs age sans l'analyser avant. Imaginons qu'au lieu de saisir 18, on saisisse ceci : 0'; call unefonction --
On éxécutera donc l'SQL suivant:
Code
select * from personne where age > '0'; call unefonction --'


Le -- est l'introducteur d'un commentaire en fin de ligne pour neutraliser la deuxième apostrophe. On a refermé prématurément la chaine contenant l'age, et on serait prêt à éxécuter call unefonction qui pourrait faire de vilaines choses.

On peut aussi contourner des critères de sélection pour lire d'autres enregistrements:
Code
select * from personnes where nom = 'dupont'


Au lieu de saisir dupont dans le champs nom, on saisit: ' or '1' = '1' --
Code
select * from personnes where nom = '' or '1' = '1' --'


Voilà on vient de lire la table entière au lieu de lire juste la ligne concernant 'dupont'

Vu?
J-P

Écrit par : Neuf50 10 Feb 2012, 12:07

Merci des précisions, je présume que le regex sont utiles dans ces cas.

Écrit par : schlum 10 Feb 2012, 13:53

Non, aucun rapport ^^

Écrit par : iRed 10 Feb 2012, 14:29

Citation (Neuf50 @ 10 Feb 2012, 12:07) *
Merci des précisions, je présume que le regex sont utiles dans ces cas.

Pas besoin d'utiliser de regex, des fonctions PHP sont disponibles pour se protéger: http://php.net/manual/en/function.mysql-real-escape-string.php

Ca ne fait pas tout, mais c'est déjà un bon début :-)



Écrit par : Neuf50 10 Feb 2012, 17:47

Bon d'accord, mais php n'est pas encore d'actu! Mais tout cela ne me dit pas pourquoi mon formulaire n'est pas visible dans iWeb lorsque je mets le html directement dans le code?

Écrit par : schlum 10 Feb 2012, 17:50

iWeb n’est pas fait pour ça… Il faut voir si c’est visible dans un navigateur surtout.

Écrit par : Neuf50 15 Feb 2012, 15:30

Alors à quoi il sert si l'on ne peut pas faire un site réel avec?
En attendant, comme mon site est hébergé, dois je mettre une copie de PHP dans mes dossiers sur site pour pouvoir utiliser PHP ?

Écrit par : Nicosa 15 Feb 2012, 15:47

Citation (Jaypee @ 9 Feb 2012, 20:36) *
Parce avec une base de données tout est considéré comme du texte, et donc supposons qu'il y ait un champs âge, numérique, en SQL on le traitera comme du texte
Euh... c'est p'tet vrai pour mySQL, mais certaines autres BDD (Oracle RDBMS notamment), si on utilise, comme l'indique les best practices, des bind variables, on se protège de toute SQL injection.

Écrit par : schlum 15 Feb 2012, 16:11

Citation (Neuf50 @ 15 Feb 2012, 15:30) *
Alors à quoi il sert si l'on ne peut pas faire un site réel avec?
En attendant, comme mon site est hébergé, dois je mettre une copie de PHP dans mes dossiers sur site pour pouvoir utiliser PHP ?


Ça veut dire quoi « site réel » ? Le « créneau » d’iWeb, ce sont les sites personnels de présentation (notamment intégartion facile de photos, albums, films, fiches, podcasts…). Ce n’est pas fait pour faire du dynamique.

Écrit par : Neuf50 15 Feb 2012, 18:59

C'est bien ce que j'avais compris. C'est pour cela que je voulais m'en servir comme base pour pouvoir récupérer ensuite le html puis améliorer en y mettant un peu de dynamique.
Doit on mettre une copie php dans ses fichiers lorsque le site est chez un hébergeur?

Écrit par : hubeert 15 Feb 2012, 21:06

coucou;

Non; l’hébergeur accepte le PHP et il indique la version qu'il accepte.
Java script c'est ta machine qui " interprète" les ordres et les transmet au navigateur
PHP c'est la machine du serveur qui "interprète" tes ordres et qui les transmet au navigateur

Écrit par : macuserfr 15 Feb 2012, 23:11

@Neuf50: iWeb comme tout autre programme réalisant des sites Internet sans nécessiter de toucher au code (HTML/CSS/JS/PHP/autre) sera forcément limité dans ses fonctions. Pourquoi? Parce qu'on peut pas tout faire par du "presse bouton".

Comme tu l'as remarqué, si tu touches manuellement au code, ensuite le programme est perdu et ne sait plus trop comment réagir car il trouve des éléments qu'il ne connait pas forcément. Donc à partir du moment où tu touches manuellement au code de ton site, je te conseille de ne pas revenir sur le programme d'origine.

Ensuite, pour la création d'un formulaire, ça se fait en général en HTML, le formulaire étant ensuite envoyé à un programme pour traitement. Ce programme est généralement du PHP/MySQL pour la simple raison que c'est "LA" (seule) méthode acceptée par les hébergeurs "pas cher". Mais si tu dispose d'un serveur dédié (une machine entièrement à toi, pas un simple contrat d'hébergement mutualisé) tu peux réaliser ta programmation en à peu près n'importe quel langage (Java, Python, C/C++, ...).

Comme a été dit plus haut, le PHP et le Javascript ne sont pas concurrents, mais complémentaires. T'utilises du PHP pour piocher des données dans la base SQL (si besoin) et monter la page (générer le code HTML) qui est envoyée au navigateur. T'utilises du javascript ensuite pour manipuler si besoin les objets de la page une fois qu'elle est déjà affichée dans le navigateur (faire de beaux menus accordéon, montrer une photo en slideshow en cliquant dessus, toute opération qui modifie l'aspect de la page sans en recharger une autre).

Vu qu'apparemment tu débutes, je te conseille de jeter un oeil sur les tutoriels très bien faits du http://www.siteduzero.com/tutoriel-3-13666-apprenez-a-creer-votre-site-web-avec-html5-et-css3.html. Ensuite, perso j'ai toujours le site http://w3schools.com/ sous la main pour une référence rapide à telle ou telle balise HTML ou CSS. Le http://www.php.net/manual/fr/funcref.php est incontournable pour apprendre (ou se rappeler) des fonctions qui existent. Et pour finir, j'aime bien la https://developer.mozilla.org/fr/JavaScript concernant JavaScript.

Il y a plein de notions différentes et c'est pas facile de tout intégrer du premier coup. Je suggère que tu suives dans l'ordre les tutos du site du zéro à ton rythme avant de vouloir mixer toutes les technos ensemble.

Bon courage!

Écrit par : Jaypee 16 Feb 2012, 07:22

Dans la méthode macuserfr, il existe des aides, ce sont les frameworks de développement web.

Dans ce cas, on n'apprend plus vraiment le langage de script, mais la manière de l'utiliser dans le cadre prédéfini, on ajoute le "bout de code qui va bien là où il faut"

Certains préfèrent apprendre vraiment et ne pas déléguer, d'autres préfèrent aller vite.

Une évolution importante a été inspirée par le monde Ruby et son Framework RubyOnRails, mais peu d'hébergeurs généralistes le supportent. Mais les autres langages s'en sont intelligememnt inspirés.

Pour PHP je viens de trouver dans ce genre de "gabarit de création de site web", Akelos http://www.akelos.org/ qui s'il fait ce qu'il dit, devrait être très facile à mettre en œuvre

J-P

Écrit par : macuserfr 16 Feb 2012, 08:55

Effectivement, après il y a les frameworks... J'en ai pas parlé car ça rajoute encore une couche d'apprentissage. Une fois qu'on est à l'aise avec le langage et qu'on sait ce que peut faire le framework c'est effectivement un gain de temps. Par contre, avant de le dominer on risque d'être noyé dans les diverses documentations et être frustré de pas arriver à avancer à force de vouloir faire de "grands pas". Pour apprendre, je préfère faire de petits pas mais savoir où je mets mes pieds. Mais ce n'est que mon point de vue.

En Javascript il y a http://mootools.net/ comme framework pour réaliser tout un tas d'actions facilement. En PHP, http://symfony.com/ est assez à la mode. Il a été utilisé entre autres pour réaliser le site de Macbidouille. En regardant la video avec la demo sur leur site on voit que ça n'a plus grand chose à voir avec PHP dans la saisie du code, les fonctions pour réaliser un blog sont générées à partir d'une dizaine de commandes en moins de 5 minutes.

Et on a pas parlé des CMS comme Joomla ou Drupal qui permettent de mâcher une bonne partie du travail et introduisent leur framework pour le développement d'extensions.

Cependant, vu les questions de Neuf50, il en est pas encore là. Neuf50, tu nous a parlé du site sur lequel tu comptais ajouter un formulaire, mais pas vraiment de tes intentions. Est-ce que tu veux apprendre le développement web "à fond pour devenir un pro", est-ce que tu te contente de créer ton formulaire sans forcément te soucier de comment ça marche une fois que c'est en place?

La méthode que je décris c'est pour avoir de bonnes bases et apprendre les langages de manière générale. Effectivement, si ton seul souci c'est de trouver des bouts de code qui fassent ce que tu veux, tu peux plus ou moins t'en sortir avec google et des fonctions toutes prêtes avec lesquelles t'aura aucune idée de comment ça marche sous le capot. Une façon simple, sans code à apprendre pour faire un site avec formulaires c'est d'utiiliser Google Sites. Avec un tableur et un script copié de tutos sur le net tu peux avoir un formulaire en 5 minutes sans te soucier du pourquoi du comment.

Écrit par : Neuf50 16 Feb 2012, 09:39

Merci à tous pour ces renseignements qui manquaient sur le site zéro (très bon et clair), bravo à iWeb pour ça facilité d'utilisation et dommage qu'il n'aille pas plus en avant. J'espère rester vigilant sur les envois des visiteurs grâce à php et avec JS faire de bonnes animations!
Au revoir.

Écrit par : Neuf50 27 Apr 2012, 18:27

Bonjour,
sans vouloir devenir un pro, je me suis intéressé à JS et PHP, grâce aux tutos Siteduzero, SQL,Ajax etc. J'ai donc installé MAMP et fait les exercices ; néanmoins je n'arrive pas à trouver quoi faire pour que mes dossiers .PHP trouvent tout seul Safari en double cliquant dessus ! Est ce normal ou faut il ajouter un bout de code quelque part ? (juste pour me faciliter la vie) naturellement j'ai essayé info safari et cela affiche le code mais pas la page idéale.
Merci

Écrit par : scoch 27 Apr 2012, 19:50

C'est normal qu'en double-cliquant sur un fichier (et non pas un dossier) cela ne fonctionne pas car il faut que ton code php soit interprété par le serveur. Il faut donc que tu accèdes à ton fichier par une requète http, c'est-à-dire une adresse web de type http://localhost:8888/ton-site/ton-fichier.php.

Mais effectivement, peut-être que le plus simple pour toi serait d'utiliser un CMS.

Écrit par : jfaime 30 Apr 2012, 08:19

Salut

Citation
car il faut que ton code php soit interprété par le serveur


Il faut donc que ce dernier soit lancé et que tes fichiers PHP se trouvent dans un répertoire bien précis du serveur car contrairement au fichier HTM(L) eux n'ont pas besoin d'être sur un serveur pour être afficher dans un navigateur wink.gif

Citation
Mais effectivement, peut-être que le plus simple pour toi serait d'utiliser un CMS.


Je pense que se serait plus facile à mettre en oeuvre, et il n'en manque pas (http://www.joomla.fr/, http://drupalfr.org/, http://www.spip.net/fr_rubrique91.html ....)

Écrit par : Neuf50 18 Aug 2012, 14:33

Bonjour
Les notions JS et PHP rentrent petit à petit et encore merci de vos renseignements.
J'ai un fichier de texte contenant des titres. De l'autre côté une BDD vide. Comment procéder pour la remplir automatiquement sans avoir à tout retaper?
Merci
NB : à quoi correspond le point orange sur l'icône dans la marge des spots ?

Écrit par : Jaypee 19 Aug 2012, 10:43

Le principe général est de transformer (même avec Excel, tous les moyens sont bons)

Disons que le format est:
titre auteur editeur

Titre1, auteur1, editeur 1
Titre2, auteur2, editeur 2

etc

en instructions SQL:
insert into table_a_remplir(col1, col2, col3) values ('titre1', 'auteur1', 'editeur1');
insert into table_a_remplir(col1, col2, col3) values ('titre2', 'auteur2', 'editeur2');
etc

Puis en utilisant le client SQL, charger le script.
Au lieu de SQL, ça peut être du JSON pour MongoDB ou autre...

J-P

Écrit par : Neuf50 22 Aug 2012, 14:30

Merci JP, Heureusement qu'il y a AppleScript pour faire le travail. Neuf50

Écrit par : Helmasaur 26 Aug 2012, 22:27

Je ne veux pas vous contrarier mais Javascript côté serveur, c'est possible. Ce langage devient même un concurrent potentiel de PHP...

Écrit par : Sgt.Pepper 27 Aug 2012, 16:25

Citation (Helmasaur @ 26 Aug 2012, 23:27) *
Je ne veux pas vous contrarier mais Javascript côté serveur, c'est possible. Ce langage devient même un concurrent potentiel de PHP...


Quelques http://www.dailymotion.com/video/xggsky_le-javascript-server-side-faire-un-point-quentin-adam_tech sur le sujet.

Écrit par : macuserfr 27 Aug 2012, 17:47

J'aime bien sa dernière phrase: "Il y a énormément d'info sur le sujet pour s'amuser. De là à mettre quelque chose en prod…"
C'est pour moi tout le problème du développement informatique moderne. La course à la nouveauté, le changement. Alors que cela apporte plus de confusion que de performance, à mon avis. Au lieu d'apprendre et utiliser les outils existants, on dirait qu'ils se font un malin plaisir à en recréer. Une histoire d'obsolescence programmée pour les grands comptes mêlée à une histoire d'égo au niveau des développeurs.

Mais là je m'égare royalement du sujet initial.

Écrit par : bad_duck 3 Sep 2012, 18:02

Citation (Helmasaur @ 26 Aug 2012, 23:27) *
Je ne veux pas vous contrarier mais Javascript côté serveur, c'est possible. Ce langage devient même un concurrent potentiel de PHP...

+1 -> http://nodejs.org/
Je l'utilise avec socket.io ( http://socket.io/ ) pour faire du realtime.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)