Chez Xavier lacot.org/ 2012-04-09T00:00:00Z Xavier Lacot xavier@lacot.org lastfm: listened to Johnny Hallyday, Aldebert 2012-04-09T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Johnny Hallyday, Aldebert lastfm: listened to Johnny Hallyday 2012-04-08T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Johnny Hallyday CSScience - CSS3 Responsive Slider / Carousel Using Radio Buttons 2012-04-04T09:30:32Z Xavier Lacot xavier@lacot.org csscience.com/responsiveslidercss3/ An almost-CSS3-only image slider, with the great advantage of being responsive. link: bookmarked a link "CSScience - CSS3 Responsive Slider / Carousel Using Radio Buttons" 2012-04-04T07:30:32Z Xavier Lacot xavier@lacot.org csscience.com/responsiveslidercss3/ bookmarked a link "CSScience - CSS3 Responsive Slider / Carousel Using Radio Buttons" CSScience - CSS3 Responsive Slider / Carousel Using Radio Buttons"]]> lastfm: listened to Serge Gainsbourg, Muse, Radiohead, Camille Saint-Saëns, Renaud, Emily Loizeau, Charles Aznavour, Yann Tiersen, Evgeny Kissin, Barbara, Georges Brassens 2012-04-01T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Serge Gainsbourg, Muse, Radiohead, Camille Saint-Saëns, Renaud, Emily Loizeau, Charles Aznavour, Yann Tiersen, Evgeny Kissin, Barbara, Georges Brassens lastfm: listened to Muse, Diana Krall, Crystal Castles, The Dresden Dolls, Robots in Disguise 2012-03-31T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Muse, Diana Krall, Crystal Castles, The Dresden Dolls, Robots in Disguise lastfm: listened to Claude François, Louis Garrel, Claude François/David Whitaker et Son Orchestre, Jacques Brel, Daphné, Julie Delpy, Charles Aznavour, Aldebert, Crystal Castles 2012-03-30T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Claude François, Louis Garrel, Claude François/David Whitaker et Son Orchestre, Jacques Brel, Daphné, Julie Delpy, Charles Aznavour, Aldebert, Crystal Castles lastfm: listened to Johnny Hallyday, Saint Seiya, Gladiator, Radiohead, Joe Dassin, Serge Gainsbourg 2012-03-29T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Johnny Hallyday, Saint Seiya, Gladiator, Radiohead, Joe Dassin, Serge Gainsbourg lastfm: listened to Johnny Hallyday, Budapest Symphony Orchestra, Johnny Cash, Kinky 2012-03-28T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Johnny Hallyday, Budapest Symphony Orchestra, Johnny Cash, Kinky lastfm: listened to Vincent Delerm, Renaud, Serge Gainsbourg, Erik Satie, Charles Aznavour, Pretty Balanced, Radiohead, Claude Nougaro, Heather Nova, Paris Dernière, Muse, Walter Gieseking, Sinéad O'Connor, José González, Pauline Croze, 久石譲, The Doors, Janis Joplin, Joe Dassin, Diana Krall, The Dresden Dolls, Franz Liszt, Marianne Faithfull, Keziah Jones, Wolfgang Amadeus Mozart, Brigitte, Aldebert, Frédéric Chopin, Grégoire Leprince-Ringuet & Louis Garrel, Fischerspooner, Leonard Bernstein - OF de New York - I. Stern, Queen 2012-03-25T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Vincent Delerm, Renaud, Serge Gainsbourg, Erik Satie, Charles Aznavour, Pretty Balanced, Radiohead, Claude Nougaro, Heather Nova, Paris Dernière, Muse, Walter Gieseking, Sinéad O'Connor, José González, Pauline Croze, 久石譲, The Doors, Janis Joplin, Joe Dassin, Diana Krall, The Dresden Dolls, Franz Liszt, Marianne Faithfull, Keziah Jones, Wolfgang Amadeus Mozart, Brigitte, Aldebert, Frédéric Chopin, Grégoire Leprince-Ringuet & Louis Garrel, Fischerspooner, Leonard Bernstein - OF de New York - I. Stern, Queen lastfm: listened to Chiara Mastroianni, Louis Garrel, Ludivine Sagnier, Chiara Mastroianni & Paul Schneider, Louis Garrel,Chiara Mastroianni, Jacques Brel, Chiara Mastroianni & Catherine Deneuve, Regina Spektor, Ludivine Sagnier & Rasha Bukvic, Grégoire Leprince-Ringuet & Louis Garrel, Julie Delpy, David Bowie, Louis Garrel & Clothilde Hesme, Louis Garrel et Ludivine Sagnier, Vanessa Paradis, Ludivine Sagnier, Chiara Mastroianni, Catherine Deneuve & Clara Couste, Ludivine Sagnier, Jean-Marie Winling, Alice Butaud, Chiara Mastroianni, Brigitte Rouan, Barbara, Catherine Deneuve, Alex Beaupain 2012-03-23T00:00:00Z Xavier Lacot xavier@lacot.org tag: listened to Chiara Mastroianni, Louis Garrel, Ludivine Sagnier, Chiara Mastroianni & Paul Schneider, Louis Garrel,Chiara Mastroianni, Jacques Brel, Chiara Mastroianni & Catherine Deneuve, Regina Spektor, Ludivine Sagnier & Rasha Bukvic, Grégoire Leprince-Ringuet & Louis Garrel, Julie Delpy, David Bowie, Louis Garrel & Clothilde Hesme, Louis Garrel et Ludivine Sagnier, Vanessa Paradis, Ludivine Sagnier, Chiara Mastroianni, Catherine Deneuve & Clara Couste, Ludivine Sagnier, Jean-Marie Winling, Alice Butaud, Chiara Mastroianni, Brigitte Rouan, Barbara, Catherine Deneuve, Alex Beaupain JoliCode - Réalisation de projets Web et mobiles de qualité 2012-03-09T11:58:57Z Xavier Lacot xavier@lacot.org jolicode.com/ Le site Web de JoliCode, une nouvelle tranche de vie ! Running JavaScript inside PHP code | Web Builder Zone 2012-02-29T13:22:23Z Xavier Lacot xavier@lacot.org css.dzone.com/articles/running-javascript-inside-php A first feedback about the usage of V8js from inside PHP Crazy Idea #1: Converting My Blog Posts In Audio Files 2012-02-29T13:21:14Z Xavier Lacot xavier@lacot.org williamdurand.fr/2012/02/29/crazy-idea-1-converting-my-blog-posts-in-audio-files/ William Durand exposes how to create audio files from blog posts, using the OSX "say" command line tool. A simple idea and a nifty shell script! easybook, book publishing as easy as it should be 2012-02-28T05:09:30Z Xavier Lacot xavier@lacot.org easybook-project.org/ A PHP tool for easily publishing content in several formats at once : pdf, Epub, and html Geocoder - The almost missing Geocoder PHP 5.3 library. 2012-02-15T15:47:38Z Xavier Lacot xavier@lacot.org geocoder-php.org/ A lightweight multi-providers geocoding library jQuery.fracs · larsjung.de 2012-02-13T21:27:43Z Xavier Lacot xavier@lacot.org larsjung.de/fracs/ jQuery.fracs determines some fractions for an HTML element (visible fraction, fraction of the viewport, ...) and also provides the coordinates of these areas. As a bonus there is a page outline feature as seen on the right. mattapperson's gist: 1621570 — Gist 2012-02-10T17:57:51Z Xavier Lacot xavier@lacot.org https://gist.github.com/1621570 An android layout for having the tabs at the bottom of the screen. The ciontent of this file has to be put in platform/android/res/layout/titanium_tabgroup.xml mattapperson/MakeTi at load_on_device - GitHub 2012-02-10T17:34:42Z Xavier Lacot xavier@lacot.org https://github.com/mattapperson/MakeTi/tree/load_on_device A Titanium make, which helps deploying directly on the phone - without running an iTunes synchronzation Pokki 2012-02-08T15:51:23Z Xavier Lacot xavier@lacot.org www.pokki.com/ A simple html5/css3 and javascript execution container, which allows to build desktop applications. PHP Tour Lille 2011 2011-11-25T18:04:40Z Xavier Lacot xavier@lacot.org lacot.org/photos/2011/11/php-tour-lille-2011.html Speaking at Codestrong 2011-09-30T23:58:00Z Xavier Lacot xavier@lacot.org lacot.org/blog/2011/09/30/speaking-at-codestrong.html Almost two weeks ago, I have had the incredible pleasure to speak at Codestrong, the Official Appcelerator Titanium conference organized at San Francisco. I was talking about the need for a way to abstract the access to SQLite databases in JavaScript mobile applications built using Titanium, and presented joli.js, the lightweight still powerful ORM that I have published last year and that keeps growing and improving. The conference The overall conference was very well organized, in a luxurious place and with all the things a speaker or an attendee can expect from a great conference. There were about 15-20 talks in two days, and I have to say that most of them were of a very high level. I particularly enjoyed the talks of Rick Blalock, about "Controlling memory leaks", Jacob Waller about "Webifying Titanium Development" and the "Titanium Studio Deep Dive" driven by Ingo Muschenetz. Well, it is a bit unfair to list my favorite talks, because a lot of other talks were great and would deserve a distinction. I just regret not to have been able to watch Kevin's "Write Better JavaScript" talk, but there will hopefully be a video edit soon on Codestrong's website. I won't say much more about the event itself, except that I am really really happy to have been part of it. You can feel that there's a strong and good community behind Titanium, not only Appcelerator, and I have met a lot of interesting people. That was for sure the right way to have a first contact with the community :-) Abstracting databases access in Titanium mobile applications That was the topic of my conference, and it went really well. I had time enough in the plane to build a small demo application - the source code is available on GitHub - which shows how to use joli.js and a new library that I published during the conference, joli.api.js. joli.api.js allows to transparently synchronize a local database with REST-style web services, thus helping the developer to focus on the app features and not on the synchronization, which is a technical part of the application. I like to underline it: I did not start to code the application before the plane took off. The demo address book was built in less than four hours (hey, I also add to develop the REST web service man, and symfony's sfDoctrineRestGeneratorPlugin was really helpful!). Someone fluent with Titanium can build value-added mobile applications in a few hour, while an Objective-C or Java developer would have required days. Basically, joli.js is to Titanium what Doctrine is to Symfony: it is an Object Relational Mapper, a tool which binds "objects" called "records" to the lines in the database, and eases their manipulation. This is a very short explanation, the complete one is available in the slides: (Some slides are messed up on Slideshare, so if you want to download the presentation, I have put a pdf version online). Sorry, no poneys inside! Even if the trip was almost as short as a splash-and-dash, I found some time to visit some parts of San Francisco, walking (huh, hiking even!) the streets. That was really enjoying, impressive, large, intense, noisy sometimes, and contrasted! San Francisco seems to be a very nice place to live in, from the "beach in the city" at Fisherman's Wharf or at the Embarcadero, to the wonderful city views from Telegraph or Nob Hill. I have put some pictures of my trip, for the curious ones. spacer Almost two weeks ago, I have had the incredible pleasure to speak at Codestrong, the Official Appcelerator Titanium conference organized at San Francisco. I was talking about the need for a way to abstract the access to SQLite databases in JavaScript mobile applications built using Titanium, and presented joli.js, the lightweight still powerful ORM that I have published last year and that keeps growing and improving.

