A propos

Sur ce site, j'essaie de présenter l'ensemble de mes activités dans le domaine du numérique (développement et bricolage graphique). Et pourquoi pas, apporter quelques chose aux visiteurs.

Pour en savoir plus sur moi, comme mon cursus scolaire, mon expérience professionnelle ou mes compétences, vous pouvez aller voir mon "Curriculum Vitae Online" en cliquant sur "C.V.".

Au sujet des sources (images et applications) disponible sur le site : L'ensemble est sous licence GNU LGPL. Ces sources sont téléchargeables et modifiables librement. Je n'assure aucunement le bon fonctionnement de celles-ci et me porte non-garant des éventuelles détériorations matériel ou logiciel engendrées par l'utilisation des ces applications.

Si vous désirez me contacter, utilisez le gestionnaire de contact sur cette page.

Curriculum Vitae - Arnaud Bonnevigne

Vous trouverez en bas de cette page mon CV au format PDF (Visualisable avec Foxit Reader par exemple).

View Arnaud Bonnevigne's profile on LinkedIn

CV Arnaud BONNEVIGNE


11A avenue de la Vaite
25000 BESANCON
Né le 5 juin 1979.
(+33) 6 87 15 94 02
bonvga@gmail.com
www.bonvga.net

Diplômes et formations

2001 : Formation Complémentaire d'Initiative Locale

Conduite de projets informatiques - Spécialisation Internet et Intranet. Préparation à la certification Microsoft MCSE. Lycée Condorcet, Belfort.

2000 : Brevet de Technicien Supérieur d’Informatique Industrielle

Lycée Raoul Follereau, Belfort.

1998 : Baccalauréat de Science et Technologie Industrielle Génie Electronique

Lycée Lumière, Luxeuil les Bains.

Expérience professionnelle

Depuis Septembre 2004 : Wengo, groupe Neuf Télécom, Paris

Lead developer et manager du pôle web et community (équipe de 8 personnes)

Novembre 2002 - Avril 2004 : Europa Hosting, Paris

Développeur web

Mars 2002 – Août 2002 : Integral Media, Belfort

Stage de fin de formation

Connaissances techniques

Langages

SGBD

Librairies & API

Gestionnaire de versionning

Méthodes

Web services

Systèmes & réseaux

Outils

Langue

Loisirs

Cinéma et séries, Jeux vidéo, marche à pied.
Développement des modules mugshot, google earth et search autocomplete ainsi que le thème fblike pour le CMS Drupal.
Projets personnels : SmartyX, ascii-o-matic et Simplex CMS.

Fichier attachéTaille
cv_arnaud_bonnevigne.pdf75.52 Ko

Home sweet home

Mi casa es su casa !

Venez prendre un apéro chez nous ou aussi nos anciens chez nous Smiling

Rendez-vous dans un des appartements listés ci-dessous :

Besançon - 2008

Mission accomplie ! Voici notre futur chez-nous ; un joli et lumineux appartement de 3 pièces avec un grand balcon, une cave et un garage dans le quartier de Chaprais à Besançon.

11_av_vaite.jpg

L'emménagement aura lieu début janvier 2008 !

Même notre chat en parle !

salon_0.jpg

vision_balcon.jpg

Paris 15ième - 2002 à 2008

Voici donc notre nouvel appartement, Ce sont toujours des images virtuelles rendue avec 3DSMax et le plugin Brazil pour la radiosité. J'en profite pour remercier RazorImage pour ses conseils d'utilisation de Brazil.

salon.jpg

chambre.jpg

cuisine.jpg

p_2.jpg

p_3.jpg

p_1.jpg

p_4.jpg

Belfort - 1999 à 2002

Ces images ont été réalisées sur 3D Studio Max, Apres quelques mesures dans l'appartement, j'ai reconstitué l'ensemble en 3D. Pour ce qui est du mobilier, j'ai presque rien inséré par ce que ça me prenais la tête ! Ce qui est sympa, après ce travail, j'ai pu avoir des points de vues impossible a avoir dans la réalité. Il faut savoir que l'appartement est situé au 2ieme étage du bâtiment, donc pour prendre une photo depuis l'extérieur, c'est la galère Eye-wink

