NyroBlog
Banniere NyroBlog
Image de Nyro - ?
« décembre 2009
lunmarmerjeuvensamdim
123456
78910111213
14151617181920
21222324252627
28293031

Programmation - Tutoriaux, liens et annuaires

Mes favoris de la série programmation en tout genre :

Elevage en tous genres

Qui n'a jamais entendu parler de jeux sur internet proposant d'élever des animaux ou autre ?
Sorte de Tamagotchi du web, tous ces sites vous mettent dans la peau d'un personnage pour que vous vous occupiez le mieux possible de votre élevage. Bien sûr, pour progresser plus vite, avoir plus d'options de jeux et ainsi monter dans le classement général, vous pourrez toujours prendre votre téléphone et appelez un numéro audiotel pour acheter ce que vous voulez.
Tous ces jeux sont pensés pour rendre complètement adepte le joueur, lui demandant de venir de plus en plus sur le site, où il y passera du temps sans rendre compte.
Entre autres, on peut citer :

  • mon Zoo : gérer votre zoo, avec les enclos, la nourriture et les différents animaux
  • Dino Safari : orgnisateur de safari sur dinosaure, construction, développement et surveillance du parc
  • Kochonland : élever votre cochon pour qu'il soit le plus beau et le plus fort
  • Et bien d'autres encore...

Les sites gérés par des professionnels sont très soignés graphiquement, avec de belles illustrations/animations vectorielles, le plus souvent avec du Flash, ce qui donne encore plus envie de venir sur le sites, pour voir ses animaux évolués...

Et puis il y a les autres sites, un peu moins conventionnel :

  • Chicken to fight : élever votre poulet de combat pour défier les autres concurrents
  • Sauvez Mémé : occuper-vous de votre aïeule à travers combats, braquages ou concours de tricots, avec des animations Flash délirantes.

Bref, où l'imagination des créateurs de ce type de sites/jeux s'arrêteront-ils ?

Relations clients