The conference

The overall conference was very well organized, in a luxurious place and with all the things a speaker or an attendee can expect from a great conference. There were about 15-20 talks in two days, and I have to say that most of them were of a very high level. I particularly enjoyed the talks of Rick Blalock, about "Controlling memory leaks", Jacob Waller about "Webifying Titanium Development" and the "Titanium Studio Deep Dive" driven by Ingo Muschenetz.

Well, it is a bit unfair to list my favorite talks, because a lot of other talks were great and would deserve a distinction. I just regret not to have been able to watch Kevin's "Write Better JavaScript" talk, but there will hopefully be a video edit soon on Codestrong's website.

I won't say much more about the event itself, except that I am really really happy to have been part of it. You can feel that there's a strong and good community behind Titanium, not only Appcelerator, and I have met a lot of interesting people. That was for sure the right way to have a first contact with the community :-)

Abstracting databases access in Titanium mobile applications

That was the topic of my conference, and it went really well. I had time enough in the plane to build a small demo application - the source code is available on GitHub - which shows how to use joli.js and a new library that I published during the conference, joli.api.js. joli.api.js allows to transparently synchronize a local database with REST-style web services, thus helping the developer to focus on the app features and not on the synchronization, which is a technical part of the application.

I like to underline it: I did not start to code the application before the plane took off. The demo address book was built in less than four hours (hey, I also add to develop the REST web service man, and symfony's sfDoctrineRestGeneratorPlugin was really helpful!). Someone fluent with Titanium can build value-added mobile applications in a few hour, while an Objective-C or Java developer would have required days.

Basically, joli.js is to Titanium what Doctrine is to Symfony: it is an Object Relational Mapper, a tool which binds "objects" called "records" to the lines in the database, and eases their manipulation. This is a very short explanation, the complete one is available in the slides:

(Some slides are messed up on Slideshare, so if you want to download the presentation, I have put a pdf version online). Sorry, no poneys inside!

Even if the trip was almost as short as a splash-and-dash, I found some time to visit some parts of San Francisco, walking (huh, hiking even!) the streets. That was really enjoying, impressive, large, intense, noisy sometimes, and contrasted! San Francisco seems to be a very nice place to live in, from the "beach in the city" at Fisherman's Wharf or at the Embarcadero, to the wonderful city views from Telegraph or Nob Hill. I have put some pictures of my trip, for the curious ones.

]]>
4 days in San Francisco 2011-09-30T19:38:12Z Xavier Lacot xavier@lacot.org lacot.org/photos/2011/09/4-days-in-san-francisco.html Venez à Lille pour le PHP Tour ! 2011-09-26T14:45:00Z Xavier Lacot xavier@lacot.org lacot.org/blog/2011/09/26/venez-a-lille-pour-le-php-tour.html Je me permets de copier sur ce blog l'annonce passée par Jean-Marc Fontaine sur son blog, je suis certain qu'il ne m'en voudra pas de cet emprunt ! La première édition du PHP Tour, le nouveau cycle de conférence de l’AFUP approche à grands pas. Pour les deux du fond qui ne suivent pas, il s’agit d’un évènement similaire au désormais traditionnel Forum PHP, mais qui a la particularité de se dérouler en région et de changer chaque année de ville. Le PHP Tour ne se substitue pas au Forum PHP, qui lui se tiendra désormais à la fin du printemps et toujours à Paris. Si vous comptez venir à cette première édition du PHP Tour à Lille et que vous voulez le faire savoir, n’hésitez pas à utiliser le code HTML suivant : <a class="afup.org/pages/phptourlille2011/"> <img src="/img/spacer.gif"> Je me permets de copier sur ce blog l'annonce passée par Jean-Marc Fontaine sur son blog, je suis certain qu'il ne m'en voudra pas de cet emprunt !

