Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

306 commentaire(s) de neigedhiver sur des sources sur tout CodeS-SourceS

Le : 08/11/2008 11:26:50
Source : CONVERTISEUR BINAIRE OCTAL DEC HEX...
Salut,

Moi, quand je lis ça : "cet outil sera sous la liscence de SitaJONY(c).", je me dis que tu n'as pas de grandes connaissances juridiques.
Pour être valable, une licence doit être légalement protégée.
Par exemple, la licence GPL est protégée par des droits d'auteurs. C'est cette protection légale qui lui confère toute sa force et lui permet d'enlever toutes les barrières du "droit d'auteur" aux publications qu'elle protège.

Sinon, je pense que ta source n'apporte pas grand chose, si ce n'est une vague interface graphique qui reste plus lente à utiliser que la calculatrice sur windows ou linux (qui permettent également de convertir dans les bases principales).

Bref, ça pourrait être un prétexte pour toi de découvrir les formulaires et Ajax, mais de là à en faire une source...


Le : 07/11/2008 09:28:52
Source : MASSIVE MAIL
Salut,

J'ai un peu de mal à comprendre l'utilité de ce code qui ne fait qu'utiliser la fonction mail()...
J'aurais jamais pensé utiliser PHP pour mailbomber... Quitte à le faire, autant le faire en shell, c'est quand même un p'tit peu plus rapide.
Puis bon, le mailbombing, ça reste une pratique douteuse et discutable...


Le : 02/11/2008 12:01:42
Source : CLASSE DE VÉRIFICATION DE DONNÉES
Plop,

Y'a pas de raisons de ne pas laisser cette source en ligne.

Faire une classe, pourquoi pas... ce n'est pas indispensable, mais pourquoi pas, à condition que ce soit une classe statique (pas de constructeur, et toutes les méthodes statiques). L'intérêt d'une classe statique :
- embarquer des fonctions qui font partie d'un même package
- pouvoir appeler ces fonctions de n'importe où dans le code
- ne pas avoir à se soucier des noms des fonctions, puisque seul le nom de la classe ne doit pas être dupliqué (c'est un peu le principe des namespaces de php5.3, mais pas aussi poussé ni complexe).
Avec une classe instantiable, il faut avoir un objet instancié, qui ne sera accessible que dans une portée définie (script, fonction, classe, etc). C'est une limitation plus qu'une fonctionnalité.
Quand à l'extension Filter, oui, elle est installé de base dans PHP (enfin j'ai rien trouvé qui indique le contraire).

Encore quelques petites optimisations...
Inutile de stocker le résultat d'une fonction pour le retourner immédiatement. Le stockage dans une variable à un coût en perfs (vraiment dérisoire, mais quand on peut s'en passer...). Tu peux te permettre de renvoyer simplement la chaîne, par exemple dans deletOneChar() :
Au lieu de :
# $string = ereg_replace($char,"",$string);
# return $string;

Simplement :
return preg_replace('`'.preg_quote($char)'`', '', $string);

Ou encore :

# public function checkLink($link)
# {
# $conn = @fopen($link, "r");
# if(! $conn ){
# return $this->isValidLink = false;
# }
# return $this->isValidLink = true;
# }

Plus simplement :
public static function checkLink($link) {
    return (bool) @fopen($link, 'r');
}

C'est un poil plus optimisé et pas moins lisible.

Voilà voilà.. Bon dimanche ^^


Le : 02/11/2008 01:23:43
Source : CLASSE DE VÉRIFICATION DE DONNÉES
Je viens de voir l'expression régulière que tu construis dans la méthode de vérification d'email... Elle me semble très peu optimisée... Faudrait que je regarde ça de plus près, mais je pense que tu te compliques la vie pour pas grand chose, on peut faire plus simple. (pis en utilisant la fonction de filtre, c'est encore plus simple...)


Le : 02/11/2008 01:21:26
Source : CLASSE DE VÉRIFICATION DE DONNÉES
Salut,

J'ai pas regardé en détails (je regarde rarement en détails, oui, je sais, c'est mal), mais j'ai quand même des choses à dire...

1/ Pour vérifier une adresse email, il existe des fonctions de filtres qui permettent de ne pas avoir à recoder une fonction native (qui est nécessairement plus performante) : http://fr.php.net/manual/fr/book.filter.php
Par exemple : filter_var($user_email, FILTER_VALIDATE_EMAIL);

2/ Dans la méthode noPunctuation() ereg est énormément moins performant que preg à motif égal. En outre, preg_replace accepte en argument un tableau de motifs et un tableau de remplacements, ce qui évite d'appeler 6 fois de suite ereg_replace.
Par ailleurs, il manque la suppression du caractère points de suspensions ( … ), et les points d'interrogation et d'exclamation inversés.

3/ Dans la méthode checkIP
# if(preg_match($handler,$ip)){
# return $this->isValidIp = true;
# }
# return $this->isValidIp = false;

N'est-il pas plus simple et plus lisible de faire une seule ligne :
return (bool) preg_match('`([0-9]{1,3}\.){3}[0-9]{1,3}`', $ip);

D'ailleurs cette méthode est valable pour une IPv4, mais pas pour une IPv6.