En ce moment, je travaille sur pas mal de projets en même temps, et je m'aperçois que j'ai quasiment autant de façon d'échanger avec les clients que de projets.
- Le premier est un vieux client, que j'ai depuis maitenant 2 ans. Je ne l'ai jamais vu en vrai, le seul contact que j'ai avec lui est l'email. Tous les devis, demandes de modifications, rapport de bugs etc... se font par mail. A vrai dire, c'est intéressant pour apprendre à bien se faire comprendre. Cela pose bien sûr le problème inverse, il faut que le client me comprenne bien. C'est pourquoi, je me répète souvent dans mes emails, demandant des confirmations. Un autre système que j'ai trouvé est le suivant : le client m'expose son projet, avec ces mots à lui. Ensuite, je lui réponds en reformulant tout ce qu'il veut faire, en lui demandant si c'est bien ce qu'il veut. Si c'est le cas, je peux me lancer dans le projet sans trop avoir de surprises...
- Le second type d'échange est pour un projet un peu plus conséquent, plus difficile à appréhender. Au début, on avait essayer de communiquer aussi par mail, mais je me suis vite aperçu que je ne saisissai pas assez bien ce que voulait véritablement le client. Nous nous sommes donc rencontrés pour qu'il m'expose clairement ce qu'il voulait, en même temps que je le questionnait sur les points que j'aurai besoin d'éclaircir pour faire ma programmation. C'est ici un gros avantage : je me rends compte directement des questions que j'aurai à me poser, et je les pose directement au client et je note sa réponse sur la calepin pour les ressortir au moment voulu. Nous nous voyons environ une fois par semaine, pour faire le point sur ce qui a été fait et validé, puis pour discuter des prochaines étapes du développement du site. Entre 2 rendez-vous les échanges se font par mail, un peu comme le permier exemple. La plupart du temps, un email contient plusieurs points du site. Pour y répondre, je réponds directement dans son email, avec une autre couleur pour plus de clarté, pour répondre point par point à ses questions/remarques. Ensuite, s'il y a encore des questions sur ce que je réponds, il utilise le même procédé, et ainsi de suite, jusqu'à ce que le point disparaisse, ayant été traité et mis en place sur le site.
- Le troisième est un client qui utilise internet, mais qui est beaucoup plus adepte du téléphone. Du coup, dès qu'il a une question ou une remarque, il me téléphone (jusqu'à 5 coups de fils en moins de 3 heures) et il m'expose son problème, on en discute, et je lui propose une solution technique à son problème, pour que ça lui convienne. Sur ce projet, j'ai aussi un contact par MSN avec le graphiste, je le tiens au courant sur quels fichiers je travaille et des modifications à apporter.
- Le quatrième est un projet au sens véritable du terme. Pour ce dernier, j'ai eu une réunion avec le commanditaire pour qu'il m'explique bien (et que je comprenne bien) ce que je devais faire, avec documents écrits des tâches à accomplir. Ensuite, je suis totalement libre, sans contact particulier avec lui, sauf si j'ai un point à éclaircir (ce qui n'a pas encore eu lieu) et à la fin du projet, il validera l'ensemble de mes travaux ou m'indiquera quels points sont à modifier.
- Enfin, le cinquième projet (qui touche bientôt à sa fin) avance lentement, car le client n'est pas très présent. Il ne reste que quelques petits détails à revoir mais qui demande l'intervention de ce client. Donc forcément, le site n'avance pas.

Sur tous ces projets, le système de communication que je préfère est sans doute l'email. En effet, quoi de plus frustrant de recevoir un coup de téléphone alors qu'on est en plein développement d'un élément charnière du code, de devoir s'arrêter net pour répondre, puis de changer de projet pour se mettre sous les yeux le projet dont parle l'interlocuteur, puis d'effectuer les petites modifications qu'il demande pour être sûr de ne pas les oublier, et de revenir à son code du début, en étant obligé de le relire pour être sûr de ce que l'on fait.
L'email a cet avantage que l'on y réponds quand on veut, ce qui permet de pouvoir mieux gérer son temps, de se consacrerà un projet particulier le temps qu'il nécessite et régler les petits détails à d'autres moments, où l'attention n'y est pas la plus grande.

Quel est votre avis ? Comment préférez-vous communiquer avec vos clients ? Pour quelles raisons ?

Signal Spam, initiative du gouvernement

Je vous parlai du spam il y a quelques temps.
Le gouvernement réagit aussi face à ce phénomène en éditant un site énumérant tout un tas de conseils pour que nous agissions tous ensemble contre ce fléau, en réunissant tous les grands acteurs de la lutte anti-Spam De plus, à partir d'octobre, vous pourrez signaler vos spams et suivre l'évolution de votre signalement.
Enfin, ce site ne se destine pas uniquement aux lecteurs de mails, mais aussi aux envoyeurs, en conseillant là aussi quelques recommendations pour ne pas que sesmaisl soient considérer comme du spam, que les robots ne puissent pas indexer des adresses mail, etc...
Signal Spam

Travian, jeu par navigateur à la façon Age of Empires

travianUn ami m'a fait découvrir ce jeu il y a moins d'une heure. En rentrant chez moi, je reprends l'ordinateur, et je vais le voir, à la découverte du fonctionnement : en clair, je lis les règles du jeu. Première impression sur le site, très clair, l'information est très bien mise en page, la lecture est agréable. L'explication se fait en douceur, par étape, pour au final faire découvrir un jeu qui ressemble à Age Of Empire, en plus tactique.
Le but : progresser dans les niveaux pour pouvoir se développer un maximum, attaquer et se défenre, en gérant ses ressources pour ne jamais en manquer.
L'explication commence par la présentation des trois peuples que l'on peut choisir à l'inscription : Romains, Gaulois et Teutons, ambiance Asterix et Obelix assuré.
Chacun a ses particularités, ses points forts et ses points faibles. Ensuite, on découvre les bâtiment, où certain servent à stocker la nourriture, développer son infanterie ou développer son commerce extérieur, avec un toujours un coût en ressource, et un temps propre à la création, ce qui ryhtme la partie. Là où on voit que le jeu est très bien réfléchi, c'est quand on voit l'arbre des évolutions. Une fois le mode d'emploi terminé, on se sent prêt à attaquer une partie, à découvrire toutes ces petites maisons en toît de chaume, histoire de ramener un peu de fraîcheurs dans nos chaumières...

Pour ma part, je ne vais pas me lancer maintenant, pour éviter de tomber dans la dépendance...

PhpMyVisites, outil de statistiques gratuit

PhpMyVisitesPendant un long moment, je n'utilisai sur les sites que je m'occupai (en l'occurence pas beaucoup) que le script Les Visiteurs - v2.0.1 de phpInfo. Son avantage : je le trouvai simple, léger, et me donnant les informations que j'avais besoin rapidement et clairement, dans des beaux petits graphes. Et puis, ces derniers jours, j'ai du trouvé un outil de statistiques pour un client, qui donne un maximum d'informations dans une interface agréable et facile d'utilisation. Je me suis tout de suite tourné vers un script dont je connaissais l'existence, que j'avais testé il y a bien longtemps sans en être convaincu : phpMyVisites. Je l'ai donc installer sur le site du client : un beau petit script d'installation, très simple et très rapide, en 9 étapes. Une fois l'installation terminé, un simple code JavaScript/HTML à intégrer dans les pages, et le tour est joué. Une simple petite manip pour donner le nom de la page que je désire, pour les retroyver correctement dans l'administration de phpMyVisites.

Dans la foulée, je l'ai installé sur mes sites : nyrodev.com et nyrodev.info. Un gros avantage de cette application, est que l'on peut inclure dans la même admin plusieurs sites, qu'ils soit héberger au même endroit ou pas. Ceci est possible car le code appelle un javascript et un fichier PHP générant une image en URL absolue. Donc, on peut afficher un résumé de l'ensemble des sites sur une seule page. De plus, on passe d'un site à l'autre en changeant simplement une liste déroulante toujours accessible.

On peut afficher les statistiques pour un jour, une semaine, un mois ou une année complète que l'on sélectionne dans un petit calendrier, lui aussi toujours accessible.

Enfin, cet outil répond à toutes les attentes que l'on peut avoir d'un tel outil :

  • nombre de visiteurs uniques
  • taux de retour
  • nombre de pages vues
  • pages d'entrée / pages de sortie
  • provenance géographique
  • configuration client (résolution, OS, navigateur...)
  • affluents, d'où les gens arrivent sur le site, avec affichage des mots-clés

De plus, on peut paramétrer des partenaires. Il suffit de l'ajouter dans l'administration, puis, de dire au partenaire de dirigier sur le site avec au bout de l'adresse le paramètre pid rempli suivant le numéro d'identifiant qu'il aura. La même chose est possible de faire avec les newsletter et le paramètre nid, pour savoir quel envoi a raporté combien de visites etc...

Le tout est présenté soit sous forme de tableau triable à loisir, ou de graphique, généré avec Artichow. Le tout est présenté dans un template très simple, sur fond blanc, avec des couleurs bleues. Le stricte minimum, parfait pour l'usage que l'on en fait !

Vous l'aurez compris, je suis totalement bluffé par cet outil.

Mais ce n'est pas fini ! En effet, en farfouillant dans l'administration de l'appli, j'ai remarqué que l'on pouvait ajouter des utilisateurs, et gérer les droits de lecture de chacun d'entre eux. Vous allez me dire : ouais super, mais bon, c'est rare que plusieurs personnes aillent voir les stats d'un site, donc ça sert à rien... C'est pas faux, mais rappelez-vous : on peut paramétrer plusieurs sites sur la même installation ! Mettez-vous donc à la place d'une entreprise qui propose la création et l'hébergement de sites internet, puis le suivi. Avec cet outil, qu'ils installent une seule fois sur leur site principal, ils peuvent déjà s'installer des stats sur leur site. Ensuite, sur chacun ds sites qu'ils vont faire, après l'ajout du site dans PhpMyVisites, ils pourront avoir les stats du site de leur client, et ce pour tous les sites clients. Ils pourront bien sûr consulter les statistiques détaillées de chaque site, ou bien se contenter du résumé basique, récapitulant quelques chiffres. Maintenant, si à chaque nouveau site, l'entreprise crée un utilisateur, dont il donne les accès uniquement sur le site du client, il peut alors proposer au client de consulter ses statistiques, et ce, sans lui couter un sous de plus.

Enfin, on peut aussi autoriser des visites anonymes sur les statisitiques. vous pourrez voir celles de mes 2 sites ici pour vous rendre compte.

Et vous, vous utilisez quoi comme outil de statistiques ? Quels sont leurs avantages/inconvénients ?

MySQL limité sur online.net

Pour un client, je travaille actuellement sur un site hébergé chez online.net, 1 hébergement M ou L. Etant donné que le site changera pour aller sur un beau serveur dédié tout neuf, je ne me suis posé aucune question sur les ressources utilisables lors de mes requêtes MySQL. Bref, tout allais très bien dans le développement de ce site : déploiement des classes appropriés, développement de classes spécifiques pour ce site, etc...
Aujourd'hui, je me suis attaqué à un listing, qui demande 5/6 jointures de tables, avec à chaque fois 1 clause ON sur la jointure.
J'écris ma requête dans mon fichier PHP, j'upload mon fichier sur le FTP, et j'appelle cette page avec FireFox. Habitué à ce que le site réponde lentement, je patiente quelques instants. Un peu plus que d'habitude cette fois-ci.
Enfin, la page s'affiche, avec une erreur MySQL. Pas inquiété, je lis l'erreur retournée :
The SELECT would examine too many records and probably take a very long time. Check your WHERE and use SET OPTION SQL_BIG_SELECTS=1 if the SELECT is ok
Et voilà. Alors là, je me vois bloqué sur le développement de cette partie, parce que le serveur MySQL d'Online n'arrive pas à suivre.
Actuellement, j'essaie d'exporter toutes les données vers mon ordi, pour pouvoir continuer à travailler, mais c'est extrémement long... le serveur est plus que lent, un vrai calvaire... Entre les erreurs de chargements, les déconnection de la base, les erreurs de requêtes dûes à des temps trop long... Mais bon, ça fait partie des aléas du métier...

Du coup, j'en ai eu tellement marre de faire mes développements dans des conditions pareilles que j'ai transférer tout le site (fichier PHP et Base de donnée) vers un serveur dédié pour d'abord comparer les temps de réponses dans un premier temps, puis faire tous mes tests dessus s'il était plus rapide.
Résultat : un temps de réponse 3 à 4 fois plus rapide, et plus de soucis de requêtes MySQL trop grande...

< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 >