La première édition du PHP Tour, le nouveau cycle de conférence de l’AFUP approche à grands pas.

Pour les deux du fond qui ne suivent pas, il s’agit d’un évènement similaire au désormais traditionnel Forum PHP, mais qui a la particularité de se dérouler en région et de changer chaque année de ville. Le PHP Tour ne se substitue pas au Forum PHP, qui lui se tiendra désormais à la fin du printemps et toujours à Paris.

Si vous comptez venir à cette première édition du PHP Tour à Lille et que vous voulez le faire savoir, n’hésitez pas à utiliser le code HTML suivant :


<a class="afup.org/pages/phptourlille2011/">
  <img src="/img/spacer.gif"> 

Ce qui donne le résultat suivant :

spacer ]]>
De Bilbao à Lorient... 2011-08-21T23:10:19Z Xavier Lacot xavier@lacot.org lacot.org/photos/2011/08/de-bilbao-a-lorient.html Pina 2011-04-26T22:45:00Z Xavier Lacot xavier@lacot.org 677 par Wim Wenders Quelques notes, en passant... 2011-03-18T11:30:00Z Xavier Lacot xavier@lacot.org lacot.org/blog/2011/03/18/quelques-notes-en-passant.html Voici un bout de temps que je n'ai pas écrit de billet, il était temps que ça change ! Les réseaux sociaux alimentent mon quotidien, étouffant par leur confort facile les envies d'écrire... Voici néanmoins quelques notes, en passant, sur les évènements des dernières semaines... tout d'abord, je vous souhaite une bonne et heureuse année 2011... :-) je suis le nouveau vice-président de l'AFUP, depuis samedi 26 février dernier. Lors de l'Assemblée Générale de l'AFUP, le nouveau bureau de l'association a été élu à l'unanimité, et j'aurai donc le plaisir de partager l'année à venir avec Jean-Marc Fontaine, président du bureau pour l'année 2011, ainsi que Perrick Penet-Avez, Gauthier Delamarre, Mickaël Perraud et Aurélien Vairet. Le programme de l'équipe pour l'année à venir s'annonce chargé : lancement d'un nouvel événement PHP itinérant en région, en parallèle du Forum PHP Paris, développement de nouvelles passerelles entre l'AFUP et les écoles d'informatique, les grandes entreprises PHP, et les autres communautés gravitant autour de PHP. Nous nous attaquons également à la ré-écriture du livre blanc PHP, dont la dernière édition est parue en 2007 ; je passe parfois un peu de temps sur mon raccourcisseur d'urls, xav.cc, qui propose régulièrement de nouveaux services... Aplication Iphone, Android, extensions Chrome, Safari et Firefox, etc... Si vous ne l'utilisez pas encore, allez y faire un tour. Mieux : forkez le code ! en novembre dernier, j'ai co-présenté avec Bastien Jaillot, une conférence au Forum PHP, au sujet de l'importance des frameworks dans l'écosystème PHP ; enfin, j'ai dernièrement co-animé avec Damien Alexandre une conférence lors de Symfony Live Paris, au sujet du développement de Web Service REST à l'aide symfony 1 et Symfony2. Toutes nos conclusions se trouvent sur l'inratable site symfpony-project.org ! La suite de l'année s'annonce aussi bien remplie que son début - et tant mieux ! Voici un bout de temps que je n'ai pas écrit de billet, il était temps que ça change ! Les réseaux sociaux alimentent mon quotidien, étouffant par leur confort facile les envies d'écrire... Voici néanmoins quelques notes, en passant, sur les évènements des dernières semaines...

  • tout d'abord, je vous souhaite une bonne et heureuse année 2011... :-)
  • je suis le nouveau vice-président de l'AFUP, depuis samedi 26 février dernier. Lors de l'Assemblée Générale de l'AFUP, le nouveau bureau de l'association a été élu à l'unanimité, et j'aurai donc le plaisir de partager l'année à venir avec Jean-Marc Fontaine, président du bureau pour l'année 2011, ainsi que Perrick Penet-Avez, Gauthier Delamarre, Mickaël Perraud et Aurélien Vairet. Le programme de l'équipe pour l'année à venir s'annonce chargé : lancement d'un nouvel événement PHP itinérant en région, en parallèle du Forum PHP Paris, développement de nouvelles passerelles entre l'AFUP et les écoles d'informatique, les grandes entreprises PHP, et les autres communautés gravitant autour de PHP. Nous nous attaquons également à la ré-écriture du livre blanc PHP, dont la dernière édition est parue en 2007 ;
  • je passe parfois un peu de temps sur mon raccourcisseur d'urls, xav.cc, qui propose régulièrement de nouveaux services... Aplication Iphone, Android, extensions Chrome, Safari et Firefox, etc... Si vous ne l'utilisez pas encore, allez y faire un tour. Mieux : forkez le code !
  • en novembre dernier, j'ai co-présenté avec Bastien Jaillot, une conférence au Forum PHP, au sujet de l'importance des frameworks dans l'écosystème PHP ;
  • enfin, j'ai dernièrement co-animé avec Damien Alexandre une conférence lors de Symfony Live Paris, au sujet du développement de Web Service REST à l'aide symfony 1 et Symfony2. Toutes nos conclusions se trouvent sur l'inratable site symfpony-project.org !

