Aller au contenu

Sarc

Hubmaster
  • Compteur de contenus

    2 332
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Sarc

  1. Sarc

    [SQL] Une requête foireuse

    Sur la première condition (du OR), il y a une relation 1-n, mais en effet, prise à part, cette requête est rapide. Sur la deuxième condition du OR, je récupère exactement le même type d'objets, mais je n'ai aucune condition sur b... Et comme je ne sélectionne aucun champ du b, je ne pensais pas qu'il faisait tous les tuples possibles quand même. En fait, la première condition vérifie qu'un champ existe dans le b, et la deuxième n'a pas besoin de vérifier parce que j'ai déjà le champ qui me va dans a. Difficile à expliquer comme ça, mais c'est l'idée. Ma question, maintenant, c'est pourquoi un SGBD est pas foutu de comprendre que "SELECT a.champ FROM table a, table2 b WHERE a.id=truc" est équivalent à "SELECT a.champ FROM table a WHERE a.id=truc" ? Ça me paraît incohérent.
  2. Sarc

    [SQL] Une requête foireuse

    Bon bah je me réponds à moi-même, juste après avoir posté, j'ai testé un truc : séparer ma requête en deux requêtes. La première condition (ci-dessous) semble faire monter en exponentiel le temps de calcul, pour une raison que j'ignore... ( b.champ2 = 53 AND b.champ = a.champ AND b.champ3 = 1 ) OR ( a.champ = 53 ) Si d'aucuns ont une idée de pourquoi, en théorie quantique des SGBD, cette condition idiote ralentit à ce point la requête... En séparant en deux requêtes, je peux descendre à quelques millisecondes maximum...
  3. Sarc

    [SQL] Une requête foireuse

    Bonjour à tous, J'ai une requête qui me pose problème : 4 secondes pour être exécutée ! SELECT DISTINCT SQL_CALC_FOUND_ROWS a.pleindechamps, c.dautrechamps FROM matab a, matab2 b WHERE ( ( b.champ2 = 53 AND b.champ = a.champ AND b.champ3 = 1 ) OR ( a.champ = 53 ) ) ORDER BY a.date DESC LIMIT 0 , 15 Les cardinalités des deux tables sont de l'ordre de quelques milliers. Apparemment, il n'arriverait pas à optimiser son algorithme pour s'éviter de toutes les parcourir, et donc il a quelques millions de tuples à parcourir... En virant l'order by et le SQL_CALC_FOUND_ROWS, le problème est résolu. Je me dis que j'ai peut-être mal foutu mes index, et que je n'ai pas trop aidé le serveur SQL, mais j'ai du mal à voir où ça bloque... J'ai un index sur (champ2, champ) mais ça ne lui simplifie pas la vie.. Avez-vous des idées de pistes à explorer ?
  4. Thick, Remi dit bien que Facebook fait du mal à tous les forums et blogs, pas seulement ceux qui sont inintéressants de base : il ne parle pas de tous les types de sites d'Internet...
  5. J'avais oublié de virer le code que j'avais copié-collé en fin de mon message... (Le dimanche matin, je le dis !) Dans ton code, là, il manque le } avant la fin du if. Donc avant ton elseif, il faut rajouter un }.
  6. Culturec, tu as de la chance d'avoir des "plus conservateurs". Je ne vous raconte pas la galère pour continuer de faire vivre Fun-Ados ! Un forum généraliste pour adolescents, c'est juste une énorme tare. Certains s'en sortent encore, parce qu'ils bénéficiaient d'un trafic plus fort que moi dès la base, mais moi, j'ai l'impression que le site survit. La demande de sites spécialisés adolescents est forte (vu le nombre d'inscriptions), mais se centrer autour du forum n'est plus une bonne solution, je le remarque tous les jours. J'avais essayé de théoriser un peu la dynamique du web dans les années. Les forums marchaient en effet à une certaine époque où les moteurs de recherche ne faisaient pas nécessairement bien leur boulot. Ensuite, Arlette l'a parlé, il y a une individualisation du net : créer son blog est devenu simple, les gens s'y sont mis, ils voulaient eux aussi être sous la lumière, pas seulement un pion du forum. Ce phénomène a été ultra-amplifié avec les réseaux sociaux à la Facebook. Sur Facebook, la page principale n'est pas l'index du forum, n'est pas la page d'accueil du site, non, c'est son profil ! On EST le site, sur Facebook. Et ça, les gens aiment. Ils vivent le site en étant le noyau central, et en choisissant le contenu qui nous entoure. L'enjeu maintenant, c'est de faire des sites dont le visiteurs est le rédacteur en chef, et que sa page principale soit sa propre page, qu'il aura créée de toute pièce... mais sans nécessairement ressembler à Facebook. Ce qui est un véritable défi (que je n'arrive pour l'instant pas à prendre en compte). Enfin bref, tout ça pour dire que Fun-Ados, c'est pas la joie.
  7. Bonjour, Je contrasterai avec les histoires de Pape de Dudu. En effet, tu as raison dans ton deuxième message, il faut utiliser un "mais pas si" dans ton premier if. Sache que les deux connecteurs logiques hyper-utiles dans la vie (électronique, informatique, etc.) sont le ET et le OU. Si je comprends bien ton code, tu veux : - pour afficher le premier lien, que $ad_display soit à "live" ET que $search_url soit vide ? remarque mon ET dans ma phrase ! Le code exact est donc : if(($ad_display == 'live') AND (empty($search_url))) Ensuite, pour afficher le deuxième lien, il faut en effet le faire après la sortie du if (c'est là que le Pape euuh Dudu a raison. Ta structure globale est donc : if(($ad_display == 'live') AND (empty($search_url))) { // J'affiche mon premier lien } elseif(!empty($search_url)) { // J'affiche mon deuxième lien } Là, ton œil observateur se dit : "mais pourquoi il met elseif à la place de if ?", eh bien je réponds "pour l'optimisation !". En effet, le elseif permet de ne vérifier la condition que si le if d'avant n'a pas été vérifié. Si tu mets if, le programme calculera à chaque fois si $search_url est vide. Avec le elseif, il ne vérifiera que le $search_url est vide uniquement si la condition (($ad_display == 'live') AND (empty($search_url)) n'avait pas été vérifiée. (Je suis pas clair, mais j'y arrive pas le dimanche matin).
  8. Sarc

    Minify

    Bonjour, Moi j'utilise http://jscompress.com/. Attention, avec certains outils, ils te rajoutent des erreurs des javascript... J'ai pas tout à fait compris. Mais dans tous les cas, c'est toujours bien de gagner des ko, donc tu peux foncer !
  9. Bonjour, J'ai une question très bête qui me turlupine depuis quelques jours. Est-ce qu'un actionnaire d'une boîte peut y travailler sans obtenir de salaire ? Quand on crée une SARL, on peut décider de ne pas se verser de salaire, et pourtant, on bosse bien dedans, donc je pense que oui... Mais si l'entreprise a plein de salariés, un patron, etc, et que je suis actionnaire, est-ce que je peux offrir gracieusement de mon temps pour la boîte, en lui créant un site, ou en faisant le standard téléphonique, qu'importe ? Merci d'avance de vos réponses
  10. Jacques, Il veut que si les visiteurs uploadent un fichier PHP, ils ne puissent pas l'exécuter directement sur le serveur... Parce que si le fichier uploadé monattaque.php est dans un dossier et qu'en allant sur la page pour le télécharger, il est exécuté par le serveur au lieu d'être téléchargé, ça pourrait être préjudiciable. Après, je n'ai pas fait de tests, moi, donc je sais pas si c'est faisable réellement ou pas, comme "attaque". Alors, comme ça, dans "Bienvenue chez les Ch'tits", il n'y aurait pas que des clichés ? Je t'ai envoyé un MP, pour ne pas partir sur tous les sujets...
  11. Ah, je n'avais pas compris ce que tu voulais dire par "forcer le téléchargement", mais ok, c'est plus clair. Tu trouveras ton bonheur ici normalement, sur Comment forcer le téléchargement d'un fichier de developpez.com. Pour la deuxième chose, une expression régulière qui te permet de vérifier que ta variable Get n'est pas une URL ?
  12. Bonjour, À quoi ça sert de forcer le téléchargement du fichier ? De plus, de quelle forme est le $_GET['name'] que les visiteurs atteignent normalement ? Une suite de caractères fsdijfdsp/, un autre truc ?
  13. Ah oui, j'avais compris à l'envers. :x Ok, nous sommes donc d'accords.
  14. A vrai dire, avec tous les MySQL que je connais, il ne prend pas en compte les supprimés... Juste les créés ! Si tu supprimes l'id 43, il ne sera pas remplacé, et l'auto-increment ira directement au 44... Si tu crées manuellement le numéro 155, il mettra l'auto-increment à 156. (N'hésite pas à me contredire si je me trompe grossièrement).
  15. Bonjour, Pour ce genre de problèmes de programmation, il est mieux de placer les sujets dans "Les langages du net", la section navigateurs est plutôt pour les soucis liés à l'utilisation des navigateurs que pour les problèmes d'affichage inhérents à la programmation. J'ai une erreur dans Chrome : A mon avis, au lieu de mettre ça dans ton code HTML : <script type="text/javascript"> initMenu(); </script> Il vaudrait mieux que tu enlèves le commentaires dans le javascript de ton menu : // window.onload=initMenu; A voir si ça va mieux marcher !
  16. Bonjour, Tu as des valeurs par défaut dans ta base de données. Donc quand tu la remplis, si rien n'avait été spécifié par l'utilisateur, les champs auront quand même une valeur, soit "www", soit "www.myspace.com", etc. Pour ne pas avoir ce phénomène, il faut que tu modifies la structure de ta base de données et que tu mettes dans la colonne "default" des valeurs vides " " pour ces éléments.
  17. Bonjour, J'en profite pour demander si Google a déjà dit/affirmé qu'un changement de nom de domaine avec une redirection 301 n'est aucunement préjudiciable pour le référencement ?
  18. Sarc

    Envoyer mail

    Bonjour, Que veux-tu dire par "aussi bien" ? Je suppose qu'ils envoient des mails en HTML. L'enjeu est de bien utiliser les règles CSS pour qu'elles soient appliquées par les différents webmails et clients mails, ce qui n'est pas aisé du tout. Tu peux t'intéresser à quelques articles qui expliquent ces soucis : CSS Email, sur Pompage Emails HTML, dompter la bête, toujours sur Pompage Guide to CSS support in email clients, sur Campaign Monitor Ce que tu peux faire aussi, c'est d'analyser le code source des newsletters que tu aimes bien. C'est instructif
  19. 14 ans ! Olitax, prépare ta carte troisième âge ! Tu peux mettre tes sites dans ta signature, si tu veux. Ca nous permettra de mieux te connaître à travers tes créations. Bienvenue sur le Hub
  20. As-tu besoin de cette adresse pour y accéder ou pour l'afficher ? Parce que si c'est juste pour y accéder, tu peux te permettre d'avoir l'adresse www.monsite.com/rep/../rep2/fichier.html", qui marche sous Linux. Si tu veux l'afficher, tu peux partir de la même forme et d'appliquer la fonction "trouver /$1/../ et remplacer par /". Je n'ai pas trouvé de fonction propre qui te donnerait une absolue à partir d'une relative... Tu veux une gestion des erreurs ?
  21. Bonjour, et bienvenue sur le Hub ! En premier conseil que je pourrais te donner : enlève la page d'introduction. Elle n'apporte pas vraiment de valeur ajoutée à ton site, il serait mieux d'arriver directement sur ta page d'accueil.
  22. Ce qui est en mauve indique le padding de ton élément parent : c'est donc un espace que tu peux modifier à ta guise dans le CSS. Il suffit de cliquer sur ton élément où il y a du mauve, et chercher à droite le CSS qui s'applique à lui. Tu trouveras un padding-top de 35px. Si tu baisses cette valeur, tes boutons remonteront. Mais ton image de voiture aussi remontera ! Si tu veux qu'elle reste à la même hauteur, il faudra lui appliquer à elle une marge supérieure margin-top.
  23. Alors, pour commencer : si tu es avec Firefox, télécharge Firebug, qui te permet de regarder tous les éléments de ton code, et où ils se situent. Tu comprendrais avec que c'est la marge de gauche sur ton <ul> qui est BIIIIEN trop grand. Si tu le mets à 350px, et que tu fais ce que j'ai dit juste avant, ton élément se placera correctement, comme tu le souhaites.
  24. Bonjour, Il faut que tu mettes ton div ExtraContainer à l'intérieur de ton div containerTop, pour commencer. En effet, ces deux images seront liées à ce div pour leur placement. Ca modifiera déjà totalement les choses, tu verras. Après, tu peux jouer soit avec le float, soit avec du position:absolute, soit avec du position:relative. Toutes les solutions sont possibles !
  25. C'est décidé, mon nouveau rêve est d'ouvrir une vraie école de création Internet. Concernant ce que tu viens d'envoyer : 1. Apprendre de l'Internet à distance, mouais. 2. Aucune référence au CSS dans le programme : c'est compris dans HTML ou c'est juste oublié ou inséré uniquement avec Dreamweaver ? 3. Cinq chapitres sur Dreamweaver, ou "comment autoriser un débutant à utiliser des outils qui dégraderont ses créations" 4. Effectivement, c'est dense, et même à temps plein, je suis pas sûr qu'on soit un crack en sortant de la formation Après, c'est sûr que ça te sert tout sur un plateau, mais il faut se méfier : j'ai connu des cours de HTML avec toutes les balises en majuscule et des attributs sortis de l'au-delà.
×
×
  • Créer...