Question de n00b : comment ça coexiste le PHP et le JavaScript ? [PHP] - PHP - Programmation
Marsh Posté le 04-08-2011 à 21:44:03
Euh non tu ne peux pas les faire coexister comme ça.
Le javascript est executé côté client, alors que le PHP est executé côté serveur.
1/ Le client (navigateur) demande une page à ton serveur
2/ Le serveur génère la page en executant le code PHP. Généralement, le code PHP affiche du code HTML, et éventuellement javascript aussi.
3/ Le client (navigateur) reçoit le code HTML, fait le rendu de la page
4/ Si tu as du javascript dans le code de la page, il l'execute
Marsh Posté le 04-08-2011 à 22:11:26
Ok je comprends, merci pour cette explication !
Mais si je ne peux pas utiliser le document.GetElementById pour diriger mon script PHP, existe-t-il un équivalent en PHP ?
En gros un script génère des DIV avec chaque fois un nom unique et j'aimerais qu'il vérifie, avant création de cette DIV, qu'elle n'existe pas déjà.
Merci bcp !
Marsh Posté le 05-08-2011 à 06:11:48
Pour faire des div avec des nom unique le meilleur moyen, c'est d’incrémenter une variable
<div id='div1'></div>
<div id='div2'></div>
<div id='div3'></div>
<div id='div4'></div>
<div id='div5'></div>
...
Jte fais pas le code en php, c'est super simple, mais comme ca t'es sur que ta toujours une div, avec un ID unique...
Marsh Posté le 05-08-2011 à 07:52:28
au lieu d'utiliser des ID tu utilises des classes c'est plus génériques, et ainsi tu peux facilement matcher N éléments.
Marsh Posté le 05-08-2011 à 16:48:06
Si les noms ne se suivent pas, à chaque fois que tu crées une div avec un id, tu stockes cet ID dans un tableau. Comme ça, dans ta boucle, avant de créer une div, tu vérifies avec la fonction in_array() que l'ID n'est pas déjà dans le tableau. S'il y est, c'est que t'as déjà créé un e div avec cet ID
Marsh Posté le 06-08-2011 à 07:51:15
Ca c'est une très bonne idée ! Merci beaucoup, c'est la solution que je vais adopter !!
Merci à tous
Marsh Posté le 06-08-2011 à 07:55:37
Autrement, si je dois persister avec mon document.GetElementById, on peut simplement considérer que si je ne peux pas compter sur le javascript pour influencer mon code PHP, je peux quand même faire en sorte qu'il influence l'affichage des pages, donc par exemple,
donc si je mets un <script>
puis un test logique document.getelementbyId()
puis de l'affichage html
puis un </script>
l'affichage html, même s'il est dicté par du PHP, ne devrait pas être pris en compte mmh ?
Marsh Posté le 06-08-2011 à 10:56:56
Ben A partir du moment ou tu as compris ce principe simple :
Serveur -> PHP -> Genère le code HTML -> envoi navigateur -> navigateur lit le code HTML et Javascript et ne connait pas ce qu'il se passe coté serveur.
Ben tu as compris au moins une chose
Marsh Posté le 12-08-2011 à 21:29:35
Dawa a écrit : Autrement, si je dois persister avec mon document.GetElementById, on peut simplement considérer que si je ne peux pas compter sur le javascript pour influencer mon code PHP, je peux quand même faire en sorte qu'il influence l'affichage des pages, donc par exemple, |
Faux, le html est le premier document reçu par le navigateur, celui contenant toutes informations à charger pour la page courante (css, images, js...). Le html est donc nécessairement pris en compte.
Par contre, tu peux en masquer une partie à l'affichage avec des css (display:none) et l'afficher (display:block) uniquement sur un évènement js (onclick...).
Une stratégie plus évoluée est de ne charger que le strict minimum en html, puis d'attendre un évènement js pour lancer une requete AJAX, c'est à dire un appel asynchrone à du php, qui ramene du html/json/blabla et d'intégrer dynamiquement cette réponse dans ton document. Ca évite d'avoir de grosses pages avec plein de contenu pas forcément utilisé. Regarde du côté du framework JQuery, qui est vraiment bien foutu à ce niveau.
Marsh Posté le 14-08-2011 à 09:40:50
CyberDenix a écrit : |
Cette stratégie est tip-top pour l'accessibilité
Marsh Posté le 15-08-2011 à 01:39:03
CyberDenix a écrit : |
Faire de l'AJAX pour faire de l'AJAX c'est souvent contre-production. Le cout d'une requête asynchrone est là, et pour l'utilisateur ces temps d'attentes sont désagréables.
Marsh Posté le 15-08-2011 à 10:16:24
MEI a écrit : |
+1 et j'insiste, ce n'est pas compatible avec l'accessibilité aux site web pour les personnes souffrant d'un handicap visuel. Un site doit être opérationnel (au moins dans ses fonctions de base) sans JS JS/Ajax/Flash... ne doivent être là que pour apporter un + (en ergonomie/amélioration du visuel/optimisations, voire, éventuellement en fonctionnalités).
Marsh Posté le 18-08-2011 à 13:24:04
Je vais être dur, mais combien de visiteurs déficients avez-vous jamais eu ? Combien d'aveugles ont déjà conduit une voiture ?
Dans le cadre d'un Intranet, pourquoi pas, pour l'exercice et pour briller dans les dîners en société.
Dans le cadre d'Internet, c'est très discutable. Pour un vrai gros site, dont le SEO est vital en terme d'activité, c'est une condition sinequanone.
La page (correspondante aux éléments communs entre visiteurs) est cachée, et les éléments spécifiques au user (correspondant, pour la plupart des sites, à des données SEO inutiles) sont ajoutés en post production (depuis un cache, si possible).
Résultat de l'opération : Google télécharge ta page initiale (beaucoup) plus vite, n'a plus le bruit inhérent aux données utilisateur, indexe plus de pages, et te fait monter dans son moteur de recherche.
Marsh Posté le 18-08-2011 à 14:15:15
CyberDenix a écrit : Je vais être dur, mais combien de visiteurs déficients avez-vous jamais eu ? Combien d'aveugles ont déjà conduit une voiture ? |
Pour ta gouverne, il y a, rien qu'en France, entre 8 à 10% de la population souffrance d'un handicap visuel.
Par ailleurs, c'est en février 2006 (ou 2004, je sais plus) qu'une directive européenne est passée pour que tous les sites des administrations soient de niveau d'accessibilité AA.
De plus, faire un site d'accessibilité AA correspond en gros à faire un site bien fait pour le référencement et, qui plus est, respectera les règles de l'art/bonnes pratiques et normes du W3C. Donc y'a pas de surcoût.
Enfin, dire qu'on en a rien à cirer de toute une catégorie de personnes, c'est méprisant, tout particulièrement quand il s'agit de personnes handicapées qui subissent déjà pleins de désagréments au quotidien. Le web pourrait justement leur faciliter la vie dans certaines de leurs démarches ou en leur donnant plus d'autonomie (par ex, pouvoir faire ses courses en ligne, une démarche vis-à-vis de la mairie...) mais parce qu'il y a de mauvais web développeurs, ils ne peuvent pas. J'avais regardé rapidement les principales boutiques en lignes : elles ne sont même pas accessibles niveau A!!!
Pour plus de détails sur l'accessibilité : http://fr.wikipedia.org/wiki/Accessibilité_du_Web
Marsh Posté le 18-08-2011 à 17:35:06
C'est une norme de complaisance, pas de productivité.
C'est pour cette raison que les sites administratifs la respectent au pied de la lettre, et les sites de e-commerce... vaguement.
En outre, c'est une norme très contraignante sur le plan de la créativité, car elle suppose que c'est un robot lecteur au format et non un humain ou un robot au format visuel (Comme GoogleBot) qui va lire la page. C'est contraire au mode de lecture de la quasi totalité des humains.
Je m'y connais un peu en accessibilité, rassure-toi, mais cette norme passe clairement en dernière position dans mes critères de développement :
1) Ça fonctionne et ça rend service
2) C'est rapide
3) C'est SEO Friendly (backlinks, contenus, célérité, conformité W3C)
4) Ca génère du fric (Somme de 1 à 4)
5) C'est accessible pour les handicapés ou normalisé ISO-pouet
Marsh Posté le 19-08-2011 à 00:14:58
CyberDenix a écrit : C'est une norme de complaisance, pas de productivité. |
Bad news pour toi, si c'est pas accessible, ça respecte pas le W3C...
En plus, franchement, faire le minimum syndical pour l'accessibilité, c'est comme faire du code propre et commenté, ça ne coute plus cher que si on le fait dans un 2e temps...
Marsh Posté le 19-08-2011 à 09:23:19
MEI a écrit : |
+1
Marsh Posté le 19-08-2011 à 10:34:41
Source ?
Un site peut être conforme XHTML + CSS sans obtenir la moindre note d'accessibilité style WCAG ou Section 504.
Or seule la conformité XHTML + CSS est prise en compte pour le score SEO :
http://googlewebmastercentral.blog [...] -code.html
Marsh Posté le 19-08-2011 à 10:38:16
Citation : |
cf. http://www.w3.org/standards/webdesign/accessibility
Marsh Posté le 19-08-2011 à 12:16:28
La véritable citation, traduite, de Tim Berners Lee est la suivante :
Citation : |
J'y vois la définition de neutralité du Net et du combat contre le filtrage, mais... chacun voit midi à sa porte, comme on dit !
Bref le débat est clos pour moi, l'accessibilité OSEF c'est pas rentable et je me fous éperdument des handicapés qui ne constituent pas ma cible marketing (Comme 99,99% des entreprises dans le monde).
Marsh Posté le 19-08-2011 à 13:12:10
C'est bien triste cette façon de penser...
Marsh Posté le 04-08-2011 à 21:36:26
Hello,
Bon la réponse va certainement être toute simple et la honte toute sur moi mais tant pis, I need to know.
En fait je me mets enfin à intégrer un peu de trucs js et jquery dans mon code PHP mais habituellement c'est des scripts tout fait donc easy life.
Mais là au milieu de mon code PHP j'aimerais utiliser un document.getElementById() mais je ne vois pas du tout au niveau syntaxe comment l'intégrer.
Donc voilà le bout de code
Je me fais bien comprendre ? Quelqu'un pourrait me donner un tuyau ? Merci !
---------------
SHOOT ME AGAIN WEBZINE