4/ D'une manière générale, pourquoi avoir fait une classe "standard" ? Pourquoi pas plutôt une classe statique, ou, plus simplement, une collection de fonctions ?
Je ne vois pas l'intérêt d'une classe dans la mesure où on n'a pas besoin d'instancier un objet...

5/ Concernant les propriétés :
#  public $isValidEmail;
# public $isNumber;
# public $isValidDate;
# public $isValidHour;
# public $isValidLink;
# public $isValidIp;

Si tu dois les initialiser à false dans le constructeur, pourquoi ne pas alléger le code ?
public $isValidEmail = false;
public $isNumber = false;
public $isValidDate = false;
public $isValidHour = false;
public $isValidLink = false;
public $isValidIp = false;

Je pense que voilà de quoi optimiser ta source :)


Le : 31/10/2008 12:39:33
Source : DOTVIEW - THE PHP.NET VIEW STYLE
Salut,

Pour ma part, je n'ai pas encore téléchargé (manque de temps pour regarder de plus près), donc je ne peux pas encore commenter.

Mais avant de m'y mettre, il me manque des informations... Si j'ai quelques notions quant au motif de conception MVC, je ne connais ni .Net, ni Prado... Et j'ai un peu de mal à bien me représenter ce que ta source fait...
Ca a l'air vraiment très intéressant, mais vraiment, je manque de données... Buffer underflow ^^


Le : 28/10/2008 10:56:59
Source : CHAÎNAGE POUR AFFICHER LE CONTENU D'UN RÉPERTOIRE ( ET SES SOUS RÉPERTOIRES)
Salut,

Il faudrait arrêter avec les idées préconçues comme quoi les débutants doivent commencer à apprendre avec du code pourri.
Le premier argument retourné quand un code est critiqué sur sa qualité (notamment sa structure ou sa conception) c'est qu'il est destiné aux débutants.

Y'en a marre, quoi. Les débutants, pour progresser, n'ont pas besoin de codes mal structurés, limités, mal écrits et vieux. ils ont besoin de fonctions ou de classes documentées qui soient aussi innovantes.

Parcourir un répertoire avec opendir() et consorts, c'est un peu dépassé. C'est dépassé parce qu'il existe aujourd'hui des classes fournies dans la SPL avec PHP5 qui permettent de parcourir des répertoires de manière récursive et sans limite de profondeur, le tout en moins de 5 lignes (malalam avec donné un exemple en 3 lignes dans un commentaire de source). Avec la SPL, on peut utiliser des filtres (même sans la SPL remarquez...) qui permettent une réutilisabilité (euh... j'ai pas cherché ce mot dans le dico, mais au moins il a le mérite d'exprimer ce que je veux dire) et une évolutivité du code.

Bref.

Mélanger du code HTML crade avec du PHP non optimisé, voilà parfaitement l'exemple qu'il ne FAUT PAS donner aux débutants.
Le parcours de répertoires avec opendir() et readdir(), toutes les sources le font, plus ou moins bien (certains ne sont même pas capables de copier/coller l'exemple correct qu'on trouve dans la doc de PHP).

Bon, je vais pas noter la 4897125ème source de ce genre, ça n'en vaut pas la peine : cette source n'apporte rien de rien.

Désolé, d'être aussi sec.


Le : 24/10/2008 14:36:06
Source : MOTEUR DE TEMPLATE
Salut,

J'ai pas bien eu le temps de tout regarder en détails bien que ce genre de source m'intéresse.
Cependant, il y a un truc qui m'a choqué : c'est le constructeur style PHP4.
Bien que ce soit compatible en PHP5, si on étend ta classe, il faut appeler manuellement le constructeur du parent. Or, le constructeur __construct() en PHP5 permet justement de s'affranchir de cette "contrainte"...

Je regarde ça plus en détails ce week end, et je bencherai pour comparer avec le mien :)

En tout cas, ça fait plaisir de voir de temps en temps des sources soignées et documentées.
A propos de la doc... Quel standard respectes-tu ? Pour ma part, je suis habitué à phpDoc (syntaxe identique ou presque à javaDoc, pyDoc), du coup là, ça me perturbe un peu ^^ (mais c'est pas grave...)


Le : 19/10/2008 16:11:57
Source : CONVERTION CARACTÈRE SPÉCIAUX EN CODE HTML
Au temps pour moi... Suis allé trop vite.


Le : 19/10/2008 13:45:37
Source : CONVERTION CARACTÈRE SPÉCIAUX EN CODE HTML
Salut,

Je suis navré, mais cette source souffre de nombreux défauts :
- comme le souligne Guismo1er, une fonction PHP permet déjà de faire ça, de manière certainement plus rapide et peut-être plus exhaustive
- quitte à utiliser ce tableau, autant utiliser une fonction php appropriée, plutôt que de parcourir bêtement la chaîne... La fonction strtr() ( http://fr.php.net/strtr ) sert justement à ça
- quitte à vraiment vouloir parcourir la chaîne, autant le faire de manière élégante en utilisant un otérateur (par exemple StringIterator que j'ai posté ici-même), avec des filtres ou des fonctions de remplacement.
- cette source n'est pas une source, tout au plus un snippet...





Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,109 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.