La suite de l'année s'annonce aussi bien remplie que son début - et tant mieux !

]]>
Les Petits mouchoirs 2010-11-14T20:00:00Z Xavier Lacot xavier@lacot.org 676 par Guillaume Canet Remember Me 2010-09-15T23:59:00Z Xavier Lacot xavier@lacot.org 674 par Allen Coulter Le bruit des glaçons 2010-09-09T23:59:00Z Xavier Lacot xavier@lacot.org 675 par Bertrand Blier L'Homme qui en savait trop 2010-06-24T23:59:00Z Xavier Lacot xavier@lacot.org 673 d'Alfred Hitchcock Esther 2010-06-06T00:00:00Z Xavier Lacot xavier@lacot.org 672 par Jaume Collet-Serra Symfony gets a REST generator 2010-05-09T11:45:00Z Xavier Lacot xavier@lacot.org lacot.org/blog/2010/05/09/symfony-gets-a-rest-generator.html After long months, I finally pushed the documentation for sfDoctrineRestGenerator, a plugin which allows to generate REST-style webservices in Symfony applications, and whose code had been published some months ago, but without any accompanying documentation. In lots of projects, you must build rock-solid and performant web services bound to some of your models. sfDoctrineRestGeneratorPlugin is just aimed at building that type of webservice more easily, faster, and in a better way. I particularly love two things about the plugin: the fact that it uses Symfony's validators to validate the type/content of the request parameters the fact that, in most of the cases, building an efficient webservice will consist in typing a command line and uncommenting some options in a generator.yml file The plugin is used by one very large french company, and therefore has already been rather deeply tested in terms of performance and capabilities. Please ask for new features or help on how to use the plugin on Symfony's users mailing list. You can also send me a mail directly. Happy REST! After long months, I finally pushed the documentation for sfDoctrineRestGenerator, a plugin which allows to generate REST-style webservices in Symfony applications, and whose code had been published some months ago, but without any accompanying documentation.

