Derniers billets

Flux Rss
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 next >>
 

hadopi youpi

By esion - the 2009-04-05 13:45:13 - in Informatique

(0) Comments

Riposte graduée ? - La Quadrature du Net

Ça a démarré jeudi dernier, l'internet français tend à devenir un media sur-controlé et censuré.Tiens ça me fait penser à la télé, le medium démoniaque qui lobotomise les gens.

Quand est-ce que  l'on va commencer à voir les virus hadopi infecter le parc informatique français? On ne sait pas comment les oeuvres seront protegés par hadopi (bin oui, ils n'ont pas fournit les specifications n'est-ce pas) mais en tout cas un programme qui s'execute à l'insu del'utilisateur pour renvoyer des informations le concernant via internet ... moi j'appelle ça un virus. Peu importe les choix technologiques de protection, tout le monde est présumé coupable(et tout le monde l'est en définitive). Comme pour "les grands mères pirates", on devrait voir arriver des sanctions exemplaires; vraiment ça va être magnifique.

 
 

Lutter contre le spam et les chaines d'emails

By esion - the 2009-03-28 12:36:00 - in Informatique

(0) Comments

Internet, le partage de l'information, de la connaissance et des trucs rigolo sur lesquels on est tombé :)
On a tous reçu par mail du spam pour du viagra ou des chaînes pour sauver la petite lili atteinte de la leucémie en transférant à tous cet email sinon on risque de se faire flageller à coup de nouilles trop cuites par le clown de Stephen King. Certains auront aussi eu la « chance » d'avoir reçu des mails phishing (hameçonnage). Et bien sûr sans oublier d'éventuels vrais virus qui trainent.

On me dit souvent « comment je peux recevoir du spam alors que je n'ai jamais donné mon email ? ». Premièrement cette adresse elle doit forcement être quelque part dans les contacts d'un amis, sur un site mal sécurisé ou peu importe , ensuite il suffit d'avoir reçu au moins une fois un chaîne. Un des problèmes est que la plupart des gens renvoient les chaînes en copie, c'est à dire que tous les emails précédents sont visibles ce qui fait le bonheur des spammeurs et fraudeurs quand ils récupèrent en retour ces adresses, c'est une boucle sans fin.

Une solution ?

Il ne sera pas possible de complètement éradiquer le spam en un claquement de doigts mais on peut lutter contre avec un peu d'esprit critique et quelques bonnes pratiques.

  1. Les chaînes « du cœurs » ou hoax: jamais on ne pourra sauver quelqu'un en renvoyant 10000 emails surtout que ce quelqu'un est surement fictif. Pour le vérifier un site : http://www.hoaxkiller.fr
  2. Les chaînes rigolotes : ça fait toujours sourire de voir « le chien qui fait du skate » du coup on le fait tourner aux collègues, copains, familles, martiens ou anciens profs peut être. Alors la copie-invisible est là pour ça!

Copie carbone invisible

Certains auront remarqués les champs Cc et Cci lorsqu'ils écrivent un message. Cc ou Copie carbone permet d'envoyer un message à plusieurs destinataires. La grande différence avec le champ Cci (copie conforme invisible) est que les adresses des différents destinataires ne sont pas affichés. Ainsi si tout le monde fait le petit effort de transférer les messages en cci et bien je me sentirai vachement mieux et surement pas mal de monde seront reconnaissant.

Je vous invite à transférer ce message en Copie carbone invisible (Cci).
Merci d'avance,
David.

 
 

web App : export des contacts en csv

By esion - the 2009-03-22 17:09:44 - in iPhone

(0) Comments

Je viens de rendre publique une petite application web qui permet d'exporter les contacts d'un iphone au format csv originalement conçu pour yahoo.

L'appli nécessite un serveur web avec php et le module sqlite pour fonctionner ainsi que la base de données de contacts de l'iphone que l'on peut recuperer grâce à ssh sur un iphone jailbroken.

iphoneaddressbook est disponible sur github et ici la démo.

Évidemment c'est open-source, have fun.

 
 

De la pagination dans les "objets" ou Navigating across objects

By esion - the 2008-12-19 18:37:00 - in symfony

(0) Comments

Pour ceux qui comme moi se retrouve devant la "belle" documentation de symfony et plus précisement à l'explication sur l'utilisation de sfPropelPager (la classe de pagination spécial big up Symfony tout ça), je suppose que vous dû avoir la même réaction que moi :

"How the hell can that code work ???!!!!"

On voit un bout de truc qui ne veut rien dire ... et qui forcement ne fonctionne pas :

$article = $pager->getObjectByCursor($this->getRequestParameter('cursor'));

Bin ouais $pager n'est pas instancié. Alors on se casse les dents sur google à s'apercevoir que tout le monde réécrit les mêmes erreurs ou dans le moins pire des cas s'arrête avant.

