Aller au contenu

TheRec

Hubmaster
  • Compteur de contenus

    1 777
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par TheRec

  1. Je ferme ce sujet étant donné qu'il y a d'autre récents sujets qui traitent de ce même problème. Merci de votre compréhension.
  2. Bonjour, je viens de répondre (ce matin) à ce genre de question...qui avait elle même essaie l'outil de recherche du Hub...il est très performant...et pour ne rien te cacher les mots clés à utiliser sont "cahier de charges". Merci de procéder ainsi avant de poster la prochaine fois. ** EDIT ** Bon ben grillé...mais ravi de voir que cette attitude n'est pas généralisée chez les nouveaux membres
  3. Bonjour, pour le contenu de ton (en fait je te conseillerais 3 cahiers des charges pour les gros projet : fonctionnel, technique et organisationnel) cahier des charges il y avait déjà eu une discussion à ce sujet... je n'ai pas du rechercher bien loin Il y a plusieurs approches à mon avis... lorsque l'on voit le succès d'une entreprise comme 37signals qui dit travailler sans cahiers de charges (pour les raisons que tu évoques), on se dit que cela semble une bonne solution... mais cela ne fonctionne pas dans plusieurs cas : collaboration entre plusieurs entreprises pour le développement, grosses équipes de développement, projet avec un nombre de fonctionnalités importants dès le départ, besoins de flexibilité lors du développement, ... C'est pour ça que pour des projets externes je me vois mal procéder sans les cahiers des charges :S Maintenant si tu dois établir un cahier des charges c'est également pour mettre au clair les termes d'un contrat qui te liera avec ton client...généralement un cahier des charges ne suffit pas (à moins qu'il inclue des conditions générales de vente) mais il permet de "justifier" le montant d'un devis... alors je sais que généralement on reçoit le cahier des charges du client et on établi un devis en rapport avec celui-ci, mais en réalité ce schéma n'arrive que lorsque le client est capable de réaliser le projet lui-même mais qu'il en n'a pas le temps ou qu'un audit a permis à une entreprise de réaliser le cahier des charges (réalisé par des professionnels)... Personnellement, je m'appuie encore sur les cahiers des charges que j'ai cité précédemment et ils sont loin d'être statiques (c'est leur but), donc ils me servent lors de la communication avec le client... il est clair que dans certains cas (petits budgets, petit projets) je me vois mal réaliser des documents de 2 pages, mais note que si le projet vient à être repoussé cela permet de reprendre les détails qui avaient été étudiés précédemment. Maintenant pour un projet interne, en référence au projet de 37signals, si l'équipe est dimensionnée et que les gens sont polyvalents, on "peut" apparemment se passer de cahiers des charges. Au sujet de la subtilité du/des cahier(s) des charges, je pense que cela tiens beaucoup à la manière avec laquelle ils sont rédigé... confié la rédaction d'un cahier des charges fonctionnel ou organisationnel à une personne spécialisée dans la programmation et avec peu d'expérience de la Relation Client est inutile...un cahier des charges technique en revanche requiert quelqu'un de ce type. C'est une question de besoins et du public cible qui détermine la manière de rédiger ces documents.
  4. TheRec

    bb code

    Bonjour, Peut-être qu'en laissant le temps aux intervenants de te répondre (parce que quelques heure séparent tes deux messages...si on ne compte pas les heures où la majorité des gens dorment), tu obtiendras plus de réponses... en tout cas moi, ça ne me donne pas envie de répondre, mais enfin... je fais un effort, si tu en fais un à l'avenir Il existe des classes toutes faites pour ce genre de problèmes http://www.phpclasses.org/browse/package/951.html Elle permet de créer tes BBCode et de les parser... Maintenant si tu veux vraiment utiliser le code que tu as posté, regarde du côté des appel à la fonction preg_replace ... en l'occurrence, il y a deux tableaux $search et $replace ... dans le premier tu trouve toutes les expressions régulières pour les BBCode qui sont simple (composé de deux balises et éventuellement un paramètre : QUOTE, CODE, URL, ...) ...et dans le deuxième il y a ce par quoi chaque morceau de texte correspondant à l'expression régulière sera remplacé... A toi d'ajouter l'expression régulière qui correspond à tes besoins et le code HTML par quoi il faudra remplacer les morceaux de texte.
  5. Cette requête sert, comme je l'ai dit, à faire la liste de tes mêmes, ayant des référents et en les classant par le nombre de référents (DESC = par ordre décroissant)... Ensuite tu peux l'exécuter comme toutes autres requêtes... $result = mysql_query("SELECT id, name, email, url, points, views, hits, savepoints, COUNT(refererid) AS nb_filleuls FROM demo_a_accounts GROUP BY id ORDER BY nb_filleuls DESC"); if(mysql_num_rows($result) > 0) { while($membre = mysql_fetch_array($result)) { echo $membre['name']." = ".$membre['nb_filleuls']." référent(s)"; } } else { echo "Aucun membre ne correspond à la requête"; } J'ai écris ça en 10 secondes... mais l'idée devrait te sembler familière... Si tu as des problèmes avec la requête, utilise ce petit bout de code après avoir utilisé la fonction mysql_query : echo mysql_errno() . ": " . mysql_error(); Cela affichera l'erreur survenue lors de la dernière requête sur la base de données.
  6. Le mod_rewrite est prévu pour une réécriture interne au serveur... il présente une ressource ayant une URL en utilisant une autre URL. Le manuel Apache est clair à ce sujet : Lorsque le deuxième argument de RewriteRule commence par "http://", une redirection externe sera effectuée... En même temps cela parait logique...sinon je n'ose même pas imaginer ce que le Web serait avec nos amis les référenceurs les moins scrupuleux et cette possibilité A part une redirection pure et simple je ne vois pas comment tu pourrais procéder...
  7. Bonsoir, aïe, une ou plusieurs requêtes dans une boucle...c'est ce qu'on appelle un tueur de ressources... imagine que ta première requête donne plusieurs milliers de résultats...cela représente autant de requêtes sur la base de données dans la boucle... Passé ceci... lorsque tu veux trier les résultats d'une requête SELECT tu utilises la clause ORDER BY suivie de la liste de champs (l'ordre des champs détermine les critères prédominants) et l'ordre ASCendant ou DESCendant ... Comme ton tri se fait sur le nombre de référents il suffit de les compter avec la fonction COUNT(nom_du_champ)... Tu peux utiliser également la clause GROUP BY en conjonction avec COUNT, en groupant les utilisateurs par numéro de référent tu auras une liste des membre ayant des référents et comptant les refererid tu trouveras le nombre de filleul, cela donne à peu près cela : SELECT id, name, email, url, points, views, hits, savepoints, COUNT(refererid) AS nb_filleuls FROM demo_a_accounts GROUP BY id ORDER BY nb_filleuls DESC Tu as un aperçu de toutes les clauses courantes à la norme SQL/92 sur w3schools
  8. Si tu décide d'utiliser Javascript, je ne peux que te conseiller Nice titles, cela reste accessible en utilisant cette méthode, que Javascript soit activé au non et que la gestion DOM soit correcte ou non...car l'attribut title reste disponible dans les deux cas. Maintenant si tu veux une solution en CSS pur, qui fonctionne sous Safari / IE5.5/6.0 / Firefox 1.x voici un tutorial... il y a quelques petits bugs, mais à première vu cela semble correcte et adaptable.
  9. Bonsoir, essaie de regarder du côté de la configuration (Apache) du répertoire dans lequel tu essaies d'utiliser un fichier .htaccess. Il faut que dans la configuration d'Apache tu indiques que tu permets la surcharge des paramètres par défaut (autres directives) du serveur. Pour fair ceci tu dois utiliser la directive AllowOverride. Si c'est pour des tests tu peux envisager un "AllowOverride All" dans ton répertoire de base (à configurer dans le httpd.conf bien entendu). Normalement par défaut elle est à "All" mais peut-être qu'elle a été mise à "None" et dans ce cas les fichiers .htaccess sont ignorés...
  10. Bonsoir, s'ils utilisent le principe du Permalien et que leur flux est cohérent tu peux effectivement utiliser le lien comme référence... mais si le flux est formé correctement tu devrais avoir un élément <guid> qui identifie chaque article (généralement on utilise le Permalien à cet endroit). **EDIT** Tu as la Spécification de RSS2.0, traduite en français ici : http://www.stervinou.com/projets/rss/
  11. C'est un module assez utilisé...si je ne m'abuse il est chargé par défaut lors de l'installation de Apache. Il te suffit d'essayer d'utiliser un RedirectMatch ou RedirectPermanent dans ton fichier .htaccess ... tu verras tout de suite si la redirection fonctionne ou non
  12. Bonjour, tu peux toujours utiliser la fonction eval. Mais cela comprends des risque de stocker du code PHP dans uen base de données... imagine que quelqu'un arrive à y insérer un code révélant toutes les variables que tu as déclarées dans ton script...entre autre les information d'accès à la base de données
  13. Oui je m'excuse...c'est une iframe..et elle est générée par la bannière Google (par Javascript)...le validateur interprète le code source généré et non le code source avant exécution d'éventuels Javascript...c'est ce qui fait qu'il y indique qu'il y a des cadres... Pour le DOCTYPE, effectivement j'avais crû lire XHTML...milles excuses Je ne suis pas très réveillé ce soir.
  14. Bonsoir, tout est expliqué dans l'erreur... ta pas est présentée avec un DOCTYPE qui n'est pas adapaté à son contenu... tu utilises de cadres et tu utilise le DOCTYPE XHTML Transitionnal... alors que tu devrais utilise le DOCTYPE Frameset (page de cadres) : <!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> A part cela je ne vais pas corriger les autres erreur à ta place, les messages d'erreurs sont très explicites...mais peut-être que tu auras plus de chance avec d'autres
  15. Ton cas serait plutôt à traiter d'habord par RedirectMatch... (nécessite le mod_alias) puis le Rewritting mis en place avec SMF se chargera du reste... Dans ton cas cela donnera : RedirectMatch 301 forum-phpbb/forum-([0-9]+)\.html http://www.histwar.com/forum/index.php/board,$1.0.html À placer avant les règles de réécriture de préférence Il faut savoir qu'avec le mod_rewrite lorsque tu utilises une RewriteRule et que le deuxième argument commence par &quot;http://" cette partie est automatiquement enlevée (à moins d'utiliser le flag R=XXX, comme tu l'as fait)... le mod_rewrite n'est pas prévu pour des redirections, il peut en faire, mais il faut plutôt le voir comme un module permettant de présenter un contenu accessible par une URL avec une autre URL (plus propre en général )
  16. Les références arrières (back-references) sont dépendantes de l'expression régulière sur lasquelle elles portent...c'est à dire que même si une référence $2 avait été attribuée lors d'une autre RewriteRule, elle ne sera pas accessible dans une règle suivante. Maintenant il est possible que dans de Chemo, un test "isset" sur la variable "action" soit effectué...dans ce cas tu peux toujours soit modifier le code et utiliser un "!empty($_GET['action'])" à la place... ou encore enlever le $2 et laisser login.php?action= ... Mais utiliser une référence arrière qui n'existe pas n'est pas sain...si ton schéma d'URL vient à évoluer, tu risques d'avoir des surprises.
  17. Effectivement, la longueur des URL sous IE est limitée à 2083 caractères. Je suppose que cela correspond à une interprétation erronée de la RFC des développeurs : Cela implique donc que la gestion de la longueur d'URL devrait se faire côté serveur et que le client lui ne devrait pas limiter sa longueur. Maintenant, peut-être qu'ils considèrent cela comme une "mesure de sécurité"...en tous les cas ils ont tort Firefox as une limite beaucoup plus raisonnable : 65635 caractères (en tout cas dans version 1.5.0.2)... Toutefois l'utilisation d'URL longues n'est pas vraiment conseillée en général, pour des raisons diverses (impossibilité de les mémoriser humainement, difficultés pour communiquer les URL à d'autres personnes, ...). J'ai bien compris que le système que tu veux mettre en place n'est pas vraiment du type à devoir être facilement mémorisable (carte de crédit), mais tu va te heurter à un mur si tu utilise des URL trop longues, IE7 Beta2 ne gère plus que 2047 caractères (d'après ce que j'ai pu voir, mais ce n'est qu'une Beta). HTTP a ses limites...mais dans ce cas c'est les navigateurs (ne montrons pas du doigt IE) qui les reculent encore plus
  18. Et moi itou pour la solution
  19. Je répète que les INDEX sous MySQL sont utilisés pour l'optimisation...mettre un champ comme INDEX augmente les performances lors des requêtes SELECT : http://dev.mysql.com/doc/refman/4.1/en/mysql-indexes.html Vu qu'il est possible de mettre un champ TEXT en INDEX, il n'y a qu'une seul raison logique à cela, c'est que lors de requête SELECT (WHERE champ LIKE) sur ce champ la recherche se fera plus vite... Il y a deux cas ou c'est faux : lorsque la valeur recherchée commence par un caractère joker (par exemple %) ou qu'il est variable (par exemple un autre champ de la base)...Donc, dans le cas que tu évoques %Terme% il n'y aura pas d'optimisation...(Terme% aurait été optimisé), je n'avais pas lu ceci dans le manuel lors de mon premier message, donc je te prie d'ignorer mon conseil...l'index sur le champ texte, dans ton cas, n'aidera pas...mais il ne ralentira pas pour autant la recherche (juste l'ajout/modification/suppression de données à la base...lorsque l'index est reconstruit)
  20. À mon avis..avant de t'attaquer au Rewriting de tes URL assure-toi que sans Rewriting tes script fonctionne...utilises les URL non-réécrites (elle sont bien entendu toujours utilisables, même lorsque le mod_rewrite est utilisé). Une fois que tu es sûr de tes scripts réflechis quelles sont les URL qui on besoin d'être réécrites et en quoi elle doivent être réécrites. Si dans ton cas ton but est que lorsque quelqu'un demande la page d'identification avec "se-connecter.html" il soit dirigé vers "login.php" et qu'une fois le formulaire envoyé il soit dirigé vers "se-connecter.html?action=process" voici la règle qui devra être utilisée dans le .htaccess : RewriteRule ^se-connecter\.html$ login.php [L,QSA] Et le formulaire aura pour action : <form action="se-connecter.htm?action=process" method="get"> ... </form>
  21. Bonjour, c'est simplement une animation Flash sur le site du Louvre...il n'y a pas de <div>...les cadre sont "dessiné" dans l'animation Flash en d'autres termes Pour ton problème, je n'ai jamais réussi à mettre un <div> au dessus d'un objet..au dessous il n'y a pas de problème...mais au dessus même avec des z-index et/ou des position: aboslute; c'est toujours l'objet qui sera au-dessus...pourant c'est le but des z-index...
  22. Hmm... je n'impose pas non plus l'utilisation de ma solution Simplement Mamat veut pouvoir faire une requête qui soit "optimisée" (SELECT WHERE) en ayant un modèle qui est optimisée pour une autre utilisation (FULLTEXT)... En même temps on ne peut pas avoir tout...soit on sacrifie un peu de ressources lors de la phase modification de la base de données...soit on en sacrifie à chaque recherche...je préfère la première solution dans le cas de Mamat...mais si tu en as une autre faut pas hésiter On peut tout à fait faire le parallèle avec les arbres, l'utilisation du modèle Adjacent (auto-jointures) est tout à fait justifiable dans le cas où les accès (consultations) à l'arbre sont moins fréquents que la modification de sa structure...sinon un modèle pré-ordré (intervallaire) sera préconisé (jutilise plus souvent cette solution, car sur le Web on a tendance à rencontrer plus de systèmes ou la consultation est ce qui doit se faire le plus rapidement possible)...
  23. Le manuel semble ne pas être d'accord avec toi : Sauf que si je n'utilise pas MyISAM ? Non soyons sérieux, un INDEX peut être mis sur un champ TEXT, et cela optimisera les requêtes SELECT (sinon pourquoi les développeur on décidé d'implémenter cette fonctionnalité depuis MySQL 3.23 ?) : Sur quoi te bases-tu pour affirmer ceci ? Il est clair que les performance lors de l'ajout de données s'en ressentira (plus d'index à générer) mais à la consultation, j'ose supposer que le moteur de MySQL est assez grand pour choisir l'optimisation qui sied le mieux (une requête MATCH .. AGAINST = optimisations FULLTEXT, autres optimisation des INDEX simples)... enfin il faudrait tester cela à une échelle représentative...
  24. Si tu met en plas le FULLTEXT c'est justement pour éviter de passer par des requêtes non optimisées comme celle que tu présente ne premier Si tu veux vraiement faire cette requête essaie, peut-être, de définir un INDEX (normal) en plus de l'index FULLTEXT que tu as déjà pour les champs sur lesquels tu effectues la recherche. Les champs sur lesquels il y a un INDEX sont optimisé selon le manuel...je ne sais pas si c'est toujours le cas lorsqu'il existe déjà un un index FULLTEXT...
  25. Bonjour, tu peux utiliser le flag QueryString Append pour les règle ou tu veux que la Query String (ce qui vient après le "?" dans une URL) soit ajouté à la fin de la réécriture. Source: http://httpd.apache.org/docs/1.3/mod/mod_r...tml#RewriteRule Donc cela donnerait : RewriteRule ^se-connecter\.html$ login.php?action=$2 [L,QSA] Je n'ai juste pas compris pourquoi tu utilises une back-reference ($2) qui n'existe pas car dans ta règle... tu ne spécifies nulle part de groupe :S **EDIT** Bon ben grillé... j'aurais du m'en douter Dan était en "Lecture" quand je suis arrivé
×
×
  • Créer...