In lots of projects, you must build rock-solid and performant web services bound to some of your models. sfDoctrineRestGeneratorPlugin is just aimed at building that type of webservice more easily, faster, and in a better way.

I particularly love two things about the plugin:

  • the fact that it uses Symfony's validators to validate the type/content of the request parameters
  • the fact that, in most of the cases, building an efficient webservice will consist in typing a command line and uncommenting some options in a generator.yml file

The plugin is used by one very large french company, and therefore has already been rather deeply tested in terms of performance and capabilities. Please ask for new features or help on how to use the plugin on Symfony's users mailing list. You can also send me a mail directly. Happy REST!

]]>
Le rêve de Cassandre 2010-04-05T23:50:00Z Xavier Lacot xavier@lacot.org 670 de Woody Allen Alice au pays des merveilles 2010-03-31T23:59:00Z Xavier Lacot xavier@lacot.org 671 par Tim Burton [Rec] 2010-03-07T22:00:00Z Xavier Lacot xavier@lacot.org 665 par Paco Plaza et Jaume Balagueró La colline a des yeux 2 2010-03-06T23:59:00Z Xavier Lacot xavier@lacot.org 668 de Martin Weisz Ubuntu, PHP5, OCI8 and PDO_OCI : the perfect install 2009-11-03T01:19:56Z Xavier Lacot xavier@lacot.org lacot.org/blog/2009/11/03/ubuntu-php5-oci8-and-pdo_oci-the-perfect-install.html I recently had to work with Symfony and Oracle, and struggled slightly before getting things up and running. This document is the verbatim of the commands I used in order to get a stable and (rather) performant architecture, even though I would urge everyone not to use Oracle with PHP. I hope it will help others struggling with the install. Install some system applications I started with a freshly installed Ubuntu 9.10 Server, and directly added several packages: # apt-get install apache2 php5 php5-cli php-apc php5-xdebug php5-memcache php5-mcrypt php5-imagick php5-gd php5-xsl subversion imagemagick unzip htop memcached In order to check if the extensions have been well configured, type the command "php -m" in the terminal, and they should display in the list. Install Oracle Instant Client Libraries Go to Oracle website, and download these two things: Oracle instant client basic 10.2.0.4, zip packagew Oracle instant client sdk 10.2.0.4, zip package Put both of these files in /tmp. Then (yes, I know, it's the command horror show): cd /tmp/ unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip mv instantclient_10_2 /opt/ unzip oracle-instantclient-devel-10.2.0.4-1.i386.zip mv instantclient_10_2/sdk /opt/instantclient_10_2/ export ORACLE_HOME=/opt/instantclient_10_2/ ln -s /opt/instantclient_10_2/libclntsh.so.10.1 /opt/instantclient_10_2//libclntsh.so ln -s /opt/instantclient_10_2/libocci.so.10.1 /opt/instantclient_10_2//libocci.so ln -s /opt/instantclient_10_2/ /opt/instantclient_10_2/lib PDO, PDO_OCI and OCI8 installation The default PECL install does not work straight out of the box. You must download and build manually the packages: pecl download pdo PDO_OCI OCI8 tar xzvf PDO-1.0.3.tgz tar xzvf oci8-1.3.5.tgz tar xzvf PDO_OCI-1.0.tgz cd PDO-1.0.3 phpize ./configure make sudo make install cd ../oci8-1.3.5 phpize ./configure --with-oci8=instantclient,/opt/instantclient_10_2/ make sudo make install cd ../PDO_OCI-1.0 cp /opt/instantclient_10_2/sdk/include/*.h . phpize ./configure make sudo make install At that point, the libraries have been built but are not used by PHP. In this extent, you must add it at the bottom of php.ini files, /etc/php5/cli/php.ini and /etc/php5/apache2/php.ini: extension = pdo.so extension = pdo_oci.so extension = oci8.so As a sidenote, if you want to install PDO_OCI or OCI8 on Mac OSX, you'll have to declare a DYLD_LIBRARY_PATH shell variable, with the path to the Orale instant client install. Both OCI8 and PDO_OCI require extra configuration directives: ./configure --with-pdo-oci=instantclient,/path/to/instantclient,10.2.0.4 Conclusion You should have been able to connect to a Oracle server and use it from within PHP. However I have a better advice: don't use Oracle. It has not been thought to work with PHP, nor has PHP been thought to work with it. Stick to a "classical" platform, or at least try more modern solutions. And that will be fine. I recently had to work with Symfony and Oracle, and struggled slightly before getting things up and running. This document is the verbatim of the commands I used in order to get a stable and (rather) performant architecture, even though I would urge everyone not to use Oracle with PHP. I hope it will help others struggling with the install.

