Aller au contenu

toma

Actif
  • Compteur de contenus

    49
  • Inscrit(e) le

  • Dernière visite

Messages postés par toma

  1. OK je vois un peu mieux, mais je ne suis pas sûr de tout comprendre.

    - Chaque développeur a son propre dépôt SVN ? Ou alors c'est un dépôt de dev commun à tous ?

    - Comment passes-tu les modifications de ton dépôt de dev au serveur de recette ?

    - Comment passes-tu les fichiers de ton serveur de recette au serveur de prod ?

    Merci d'avance, ça m'aidera à mieux comprendre :)

  2. Bonjour,

    Je gère une équipe de quelques développeurs PHP qui a vite grossi. Aujourd'hui notre mode de développement / test / déploiement n'est pas satisfaisant et est souvent source de confusion. Je veux améliorer tout ce process afin de le rendre plus sûr et maîtrisé.

    Voici comment nous fonctionnons actuellement :

    - Nous disposons de dépôts SVN hébergés sur un serveur Debian localement

    - Chaque dépôt SVN contient un site ; une seule branche pas dépôt, on n'a pas un dépôt de test et un dépôt de production

    - Chaque développeur a sa version des fichiers du dépôts

    - On n'a pas de serveur local nous permettant de tester une modification avant déploiement en prod

    - Si on bosse sur qque chose de sensible, on fera une copie des fichiers modifiés en les renommant style fichier_test.php

    - Si le test est valide on écrase l'ancien fichier.php avec le nouveau et on met en prod

    Tout ce process est foireux, et je voudrais un petit coup de main sur une méthodologie à employer. Merci d'avance pour votre aide !

  3. Bonjour,

    J'ai besoin de partager des sources PHP avec un presta externe. Nous travaillons ici avec les dépôts SVN situés sur un disque réseau, dans un environnement Windows Server (contrôleur de domaine et tout le bazar). Le but est que notre partenaire puisse accéder à nos sources par SVN pour garantir une sécurité et une souplesse maximales.

    Voici mon idée de départ :

    Disque avec les dépôts SVN <=> Serveur Debian sur machine virtuelle + Samba <=> Apache <=> Client SVN du client

    Pensez-vous que c'est un bon moyen ?

    Je galère un peu avec les différentes phases du projet. J'ai monté le serveur Debian sur une machine virtuelle, j'ai installé Apache. Je bloque surtout au niveau de comment aller chercher des données qui se trouvent sur un disque du serveur de fichiers Windows Server.

    Est-ce que quelqu'un aurait des petits tuyaux là-dessus ?

    Merci d'avance.

  4. Bonjour,

    Merci de votre réponse ! Effectivement il apparaît qu'il existe de nombreux formats spécifiques, et l'agence a l'air spécialisée dans ce domaine. A priori, on ne peut pas compter sur les variables de sessions et autres cookies pour conserver des informations entre les pages, il faut se servir de "carrier ID" ou "mobile proper ID" qui est une sorte de numéro unique par mobile.

    Je vais tâcher de me renseigner sur la question et posterai ici dès que j'en saurai un peu plus.

    Cordialement,

    Thomas.

  5. Bonjour,

    Dans le cadre de mon travail, je travaille avec un site internet en japonais. Je vais devoir créer une version mobile de ce site web. On me propose de travailler avec une agence japonaise dont c'est la spécialité, le hic c'est qu'ils veulent tout re-développer notre site "from scratch" et l'adapter au format mobile.

    Mais je reste persuadé que la partie logique / base de données peut marcher pour les 2 formats. J'ai donc proposé de prendre complètement en charge le développement de cette version mobile, mais je ne sais pas quels sont les critères pour afficher un site correctement sur un mobile (site en PHP /MySQL). D'autre part, il paraît qu'il existe 600 téléphones différents au Japon, il y a-t-il besoin de formats spécifiques pour certains mobiles, si oui comment avoir une liste exhaustive ?

    Le site en lui-même n'est pas compliqué, un formulaire d'inscription, des envois d'email avec un lien vers le site sur des pages personnalisées, pages de paiement Mastercard / Visa etc.

    Merci d'avance à tous ceux qui pourraient m'aider à débroussailler le terrain.

    Thomas.

  6. Bonjour,

    C'est bien cela nous sommes l'annonceur, et il faut que nous puissions tracker aussi longtemps que notre partenaire d'affiliation. Pour que tout lead comptabilisé par eux le soit par nous aussi.

    Comme ça si l'internaute ne s'enregistre pas sur notre site tout de suite, mais qu'il revient pas un bookmark ou autre, on pourra l'identifier comme étant venu de notre partenaire.

    Je n'ai jamais travaillé avec des cookies donc je suis un peu largué mais je vais me documenter. Merci !

  7. Hello,

    Merci de ta réponse !

    En fait les mails sont envoyés en doublon à moins de 1 seconde d'intervalle. J'ai bien sûr posé un espion juste après la fonction de mail où je logue l'heure exacte, le sujet du mail, l'adresse, un compteur simple.

    En fait après avoir posé des logs de partout, j'ai remarqué que au bout d'un certain temps (environ 15 minutes), un deuxième thread venait se coller au premier, et tout part en 2 exemplaires. 15 minutes plus tard on se retrouve à 3... Après avoir fait quelques recherches j'ai trouvé que c'est un timeout sur wget qui fait que le cron réessaye. J'ai donc juste spécifié wget --read-timeout=0 et comme par magie, plus aucun doublon !

    Problem solved ;)

  8. Bonjour,

    Je travaille sur un script qui envoie en moyenne 60'000 emails par jour. Le problème c'est que ce script envoie actuellement des emails en doublon, voire en "triplon", voire en plus !

    Je ne trouve pas de solution pour qu'un seul email soit envoyé à chaque fois.

    Le script php est appelé par un cron, chaque jour. Le script va voir dans la BDD ce qui doit être envoyé et à qui et envoie un email en utilisant la fonction tep_mail() de OsCommerce. Si je fais un debug (pas d'envoi d'email mais sortie écran de la liste d'emails à envoyer), la liste d'emails à envoyer est propre : aucun doublon.

    En revanche si je remets en production, l'envoi des emails commence normalement sans aucun doublon, puis à un moment donné (random évidemment), tous les emails partent en double, voire en triple...

    Donc en gros :

    - ma requête de sélection est bonne et ne retourne aucun doublon

    - le traitement PHP pré-envoi de l'email ne génère pas non plus de doublon

    - l'appel à la fonction tep_mail() génère des doublons

    Cela pourrait-il venir de la fonction tep_mail elle-même ? Je ne vois pas du tout là je suis bien perdu. Si vous avez des idées je suis preneur !

    Le serveur utilise Centos 4.6, Qmail.

  9. Bonjour,

    Je travaille avec des plateformes d'affiliation qui nous demandent de mettre en place un système de tracking que je ne connais pas.

    - En gros, des gens cliquent sur une de nos bannières dans la régie pub, un cookie est a priori installé par la régie pour tracker sur 30 jours.

    - La personne arrive sur notre site, s'enregistre ou pas (on fonctionne au lead)

    - Si la personne ne s'enregistre pas tout de suite, mais disons une semaine plus tard, sans recliquer la bannière, la régie pub comptabilise le lead, mais pas nous (on enregistre la provenance du lead par un champ GET dans l'URL style xxx.php?origin=Netaff)

    Auriez-vous une idée pour tracker les gens pendant 30 jours sur notre site afin de réconcilier nos stats avec celles de nos partenaires d'affiliation ? Merci d'avance je suis un peu perdu là.

  10. Oui j'y ai pensé aussi. Le hic c'est que je passe par un emailer et on forge les liens à cliquer dans les emails à la mano : script.php?f=<product_id>|<customer_id>|<msg_id>

    J'ai contacté mon emailer mais il faudrait que ce soit nous qui mettions tous les jours un champ à jour pour avoir cette donnée de "lien crypté". Ce n'est pas envisageable dans l'immédiat.

    Ou alors je peux peut-être faire une redirection vers script.php?f=encoded_characters

    mouaif pas top non plus...

  11. hummm je vois ce que tu veux dire. Le truc c'est que les gens qui arrivent sur mon site cliquent un lien depuis un email. Ce lien est formaté comme ceci :

    http://www.monsite.com/script.php?f=...

    Je ne peux donc pas faire de GET à mon avis sur un lien qui est cliqué.

    Sinon peut-être le plus efficace comme tu dis est de mettre en variables de session tout ce dont j'ai besoin, puis faire une redirection vers script.php, à moins qu'il n'y ait une solution plus élégante :?:

  12. Merci de ta réponse !

    En fait le référencement n'est pas du tout important, le but est surtout de protéger la vie de privée de mes utilisateurs. Je ne veux pas qu'un petit malin change les chiffres pour tomber sur la fiche d'une autre personne.

    Donc je ne veux pas non plus que la liste de chiffres soit visible, même sous une autre formule.

    J'espère que je suis un peu plus clair comme ça :smartass:

  13. Hello, voila quelques heures que je bute sur un problème qui pourtant paraît assez simple mais je bloque...

    Des personnes accèdent à un de mes site par une url de ce type :

    script.php?f=1|217|3|7

    Je voudrais qu'en apparence l'url soit uniquement script.php, sans toute la partie après 'php' (?f=1...).

    Est-il possible de faire cela dans un .htaccess ? J'avoue je suis comme une truie devant un bigorneau là...

    Merci d'avance !

  14. Bonjour,

    J'ai des cron paramétrés pour s'exécuter tous les jours à heure fixe. Il s'agît à chaque fois d'un wget sur un script PHP :

    wget http://www.exemple.tld/includes/cron/rapports.php

    Le hic c'est que parfois le script met 3 ou 4 heures à s'exécuter car ça mouline sévère (je ne peux pas changer cet aspect des choses). Donc le cron job 'retry' tous les quarts d'heure pensant que l'appel de la page n'a pas marché. Je voudrais donc spécifier à l'appel des crons de soit ne pas attendre de réponse, soit je ne sais pas...

    Parce que du coup là j'ai des script qui sont exécutés 8 voire 9 fois (pour celui qui met 4 h à retourner qque chose) et donc on a des emails multiples qui sont envoyés... arghhh !

    J'ai lu rapidement le man de wget, est-ce que ça pourrait résoudre le problème ?

    wget --tries=1 --wait=120m http://www.exemple.tld/cron/script.php?action=go

    Sinon, quelle serait la solution la plus secure et la plus couramment admise ?

    Merci d'avance parce que là je suis un peu dans le flou.

  15. Hello. Pour le type donné "gratuit" la relation est bien 1,1.

    Quand je regardais les logs du serveur SMTP j'avais le même nombre de doublons que dans mon log généré par le script PHP.

    Par contre, par une opération du saint-esprit, le problème a l'air de s'être réglé. J'ai appelé la page en spécifiant la date => envoi.php?test_date=2009-02-22 (plutôt que de ne pas spécifier de date) et là aucun doublon. Mon fichier de log contient exactement le nombre de lignes à envoyer.

    Je considère donc ce problème comme réglé ?!@#$!

  16. Bonjour,

    Je travaille sur un script qui envoie en moyenne 2000 emails par jour. Le problème c'est que ce script envoie actuellement des emails en doublon, voire en "triplon", voire en plus !

    Je ne trouve pas de solution pour qu'un seul email soit envoyé à chaque fois.

    Le script suivant est appelé par un cron, chaque jour. Par exemple, pour un jour donné où l'on devrait avoir 2000 emails à envoyer, mon fichier de log liste 3500 lignes, dont 1500 doublons (ou plus). Pour information on utilise la fonction de mail de os_commerce (tep_mail).

    Est-ce que quelqu'un pourrait m'aider là dessus parce-que là je ne vois pas du tout.

    <?php
    include("../../includes/application_top.php");

    set_time_limit(0);
    ignore_user_abort(true);

    if ($_GET["test_date"]<>"") {
    $auj=$_GET["test_date"];
    } else {
    $auj=date("Y-m-d");
    }

    $type = "gratuit";
    $upause = 2000;

    $where=" AND p.planning_date='".$auj."' ";

    $prefixe_query=mysql_query("SELECT sites_id, sites_encodage FROM sites");
    while ($prefixe_values=mysql_fetch_array($prefixe_query)) {

    $prefixe=$prefixe_values["sites_encodage"].'_';

    $nb_envoi_query=mysql_query("SELECT * FROM ".$prefixe."planning p, ".$prefixe."customers c, relances r WHERE p.relances_id=r.relances_id AND p.customers_id=c.customers_id AND p.planning_type='".$type."' ".$where." AND p.planning_status='1' AND planning_stop='0' ");
    $nb_envoi=mysql_num_rows($nb_envoi_query);

    $relances_query=mysql_query("SELECT * FROM ".$prefixe."planning p, ".$prefixe."customers c, relances r WHERE p.relances_id=r.relances_id AND p.customers_id=c.customers_id AND p.planning_type='".$type."' ".$where." AND p.planning_status='1' AND planning_stop='0'");

    while ($relances=mysql_fetch_array($relances_query)) {

    $sujet= "niania";
    $content= "niania";

    tep_mail($relances["customers_prenom"], $relances["customers_email"], $sujet, $content, 'xxx', 'xxx_AT_xxx.xxx');

    // GENERATION DE maillog.new.txt
    $log .= date('Y-m-d H:i:s') . "\t" . $relances["customers_prenom"] . "\t" . $relances["customers_email"] . "\r\n";

    mysql_query("UPDATE ".$prefixe."planning SET planning_status='1|1' WHERE planning_id='".$relances["planning_id"]."' ");
    usleep($upause);
    }

    // ECRITURE DU FICHIER
    $fichier = fopen("maillog.new.txt","a+");
    fputs($fichier, "$log");
    fclose($fichier);

    }

    ?>

  17. mmm merci pour le tuyau. Effectivement, ça ne me retourne que la commande la plus récente pour chaque customers_id dont la commande a le statut à 1.

    Mais ça ne me retourne que les champs date_commande et customers_id. je voudrais aussi récupérer toutes les coordonnées des customers (ds la table correspondante) et j'ai essayé avec ceci :

    SELECT MAX( commandes_date ) AS date_commande, c.customers_id, c.customers_prenom
    FROM commandes co, customers c
    WHERE co.commandes_status = '1'
    AND co.customers_id = c.customers_id
    GROUP BY customers_id

    Et ça a l'air de marcher... je suis fébrile...

  18. En fait voici ma requête, car il faut aussi que je fasse un WHERE sur le statut, pour ne récupérer que les commandes qui ont été validées :

    SELECT * FROM customers c, commandes co WHERE c.customers_id=co.customers_id AND co.commandes_status='1' ORDER BY c.customers_id ASC

    Je ne fais pas de WHERE sur un seul id.

×
×
  • Créer...