Si vous disposez d'un plugin VRML tel Cosmo, vous pouvez visiter la piaule en 3D sur votre navigateur !!! Bon, il est vrai que l'appartement est presque vide, mais si j'avais laissé les objets (canapé, plante...) le fichier aurais fait facilement 600 Ko ! Alors que la, il ne fait que 109 Ko, ça reste raisonnable.

ap1.jpg

ap2.jpg

ap3.jpg

ap4.jpg

ap5.jpg

ap6.jpg

ap7.jpg

ap8.jpg

Statistiques serveur Dedibox V2 (munin)

Liste des graphiques disponibles :

Cpu


Cpu | Top

Df


Df | Top

Df inode


Df inode | Top

Entropy


Entropy | Top

Forks


Forks | Top

Fw conntrack


Fw conntrack | Top

Fw forwarded local


Fw forwarded local | Top

Fw packets


Fw packets | Top

If err eth0


If err eth0 | Top

If eth0


If eth0 | Top

Interrupts


Interrupts | Top

Iostat


Iostat | Top

Irqstats


Irqstats | Top

Load


Load | Top

Memory


Memory | Top

Mysql bytes


Mysql bytes | Top

Mysql queries


Mysql queries | Top

Mysql size


Mysql size | Top

Mysql slowqueries


Mysql slowqueries | Top

Mysql threads


Mysql threads | Top

Netstat


Netstat | Top

Open files


Open files | Top

Open inodes


Open inodes | Top

Postfix mailqueue


Postfix mailqueue | Top

Postfix mailstats


Postfix mailstats | Top

Postfix mailvolume


Postfix mailvolume | Top

Processes


Processes | Top

Sensors temp


Sensors temp | Top

Sensors volt


Sensors volt | Top

Swap


Swap | Top

Uptime


Uptime | Top

Vmstat


Vmstat | Top

Statistiques serveur Dedibox V1 (munin)

Liste des graphiques disponibles :

Cpu


Cpu | Top

Df


Df | Top

Df inode


Df inode | Top

Entropy


Entropy | Top

Forks


Forks | Top

Fw conntrack


Fw conntrack | Top

If eth0


If eth0 | Top

Interrupts


Interrupts | Top

Iostat


Iostat | Top

Irqstats


Irqstats | Top

Load


Load | Top

Memory


Memory | Top

Mysql bytes


Mysql bytes | Top

Mysql queries


Mysql queries | Top

Mysql size


Mysql size | Top

Mysql slowqueries


Mysql slowqueries | Top

Mysql threads


Mysql threads | Top

Netstat


Netstat | Top

Open files


Open files | Top

Open inodes


Open inodes | Top

Postfix mailqueue


Postfix mailqueue | Top

Postfix mailstats


Postfix mailstats | Top

Postfix mailvolume


Postfix mailvolume | Top

Processes


Processes | Top

Swap


Swap | Top

Uptime


Uptime | Top

Vmstat


Vmstat | Top

Serveur Icebox (ancien serveur)

Voila mon nouveau serveur depuis le 12 avril 2005.

Voici un descriptif du matériel utilisé :

  • Boitier : MSI MEGA PC
  • Carte mère : MS 6760 (chipset SiS 651)
  • Processeur : Intel Celeron 2.7Ghz
  • Mémoire : 512 Mo DDR 3200
  • Disque dur : Seagate 120Go
  • Lecteur DVD : Toshiba SD-M1712
  • Carte réseau 1 : Realtek 8101L (intégrée)
  • Carte réseau 2 : Realtek 8139
  • Carte son : ALC650 AC'97 (intégrée)
  • Carte vidéo : SiS embarqué
  • OS : Debian Sarge kernel 2.6.11

Et quelque photos du ventre de la bête :

divxbox_1.jpg

divxbox_2.jpg

divxbox_3.jpg

divxbox_5.jpg

divxbox_7.jpg

divxbox_9.jpg

Munin d'Icebox

Pas de statistique pour le moment...

Historique de bonvga.net

Version 7.1
Une skin basée sur le thème foliage mise en place en octobre 2006. Sous ces couleurs, le site sera visité plus de 650.000 fois !

bonvga_v71.jpg

Version 7
Monté courant janvier 2006, ce site utilise le cms++ drupal ainsi qu'une plâtrée de modules.
Lien vers le site : http://www.bonvga.net/

bonvga_v7.jpg