Install some system applications

I started with a freshly installed Ubuntu 9.10 Server, and directly added several packages:

# apt-get install apache2 php5 php5-cli php-apc php5-xdebug php5-memcache php5-mcrypt php5-imagick php5-gd php5-xsl subversion imagemagick unzip htop memcached

In order to check if the extensions have been well configured, type the command "php -m" in the terminal, and they should display in the list.

Install Oracle Instant Client Libraries

Go to Oracle website, and download these two things:

  • Oracle instant client basic 10.2.0.4, zip packagew
  • Oracle instant client sdk 10.2.0.4, zip package

Put both of these files in /tmp. Then (yes, I know, it's the command horror show):

cd /tmp/
unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip 
mv instantclient_10_2 /opt/
unzip oracle-instantclient-devel-10.2.0.4-1.i386.zip 
mv instantclient_10_2/sdk /opt/instantclient_10_2/
export ORACLE_HOME=/opt/instantclient_10_2/
ln -s /opt/instantclient_10_2/libclntsh.so.10.1 /opt/instantclient_10_2//libclntsh.so
ln -s /opt/instantclient_10_2/libocci.so.10.1 /opt/instantclient_10_2//libocci.so
ln -s /opt/instantclient_10_2/ /opt/instantclient_10_2/lib

PDO, PDO_OCI and OCI8 installation

The default PECL install does not work straight out of the box. You must download and build manually the packages:

pecl download pdo PDO_OCI OCI8
tar xzvf PDO-1.0.3.tgz 
tar xzvf oci8-1.3.5.tgz 
tar xzvf PDO_OCI-1.0.tgz

cd PDO-1.0.3
phpize
./configure 
make
sudo make install

cd ../oci8-1.3.5
phpize
./configure --with-oci8=instantclient,/opt/instantclient_10_2/
make
sudo make install

cd ../PDO_OCI-1.0
cp /opt/instantclient_10_2/sdk/include/*.h .
phpize
./configure 
make
sudo make install

At that point, the libraries have been built but are not used by PHP. In this extent, you must add it at the bottom of php.ini files, /etc/php5/cli/php.ini and /etc/php5/apache2/php.ini:

extension = pdo.so
extension = pdo_oci.so
extension = oci8.so

As a sidenote, if you want to install PDO_OCI or OCI8 on Mac OSX, you'll have to declare a DYLD_LIBRARY_PATH shell variable, with the path to the Orale instant client install. Both OCI8 and PDO_OCI require extra configuration directives:

./configure --with-pdo-oci=instantclient,/path/to/instantclient,10.2.0.4

Conclusion

You should have been able to connect to a Oracle server and use it from within PHP. However I have a better advice: don't use Oracle. It has not been thought to work with PHP, nor has PHP been thought to work with it. Stick to a "classical" platform, or at least try more modern solutions. And that will be fine.

]]>
Firefox a 5 ans 2009-10-31T11:04:39Z Xavier Lacot xavier@lacot.org lacot.org/blog/2009/10/31/firefox-a-5-ans.html C'est fou comme le temps passe vite. Il y a 5 ans, j'écrivais au sujet de la sortie de Firefox 1.0. A l'époque, les navigateurs de la famille Mozilla peinaient avec seulement 7% de parts de marché selon les estimations les plus optimistes. Dur de faire comprendre à un client le besoin de respect des standards, et dur d'évangéliser les développeurs pour qu'ils cessent de ne développeur qu'avec Internet Explorer en tête. Ces jours-ci, Firefox fête donc son 5e anniversaire. Le panda roux oscille entre 25 et 35% de parts de marché, et l'objectif affiché à l'époque relancer l'innovation Web, est en passe d'être pleinement rempli. Plus important encore, de nombreuses alternatives viables ont vu le jour ou ont consolidé leur position : Opéra, toujours présent, mais également Safari et sa déclinaison sauce Google, Chrome, sont des plateformes modernes, participant à l'effort d'innovation sur le Web initié par Mozilla, et grâce auquel on parle aujourd'hui de navigateurs mobiles (Opéra Mobile, Mozilla Fennec et Safari Mobile), de mode offline, de compilation à la volée du code javascript, de HTML5, du support de SMIL et de canvas, des CSS3 fonts, de milliers d'extensions aux navigateurs - dont même certaines inutiles - et d'outils pour les développeurs. Et c'est en partie grâce à ces outils que les développeurs Web peuvent proposer des sites plus aboutis, plus riches en fonctionnalités, plus rapides et plus efficaces. Je serai présent à la soirée d'anniversaire des 5 ans de Firefox, organisée le 9 novembre prochain par le Conseil général d'Île de France et Mozi
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.