Aller au contenu

pluriels

Membre+
  • Compteur de contenus

    487
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par pluriels

  1. pluriels

    Tentative d'intrusion

    Fail2ban peut effectivement metre à jour iptables, ou /etc/hosts.deny Mais ça cache la misère, tes logs seront un peu plus propres, mais les attaquent ne s'arrêteront pas.
  2. Bonsoir à nouveau, Je suis bien entendu d'accord avec vous, si on se limite au seul besoin "simple" énoncé ci-dessus, sortir l'artillerie pour une fourmi, il y a des chances que ça marche, mais c'est un peu sur-dimensionné. De la même manière, un CMS ou une boutique en ligne vont plus facilement répondre au besoin du client et ne demandent pas non plus l'apprentissage d'un framework. Ils réclament plutôt l'apprentissage de la personnalisation de l'outil choisi. Les tendances lourdes autour de PHP - Les frameworks - l'optimisation de la performance - industrialisation des développements - outillage - audit et qualité de code Pour rappel, le programme du forum PHP 2010 Et si on parlait d'informatique en général ? Les frameworks PHP, fortement inspirés de Rails et / ou malheureusement de Java, sont une matérialisation (loin d'être ultime) de l'expérience issue de presque 40 ans d'informatique. Cette expérience est issue d'erreurs et d'échecs qui ont fait avancer l'informatique. L'informatique de gestion représente le plus gros marché du développement d'applications et c'est là que se positionnent les SSII et plus habituellement les plateformes comme Java et .Net. Utiliser un framework PHP, c'est montrer que PHP a également sa place en entreprise. Sites Web vs. Informatique de gestion Nos applications Web sont un sous-ensemble de ce vaste marché de l'informatique de gestion. (certains diront même applications périphériques ou peu stratégiques) D'un côté, on peut s'étonner de voir des SSII tenter de conquérir Internet en faisant des sites web. D'un autre côté, les pure-players PHP ont récoltés les succès sur Internet et se tournent maintenant vers les entreprises.Ces deux populations sont amenées à échanger et progresser ensemble avec PHP comme point d'accroche. Effectivement, les frameworks PHP sont devenus une grammaire commune aux deux univers. Les pure-players les ont adoptés même pour les sites Internet. Les SSII ont fait rentrer dans les entreprises les frameworks PHP. Si tu veux t'ouvrir un maximum d'opportunités, alors lance toi sur un framework. Je n'imagine même pas un développeur Java qui annonce d'emblée :je ne connais pas struts, ni spring, ni hibernate... Mais comme l'on précisé les autres intervenants, un framework simplifie le travail, encore faut-il que tu saches par toi-même ce qu'est le travail avec PHP.
  3. Pour une fois qu'on parle de CakePHP, je me permets d'intervenir. L'apprentissage d'un framework pour un développeur d'applications est une obligation. J'entends par développeur une personne qui va avoir pour principale occupation professionnelle l'écriture de code PHP ou autre langage. Le monde des sites web est un peu à part. Pourquoi pas un framework ? Si vous regardez dans les autres langages, il est maintenant inconcevable de faire sans. Quelqu'un fait-il encore ses appels Ajax sans jQuery ou Prototype ? Fait-on du Java sans connaître un seul framework (struts, spring etc...) ? Python a django, Ruby a Rails, même en CSS vous avez des frameworks... Profiter de l'expérience des autres Chaque développeur se construit son propre framework, ses petites habitudes, ses bibliothèques, ses modèles de script ou sa méthodologie Utiliser un framework PHP, c'est bénéficier de l'expérience acquise par des dizaines de développeur. Avec mon unique cervelle, je n'imagine pas un jour lutter. Progression pédagogique Effectivement, c'est le gros problème, faut-il apprendre à faire du vélo pour aller plus vite et plus loin ou continuer à courir ? Quelles sont les connaissances minimum requises ? Pour bénéficier pleinement de l'apport de CakePHP, il vaut mieux avoir déjà codé une application PHP / MySql avec authentification et sécurisation minimum. Contenu technique d'un framework L'architecture proposée par les frameworks, MVC, abstraction de la base de données (DBAL), mapping Relationnel-Objet (ORM) suppose une compréhension minimum en programmation orientée objet (POO) et les design pattern. Le découpage de l'application en couches (Métier, Coordination, Présentation) est déjà un premier pas. MVC, en POO est le suivant. Ces architectures sont issues d'années d'expérience sur l'ensemble du cycle de vie d'une application. Ce cycle comprend notamment l'analyse, le développement, le déploiement, la recette et surtout la maintenance. Parmi les surprises qui peuvent arriver à long terme : - je veux changer de base de données (heureusement pdo est là) - plutôt que d'afficher le solde de mon forfait sur une page web PHP, je voudrais le recevoir par SMS, faut-il réécrire le calcul pour les SMS ? Si oui, comment on fait si la règle de calcul change ? - finalement, ce serait bien d'afficher aussi ça sur ma freebox - le prestataire a disparu, je comprends rien au code. (principal risque du framework maison ou code spaghetti). J'espère ne pas avoir été trop bavard, mais j'adore CakePHP.
  4. Celui-ci parait bien ? postfix install debian sur GG : http://blog.fabroce.info/post/2006/11/10/I...une-Debian-like
  5. comme il faut flash pour afficher la page, il y a peut-être un problème avec le plugin.
  6. d'où l'appel discret ajax par contre au niveau de l'optimisation ce n'est pas génial Ma solution : - Crée un éléments pour afficher x messages exemple : mon_element.ctp <?php foreach($messages as $message){ echo $message['Message']['contenu'].'<br>'; // tu as le droit de faire plus joli ! } ?> Controleur : function index(){ $this->set('messages', $this->Message->find('all', $options)); } function edit($sujet_id){ $options['conditions'] = array("Message.sujet_id"=>$sujet_id); $this->set('messages', $this->Message->find('all', $options)); // tu rajoutes ici les traitements pour ton formulaire } Vues - ta vue index.ctp <?php $this->renderElement('mon_element', array('messages'),$messages); ?> - ta vue edit.ctp <?php $this->renderElement('mon_element', array('messages'),$messages); ... // code de ton formulaire ?>
  7. désolé pour la pub, mais viens plutôt sur www.cakephp-fr.org Deux solutions : Logique Ajax : Tu pourrais inclure ton index avec un appel ajax ? (en utilisant le composant RequestHandler, ton $content_fo_layout sera affiché sans le layout ) De la même manière, tu peux inclure une méthode avec les 5 derniers messages Logique MVC M Dans ton modèle message, tu peux ajouter une méthode : function lastMessages($personne_id){ $options['order']=array('created'=>'desc'); $options['conditions'] = array( 'personne_id'=>$personne_id; 'date' ); $options['limit']=5; $resultat = $this->find('all',$options); return $resultat } C Dans ton controleur messages function add($personne_id){ $last_messages = $this->Message->lastMessages($personne_id); $this->set('derniers_messages',$last_messages); // ici le code qui gère le formulaire } V Enfin dans la vue, tu peux te servir de la variable : $derniers_messages et ensuite afficher ton formulaire Dont Repeat Yourself => DRY Dernier conseil, si tu te rends compte que certaines fois dans tes vues, tu as des bouts de code vraiment très proches, tu dois pouvoir créer un élément ou un helper qu tu pourras appeler à chaque fois que tu en auras besoin. Exemple classique de M -> C -> V Bon courage
  8. il me semble que la question de Libelinfo est judicieuse. Certaines entreprises demandent à leurs salariés de ne pas avoir d'activités annexes. Auquel cas, auto-entrepreneur ou autre, vous allez à l'encontre du contrat de travail que vous avez signé.
  9. <?php echo "<pre>".print_r($_GET,true)."</pre>";?>
  10. Il me semble, pour les gens vraiment tournés vers le développement PHP, que Magento est propulsé par Zend Framework. Ceci permet d'imaginer une plus grande flexibilité au niveau de la personnalisation, pas au niveau de la décoration, mais surtout pour l'ajout ou la modification des fonctionnalités.
  11. pour théoriser un peu tout ça : - chargement de la page - affectation des évènements sur les objets de premier niveau - appel ajax sur les objets de premier niveau - chargement des éléments de deuxième niveau - et quand tu cliques rien ne se passe... Normal, car tes éléments de deuxième niveau n'existaient pas quand tu as affecté les évènements. Comme l'indique Captain_torche, il faut dans l'appel ajax affecter les évènements sur les nouveaux éléments. Une autre astuce est de gérer les événements sur un objet de niveau supérieur qui ne bouge pas en fonction des appels ajax. Ce qu'on appelle la délégation d'évènement Le lien est un exemple pour Yahoo UI, mais la logique est la même pour jQuery ou autre.
  12. pour un site en chinois, j'avais aussi fait appel aux conseils du vénérable Demoore petit rappel de l'aventure : http://www.webmaster-hub.com/index.php?sho...&hl=chinois Au final : - UTF-8 - hébergement mutualisé OVH avec ip espagnole ! ll semblerait que le firewall soit plus indulgent avec les ip géoplocalisées là-bas... - spip multilingue - le résultat est là http://www.rsp-ingenierie.com, le projet a été abandonné route.
  13. tu peux aussi essayer : echo "<input type=\"radio\" name=\"choix\" value=\"active\" " . ($activee== 1?"checked":"") . "></input><br />"; par contre pour la lisibilité, c'est un brin délicat
  14. pourquoi ne pas utiliser un tableau ? $aa[0] = 1 ... $aa[n] = xyz; while ($nb < 4) { print "***** variable: ".$aa[$nb]."<br>"; ... }
  15. 350 euros HT / jour, sont les tarifs habituels. Certains clients trouveront ça cher, mais je ne bosse plus avec ceux-là... Il faut aussi prendre en compte que tu as déjà passé au moins 1/2 journée à étudier l'évolution.. Donc 500 euros HT semble une bonne offre pour ta cliente et pour toi.
  16. Pourquoi préfères-tu une requête sur l'id plutôt que sur nom_dept ? $nom_dept = '2a'; $nom_dept = "02"; ou encore $nom_dept="21"; $mysql->query('SELECT numero_dept, nom_dept, region, adresse, telephone, fax, email, www FROM cartedefrance WHERE nom_dept = '$nom_dept'); Tu n'aurais pas besoin du round ou de gérer les 2a 2b ?
  17. le problème ne vient-il pas plutôt de WHERE numero_dept = \''.$pid.'\''); J'aurais plutôt écrit la contrainte sur le champ nom_dept: SELECT numero_dept, nom_dept, region, adresse, telephone, fax, email, www FROM conseilgeneral WHERE nom_dept = '2a' Pour info, round('2a') renvoie 0 car 2a est une chaine de caractères
  18. Bon anniversaire au Hub et encore un grand merci aux premiers Hubiens et aux modos pour avoir rendu ce forum aussi agréable.
  19. Bonjour, de mon côté, j'ai utilisé ... du javascript pour importer mes données dans Indesign. Au lieu de générer un fichier XML (ce que je voulais au départ), je me suis orienté vers un générateur de Javascript. Au final, on obtient un fichier Javascript à lancer dans Indesign.
  20. bienvenue sur le hub ! tu trouveras peut-être aussi des réponses à tes questions Lionel
  21. dans un projet de ce type, il vaut mieux ne pas se focaliser sur le délai. Comme Davidm, je préconiserai un développement rapide avec un framework, mais ce type de développement sous-entend un engagement des 2 parties dans le développement. Le temps de faire les tests correctement, d'envoyer vos retours et d'effectuer les corrections, n'espérez pas passer en production avant 1 mois et demi, surtout en été ! Pour cadrer un peu votre réflexion : - Le design et les textes traduisent votre identité. Un template lambda ou des textes lambda s'appliquent aux société lambda... - votre site présente 2 volets : une partie éditoriale / carte de visite de votre entreprise, une partie métier pour le gestion des CV. vous pouvez scinder les 2 parties : CMS léger ou même site statique optimisé pour le référencement, développement spécifique pour la partie métier. Qu'est-ce qu'un site d'emploi classique ? Ce qui est une évidence pour vous ne l'est pas forcément pour tous, encore moins pour un informaticien ... - votre site est-il est outil à part entière de votre société ou est-il satellitaire ? j'ai réalisé un projet du même type pour une agence de communication qui connaissait bien une niche, mais ce n'était pas son coeur de métier. Le site a été mis en ligne mais quasiment aucun CV n'est arrivé. La méconnaissance du référencement et le manque d'implication ont fortement joué dans l'échec du site. En tant qu'exécutant, ça m'a ennuyé pour eux, malgré tous les conseils que j'ai pu leur fournir. Un site Internet représente au lancement un investissement, en temps et en argent. - vous pouvez éventuellement opter pour un script payant, mais comment pourrez vous le faire évoluer ? cela me paraît risqué. Bonne chance pour votre projet.
  22. il ya beaucoup de référenceurs sur le hub. J'ai dernièrement discuté avec Patrick, de la société ADIFCO. Il m'a paru sérieux et doté d'une bonne approche. Adifco référencement Si je ne me trompe pas, Cariboo en connaît aussi un certain rayon. Les prestataires sont nombreux et il est difficile de s'y retrouver. Je crois que le plus dur est de trouver des éléments de comparaison entre les référenceurs. A quand le guide : bien choisir son référenceur ?
  23. effectivement tu peux jouer avec les CSS. #mon_conteneur_noir table.spip td{ border-left : solid 1px black; } #mon_conteneur_blanc table.spip td{ border-left : solid 1px white; } Dans ton squelette, tu peux place un : <div id="mon_conteneur_blanc"> #TEXTE </div> <div id="mon_conteneur_noir"> #TEXTE </div> Les tableaux dans mon_conteneur_blanc auront une bordure blanche. Les tableaux dans mon_conteneur_noir auront une bordure noire.
  24. pluriels

    Avis sur un code PHP

    Cela ressemble à une usine à gaz mais peut se justifier : - file_exists ne fonctionne qu'en local je crois - fopen n'est pas disponible sur tous les hébergements. Le script contourne l'utilisation de fopen en ouvrant un socket.
  25. Je te conseille vivement de migrer. Cela t'évitera de bricoler et d'utiliser un plugin qui n'est plus tenu à jour. L'article est quand même de 2004...
×
×
  • Créer...