Jump to content

Spidetra

Hubmaster
  • Content Count

    326
  • Joined

  • Last visited

Everything posted by Spidetra

  1. Cariboo a raison. Ce qui compte vraiment : c'est le Ticket D'Entrée sur un marché donné. Dans l'immobilier le ticket d'entrée se mesure en million d'euros ( au moins en centaine de milliers d'euros ) La partie technique ( développement du site web ), c'est "peanuts" comparé au moyen marketing et commerciaux qu'il faut mettre en oeuvre.
  2. Dans le bout de code que j'ai copié de la fct unlink a un momment tu as return rmdir($fileglob); met ça en commentaire pour ne pas supprimer le répertoire. Je suis pas sur qu'il y ait de solution miracle. J'ai regardé rapidement sur PEAR sans trouver de package miracle. Dans le mesure ou tu veux supprimmer tout les fichiers, je pense que tu peux simplifier le bout de code ( pas de suppression récursive des sous-répertoire ) : - tu passe en param le nom de ton répertoire - tu prend comme pattern : *.* - tu boucle sur la liste des fichiers - tu fait appel à unlink() - tu teste juste que tes fichiers ne sont pas des répertoires.
  3. tu pourrais adapter ce bout de code à ton besoin ( source : fct unlink php ) : <?php /** * rm() -- Vigorously erase files and directories. * * _AT_param $fileglob mixed If string, must be a file name (foo.txt), glob pattern (*.txt), or directory name. * If array, must be an array of file names, glob patterns, or directories. */ function rm($fileglob) { if (is_string($fileglob)) { if (is_file($fileglob)) { return unlink($fileglob); } else if (is_dir($fileglob)) { $ok = rm("$fileglob/*"); if (! $ok) { return false; } return rmdir($fileglob); } else { $matching = glob($fileglob); if ($matching === false) { trigger_error(sprintf('No files match supplied glob %s', $fileglob), E_USER_WARNING); return false; } $rcs = array_map('rm', $matching); if (in_array(false, $rcs)) { return false; } } } else if (is_array($fileglob)) { $rcs = array_map('rm', $fileglob); if (in_array(false, $rcs)) { return false; } } else { trigger_error('Param #1 must be filename or glob pattern, or array of filenames or glob patterns', E_USER_ERROR); return false; } return true; } ?>
  4. Une petite co........erie avant d'aller me coucher : Au tout début, en 1969, Arpanet est né en reliant quatre ordinateur dans quatre centres universitaires différents. Ce réseau, civil au départ, a intéressé le secteur militaire. Un tel réseau distribué pouvait potentiellement résisté à une attaque nucléaire ! 37 ans plus tard, Arpanet devenu Internet, n'est pas capable, en France en tout cas, de résister à une simple coupure électrique Juste par curiosité : Il existe d'autres centres aussi névralgiques que RedBus en France ?
  5. N'hésite pas à reposter tes diagrammes. J'y jetterai un coup d'oeil rapide.
  6. une première piste avecla fonction unlink de php ( voir les exemple récursif )
  7. J'avais répondu et ma réponse a disparu ( ou elle est jamais arrive ) Il me semble que ce sont les seules limitations ( pas sur à 100% ). J'ai jamais essayé d'envoyer 10.000 mails ! Dons je ne sais pas s'il y a une limite en nombre de mails max pour une campagne.
  8. J'ai pa pu récupérer le schéma XML ( RedBus fait encore des siennes ) Un conseil simple : - prend une feuille et un crayon - essaye de faire un MCD. Inspire toi du schéma que je t'ai fait pour utilisateur/role. - Met juste les clé primaires dans tes entités, ne perd pas du temps à mettre tout tes attributs. - Oubli les cardinalités 1:1 des deux côtés de l'association. - Réfléchis bien aux cardinalités de chaque côté d' une association. Applique ces règles simple pour générer ton MPD : - Fait glisser la clé primaire du côté 1:1 ou 0:1 de ton association ( ce que j'ai fait pour la table utilisateur ) - si tu as des cardinalités 0:n ou 1:n des deux côtés de l'association => une table de liason intermédiaire entre tes deux tables ( ce que j'ai fait dans mon schéma plus haut pour jeu/categorie ). J'ai regardé juste la relation profil/utilisateur, mais il m'a semblé que le reste du schéma aussi comprenait des erreurs. Tu peux aussi télécharger une version d'essai de powerAMC ( ils en sont à la 12 ) http://www.sybase.com/products/development...ration/poweramc Tu pourras facilement faire : MCD->MPD->Implémentation en mySQL 4.x ou 5.x
  9. Donc c'est exactement l'inverse de ton tout premier schéma. Si tu es sur qu'un utilisateur a un profil et un seul, alors ça donne ça :
  10. Je suis d'accord avec MarvinLeRouge. Une association bijective entre deux entités, en théorie, ce n'est pas faux, mais c'est quand même bizarre. Je n'en ai jamais vu. Je t'ai fait un schéma avec 4 possibilité de relation entre profil et utilisateur. La 1° possibilité correspond à ton MPD. Je n'ai mis que les clés primaires dans les entités et pas tout les attributs. C'est quoi pour toi un profil ?
  11. J'utilise sarbacane. Très simple d'utilisation, fusion avec des formats d'imports variés. Tu peux facilement personaliser l'e-mailing. J'utilise la version gratuite. Inconvénient de la version gratuite : - Publicité pour sarbacane en bas de la newsletter - Pas de suivi stats -http://www.goto.fr/sarbacane/
  12. J'aime bien réfléchir au niveau MCD, c'est bc pplus simple pour voir rapidement les pb de modélisation. Malheureusement, il n'existe pas de bons outils OpenSource de modélisation ( MCD->MPD->Implémentation multiSGBD ). Sur ton diagrame je vois au moins un pb : La liason profil : utilisateur. Pour moi : Cardinalité côté utilisateur : 1,1 => Un utilisateur a un profil et un seul Cardinalité côté profil : 0,n => Un profil correspond à 0,n utilisateurs. => la clé id_profil doit être dans la table utilisateur. Tu as fait l'inverse. J'aime bien garder le même nom de champ pour la PK, et pour la FK. La clé FK ( dans la table utilisateur ) je l'apellerai id_profil, et non pas profil_utilisateur(FK). Complément : si tu change la cardinalté côté utilisateur. Un utilisateur corrspond à plusieurs profils => création d'une table de liason. J'ai pas pris le temps de regarder tout le diagrame, il fait beau et je vais aller faire dun roller. Bon week !
  13. Sauf erreur de ma part, DBDesigner ne permet pas de faire des MCD, mais uniquement des MPD. Le MCd est un niveau d'abstraction plus haut que le MPD Non. Cela dépend du type de cardinalité que tu as des deux côtés de ton association. Dans cet exemple, un jeu appartient à 0,n catégories ( pour être précis la cardinalité aurait dû être 1,n) Une catégorie peut avoir entre 0,n jeux. Dans ce cas tu auras, une table de liason dont la clé primaire est composé des deux clé primaire de la table jeu et de la table catégorie. Le schéma ci-dessous sera un peu plus clair. - Tu vas pouvoir gérer des clés étrangères avec quasiment n'importe quel SGBD. Tu peux gérer ça dés mySQL 3 et avec des tables myISAM. Dans l'exemple ci-dessus, dans la table appartient tu as deux clé étrangères : IDJeu et IDCatégorie. Généralement tu met des index sur ces champs, afin d'améliorer les performances lorsque tu feras des liaison entre tes tables. - Lorsque tu parles de clé étrangère, tu fait peut-être référence à la notion d'intégrité référentielle. C'est à dire, si tu supprimme une catégorie, toutes les lignes de la table appartient doivent aussi être supprimmé. Cette intégrité s'obtient avec des contraintes d'intégrité référentielles, et des triggers. Cela n'existe effectivement en mySQL4 si tu reste en myIsam Voici un exemple en mySQL5.0 /*==============================================================*/ /* Nom de SGBD : MySQL 5.0 */ /* Date de création : 25/03/2006 10:35:06 */ /*==============================================================*/ drop table if exists VILLA; drop table if exists VILLE; /*==============================================================*/ /* Table : VILLA */ /*==============================================================*/ create table VILLA ( IDVILLA int not null auto_increment, IDVILLE int not null, SUPERFICE decimal, PRIX decimal, primary key (IDVILLA) ); /*==============================================================*/ /* Table : VILLE */ /*==============================================================*/ create table VILLE ( IDVILLE int not null auto_increment, NOM longtext, primary key (IDVILLE) ); alter table VILLA add constraint FK_ASSOCIATION_1 foreign key (IDVILLE) references VILLE (IDVILLE) on delete restrict on update restrict; L'intégrité référentielle entre Villa et Ville est garantie grâce à la contrainte FK_ASSOCIATION_1. Si tu n'utilise pas les contraintes d'intégrité référentielle, ce n'est pas si grave que ça. L'important est de mettre les bons indexs sur les champs qui te servent de liaison. Si tu n'a pas de contraintes d'intégrité référentielle ce sera à toi de maintenir cette intégrité dans tes programmes afin de ne pas mettre ta base en vrac. Les avis sont partagés sur l'utilisation ou non des triggers et des contraintes d'intégrité référentielle. Certains ne jurent que par ça, d'autres n'en veulent pas. Le nom de contraintes est vraiment bien choisit : add constraint ajoute des contraintes sur ta base de donnée. Donc tu perd de la liberté. C'est parfois enervant en mode dévloppement de vouloir supprimé des enregistrements avec phpMyAdmin, et qu c'est impossible à cause des contraintes référentielle. Un mix que j'aime bien : - en phase develop, je n'active pas les contraintes - en production, j'essaye d'imposer ( c'est pas tjrs facile ) ,l'activation systématique de l'intégrité référentielle. Conclusion : le risque de ne pas utilisé des contraintes de clé étrangères, n'est pas si grave que ça, si tu sais être rigoureux dans tes dev et dans ta manipulation de ta base.
  14. je dirais typo3, mais tu as au moins 6 mois pour comprendre comment ça fonctionne http://www.typo3.fr/
  15. Le conditionnel est une des grandes spécialités de Matt Cutts
  16. Les gros forums embauchent des salariés pour modérer. Je n'ai jamais entendu parler de société spécialisée en modération. Un concept à inventer ? pas sûr que ce soit rentable
  17. effectivement j'avais pris un petit raccourci en ne citant que la phase qui me semblait importante dans le billet. Tout le monde connait le blog de Matt Cutts, Non ?
  18. mySQL workbench permettra d'importer les schéma dbdesigner4. il est possible de démarrer avec dbdesigner et de migrer vers mySQL workbench, quand une verstion stable sortira
  19. en gratuit, je ne sais pas si c'est OpenSource, et pour mySQL tu vas avoir : http://www.fabforce.net/dbdesigner4/ => C'est bien de l'OpenSource : License GNU GPL
  20. Navigation : - Fil RSS - Catégorie - Moteur de recherche : assez peu - Archive : jamais
  21. J'ai pris un web de retard en référencement
  22. tu aurais des liens vers ces articles ? félicitation pour ton article dans stratégie, et pour ton site
  23. Salut le hub, Je vais enfoncer des portes ouvertes de bons matins ( en espérant ne pas me faire éjecter par la fenêtre ). L'arrivée du web 2.0, des folksonomie, tags et autres tentatives de ranking collaboratives vont donner naissance à une nouvelle "génération" de spam. Le moteur de recherche sproose.com a déjà déposé la très marketing notion de KR ( Knowledge Rank ). On verra bien si ce concept fera autant de bruit que son ancêtre le PR. Le SpamLink et les FarmLinks servent ( en théorie ) à booster son PR, dans un futur on pourra imaginer que le SpamTag et les FarmTags servent à booster son KR ( ou n'importe quel équivalent en deux lettres finnisant par R ) Un viel article sur le tagspam http://www.micropersuasion.com/2005/07/yahoo_myweb_bec.html Ce matin dan parle de la baisse du nbr de pages indéxées dans Google d'un site de tags. Est-ce qu'on a déjà des retours sur cette nouvelle forme de spam ? tag : bonne idée/mauvaise utilisation ?
×
×
  • Create New...