Version 6
Crée durant juillet 2004, Utilisant la technologie PHP et MySQL ainsi que le moteur de templating Smarty. "BonVGA Web Site" devient alors "bonvga.net".
Lien vers le site : http://v6.bonvga.net/

v6.jpg

Version 5
Crée durant octobre 2002, Utilisant la technologie PHP et MySQL.
Lien vers le site : [fermé]

v5.jpg

Dreamhost

Depuis environ 2 ans, j'héberge bonvga.net chez moi sur un 'serveur'. J'ai une ligne free en dé-groupage partiel à 10MB et les benchs de la grenouille montre qu'elle peux délivrer en moyenne 700Ko/s en download et 80Ko/s en upload. La vitesse d'upload qui est un facteur important pour la fluidité d'affichage des pages.

Il est donc temps pour bonvga.net de passer sur quelque chose de plus costaud, voici en quel sens j'ai axé mes recherches.

Dans tout les cas, il faut trois choses :

  • Un serveur (machine 'rackable' dans une baie)
  • Un slot de baie
  • Une connexion et de la bande passante

Quel que soit le type d'hebergement, il faut s'acquitter de 'quelques deniers' pour chacun de ces trois points.

Voici plusieurs solutions d'hebergement :

  • Serveur dédié en location : Le principe est de louer un serveur, un slot et une connexion. Le prix moyen est autour de 50 euros par mois pour une entrée de gamme. L'avantage principal est la disponibilité du serveur. En outre, ça revient vite cher.
  • Serveur dédié à l'achat : J'ai pu voir de bonnes configurations chez Dell, mais il faut tout de même compter 1100 euros. Ensuite ajoutez la location de la baie et de la connexion, pour cela il faut compter minimum 25 euros par mois. deux problèmes de taille avec cette solution, à moins de prendre la garantie du constructeur, il faut assurer soit même la maintenance de la machine et de plus, il faut partir sur une utilisation de 2 ou 3 ans pour amortir le prix du serveur par rapport à un serveur dédié loué.
  • Serveur virtuel : Ceci consiste à faire plusieurs serveurs avec un très gros serveur. Les ressources du serveur (cpu, mémoire, ...) sont fractionnées et attribuées à chaque 'sous-serveur'. Il n'y a pas de partage des ressources, ce qui fait que ce mode ce rapproche du serveur dédié, de ce fait il faut compter 45 euros par mois minimum.
  • Serveur mutualisé : Cette solution consiste à placer un grand nombre de petits sites sur un même serveur d'on les ressources sont partagées. L'inconvénient de cette solution est la lenteur, forcement car les ressources sont partagées. En revanche le prix est très bas, environ 8 euros par mois.

J'ai opté pour la solution mutualisée, en effet, le site n'a pas encore besoin d'une réactivité et d'une bande passante extrême. Il ne faut pas oublier que bonvga.net reste un site perso Eye-wink

Mon choix s'est porté sur l'hebergeur Américain, Dreamhost.com. Au passage je remercie Jeff qui m'a permis de tester cet hebergeur avant d'investir.

J'ai reçu ma dedibox !

Commandée le 11/05/06, reçue le 10/06/06. Presque 1 mois ! Mais je suis quand même bien satisfait du résultat.

L'installation de la bestiole prend 10 minutes en commençant par choisir le système d'exploitation puis le partitionnement du disque dur ensuite le reste est automatisé.

[image:1603 size='thumbnail']
[image:1604 size='thumbnail']

J'ai du refaire l'installation car je me suis rendu compte un peu trop tard que j'avais oublié la partition de swap Smiling

Voici le détail du matériel contenu dans la boite :

  • Processeur
    • Constructeur : VIA
    • Modèle : C7
    • Fréquence : 2000 Mhz
  • Carte mère
    • Constructeur : VIA
    • Modèle : V1
  • Mémoire vive
    • Numéro de série : S207
    • Constructeur : AEONON
    • Type : DDR2
    • Taille : 1024 Mo
    • Fréquence : 4200
  • Disque dur
    • Constructeur : SEAGATE
    • Type : sata
    • Taille : 152625 Mo
  • Système de reboot
    • Numéro de série : 1005C4
    • Modèle : V1

Migration de gallery2 1.0.0.2 vers 1.1.0.1