Voilà comment réaliser une belle pagination sur liste et sur chacun des enregistrements :

version symfony : toutes avec quelques adaptations

D'abord on reprend le code de la doc qui fonctionne puis on l'améliore un poil pour rendre ce que l'on attend :

Le controller

app/frontend/modules/article/action/action.class.php

class articleActions extends sfActions
{
   public function executeList($request)
   {
       $this->pager = new sfPropelPager('Article');
       $this->pager->setPage($request->getParameter('page', 1);
       $this->pager->init();
   }
 
   public function executeShow($request)
   {
        $this->executeList($request);     //eh oui c'est ça qu'il manquait hahahaha!
        $this->article = $this->pager->getObjectByCursor( $request->getParameter('cursor') );
        //Ce qui suit pourrait être remplacé par une joulie évolution de sfPager
        if( ($previousCursor = $request->getParameter('cursor') - 1) >= 1 )
        {
           $this->pager->setParameter('previousCursor', $previousCursor);
         }
        if( ($nextCursor = $request->getParameter('cursor') + 1) <= $this->pager->getNbresults() )
        {
           $this->pager->setParameter('previousCursor', $previousCursor);
         }
    }
} 

Il ne reste plus qu'à  réaliser les vues.

Les vues

app/frontend/modules/article/templates/listSuccess.php

//je ne note volontairement pas les balises php comme il faut hein.
$cursor = $pager->getFirstIndice();
foreach($pager->getResults() as $article) :
   echo $article->getTitle();
   echo link_to('Read', 'article/read?cursor=' . $cursor);
endforeach;
//pagination sur liste
echo link_to('previous', 'article/list?page=' . $pager->getPreviousPage() );
echo link_to('next', 'article/list?page=' . $pager->getNextPage() );
//EOF
Et maintenant l'affichage de l'article plus des liens de navigation s'pas!
 app/frontend/modules/article/templates/showSuccess.php
echo $article->getTitle();
echo $article->getContent();
if( $pager->hasParameter('previousCursor')) : 
echo link_to('previous', 'article/show?cursor=' . $pager->getParameter('previousCursor') );
endif; 
if( $pager->hasParameter('nextCursor')) :  
echo link_to('next', 'article/show?cursor=' . $pager->getParameter('nextCursor') );
endif; 
//EOF

Paf

C'est comment dire, un peu magique. Une fois qu'on sait qu'il suffit d'instancier le pager depuis la méthode executeList (c'est mieux que de noter "..." et de voir que rien ne fonctionne).

Un autre évolution de sfPager serait de corriger $page lorsque l'on instancie un article depuis getObjectByCursor() (Chose que je vais proposer dès que j'aurais un peu de temps).

 

PS : le code présenté ici est écrit  plus ou moins from scratch et surtout pas du tout testé, donc merci à celui ou celle qui m'indiquera une erreur.

 

 
 

VDI, Vacances à durée indeterminée

By esion - the 2008-06-27 19:42:00 - in General

(3) Comments

Non! Pas vraiment des vacances, mais plutôt une petite remise en forme, peut être une nouvelle vie ... non pas "peut être", c'est sûr!

Donc mon aventure de 1 mois à Adullact et 6 à Adullact-Projet prennent fin en ce début de juillet. Aucun regrets, une bonne expérience, une bonne ambiance et une bouffée de motivation et d'émulation m'ont permis de voir que le monde du travail n'est pas si morose et passez-moi l'expression "chiant à souhait" depuis que ce loisir (l'informatique) est recherché en tant que compétence.

Aujourd'hui je suis à la recherche d'une société sérieuse qui saura prendre à juste valeur mes compétences et ma motivation. Forcement, une entreprise qui a des valeurs, qui à un goût prononcé pour les nouvelles technologies (l'utilisation et la promotions de logiciels, de média etc. libres est un plus). Je vais préciser que j'ai quelques destinations de préférences : Lyon, Paris, Annecy, Montréal, Genève ou mieux, Lausanne ou encore Montpellier ... mais j'ai comme une envie de bouger.

Je suis Concepteur - Développeur d'application pour clients légers, actuellement je développe en php sur le framework cakephp, je maîtrise le xhtml et css et j'ai une connaissance avancée en javascript, xml etc. Aussi je suis touche à tout (multi-casquettes), je porte beaucoup d'intérêt à Ruby on rails et d'autres langages de script (perl ...) ou de programmation (java, quand il sera libre). Évidemment, ce qui gravite autour de la programmation pure ne fait pas peur (rédaction de documentation, formations etc.).

Vous l'aurez compris je suis un adepte de gnu/linux et même les quelques éléments de graphisme ou de mise en page que je conçois sont réalisés sur The Gimp, Inkscape et Open Office.

Promis je fais une vraie page CV dès que possible.

 
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 next >>