Ce billet décrit les différentes étapes que j'ai suivi lors de la migration de Gallery2. J'ai d'ailleurs rencontré 2 problèmes pas piqué des hannetons.

  1. J'ai commencé par faire une copie de gallery (fichiers et base de donnée) histoire de ne pas tout perdre bêtement.
  2. Ensuite, j'ai désactivé la plupart des modules, dans le doute on ne sais jamais.
  3. Debut de la migration : Là, c'est relativement simple, il suffit de suivre les étapes comme indiqué dans le fichier d'UPDATE livré avec gallery
  4. Le système d'update de gallery est maintenant lancé :
  5. Arrivé à l'étape 3 de la migration (update core), l'updater affiche un warning au sujet de vieux fichiers de l'ancienne installation de gallery. Gentillement, l'updater propose de télécharger un script shell permettant la suppression de ces fameux fichiers. Lors d'une première tentative de migration j'ai essayé ce script, ce fut une catastrophe ;-( ! Plus rien n'a fonctionné après, c'est pourquoi je recommande de ne pas prendre en compte l'avertissement de l'updater et de ne pas lancer le script shell proposé.
  6. Etape 3 toujours, arrive un problème concernant mon installation : les fichiers d'un module ont été supprimés sans désinstaller le module au préalable. J'avoue, j'avais du bourriner le coup là... L'updater demande alors de télécharger la dernière version du module concerné, faite-le si vous y tenez mais ce n'est toujours possible, les modules ne sont pas tous maintenus...

    J'ai plutot opté pour la solution hardcore : désinstaller le module à la main. Pour cela il faut supprimer les lignes des modules à supprimer dans la table 'g2_PluginMap'
  7. Le reste du process d'update fonctionne sans problème. Juste avant de mettre à jour la base de donnée, l'updater propose une dernière fois de faire une sauvegarde :
  8. Durant la mise à jour de la base de donnée, l'updater encode les données en UTF-8.

    Bonne idée, quand ça fonctionne bien sûr...
  9. Fin de la migration, je m'empresse alors d'aller voir le résultat et là, c'est le drame ! Le bon vieux problème d'encodage : 'Virée en mongolfière' à la place de 'Virée en mongolfière'. Ca m'a tellement soulé de mettre le nez dans le script de l'updater pour voir ce qui clochait que j'ai préfèré faire mon propre script de récupération. (Celui-ci est attaché à ce billet)

Bilan, malgrès le problème d'encodage de la base de données, la migration c'est bien passée. Je peu maintenant passer à la mise à jour de Drupal Smiling

Fichier attachéTaille
gallery2_correction_utf8.tgz1.24 Ko

Modules drupal utilisés

Liste des modules utilisés sur bonvga.net :

Cette liste ne contient pas les modules installés de base avec drupal.

Correctifs, patchs & configuration

module troll

Evite une erreur systematique du array_merge :

383c383,385
<       $pager = theme('pager', NULL, 25, 0, array_merge(tablesort_pager(),(is_array($edit)?$edit:array()) ));
---
>       $pager = theme('pager', NULL, 25, 0, array_merge(tablesort_pager(),$edit));

module taxonomy_block

Juste une question de charte Smiling

253c253
<     $content .= '<div class="more-link">'. l(t("more"), 'taxonomy/term/'.implode($tids, '+'), array("title" => t("View all."))) .'</div>';
---
>     $content .= '<div>'. l(t("more"), 'taxonomy/term/'. implode($tids, '+'),array("title" => t("View all."))) .'</div>';

module freemind

Evite une erreur du foreach quand la variable est vide

38,40d37
<   // bonvga : bugfix
<   if ($fr_overview_vocab)
<   {
44d40
<   }

ajax_spellcheck

Passe le correcteur d'orthographe en français.

44c44
<   $result = drupal_http_request('http://www.google.com/tbproxy/spell?lang=fr',array('Content-Type' => 'text/xml'), 'POST', $xml);
---
>   $result = drupal_http_request('http://www.google.com/tbproxy/spell?lang=en',array('Content-Type' => 'text/xml'), 'POST', $xml);

comment

Enlève l'age des commentaires sur le bloc.

      //$items[] = l($comment->subject, 'node/'. $comment->nid, NULL, NULL,'comment-'. $comment->cid) .'<br />'. t('%time ago',array('%time' => format_interval(time() - $comment->timestamp)));
      $items[] = l($comment->subject, 'node/'. $comment->nid, NULL, NULL,'comment-'. $comment->cid);