Entreprise

30.01.2010 Entreprise, Java 2 Comments

Retour d’expérience sur le développement Java avec Google App Engine

Scub vient de mettre en ligne son premier projet sur le web sémantique : Quatuo un outil qui permet de publier son profil FOAF (RDF) et de faire des recherches parmis les profils publiés sur le net.

Nous avons fait ce développement avec la plateforme Google App Engine afin de pouvoir gérer la montée en charge de l’application sans investir dans l’infrastructure. bref, du vrai Cloud Computing !

Voici la liste des choses qui ont pu nous « surprendre » en développant sur cette plateforme :

  • Ce n’est pas du relationnel ! Oublier les beaux MCD, penser pratique et performance.
  • Ce n’est pas du SQL… Ayez bien conscience que vous n’aurez pas de fonctions très utiles comme LIKE ou COUNT.
  • Déployez souvent ! j’ai développé plusieurs jours sans déployer sur la plateforme Google, tout fonctionnait nickel en local. Puis, une fois en ligne, j’avais un plantage (erreur 500) et rien du tout dans les logs ! J’ai découvert après plusieurs heures de debug que j’appelai une fonction interdite mais rien dans les logs pour me le signaler.
  • Il y a un temps maximum d’exécution ! Une de mes fonctions qui traitait le RDF dépassait souvent le quota exigé. J’ai du l’optimiser et la tester en réel avant de la mettre en prod. Ayez conscience que votre fonction doit s’exécuter en un temps maximum.
  • Tout ce qui est Java ne tourne pas sur Google App Engine ! j’ai, par exemple, dû modifier la configuration de Stripes pour qu’il fonctionne sous GAE. Voici la liste des librairies qui fonctionnent sous Google App Engine.
  • Certaines choses peuvent surprendre au niveau des performances…. On vous dit que vous pouvez stocker pleins de données, c’est vrai ! Mais, par contre, on vous annonce aussi des choses comme cela dans la documentation : « it is important to note that you can only expect to update any single entity or entity group about five times a second. », c’est assez déroutant :) Comme pour les perfs, n’hésitez pas à utiliser les task queues qui permettent de faire du JMS like.
  • Des choses simples ne le sont pas forcément avec GAE ! Voici, par exemple, comment gérer un compteur avec Google App Engine… accrochez vous !
  • Pour finir, attention aux quotas ! Le jour du lancement, je l’ai dépassé et je suis resté sans site web avec une belle erreur pendant deux heures ! Pour des lancements ou des occasions exceptionnelles, vous pouvez demander un peu plus de quota avec ce formulaire !
25.08.2009 Entreprise, Open Source 2 Comments

Tutorial installation d’OpenERP sous Ubuntu

Scub a commencé sa migration vers Open ERP ! Voici un petit tutorial que nous avons écrit sur l’installation du produit pour tester.

Installation de Ubuntu 9.04
Télécharger l’image ubuntu-9.04-desktop-i386 depuis le site de Ubuntu : http://www.ubuntu.com/getubuntu/download
Installer cette version. Nous conseillons fortement l’utilisation d’un outil de virtualisation type : http://www.virtualbox.org/

Installation de packages utiles
Lancer un shell et lancez la commande suivante pour installer les packages vim et java :
sudo apt-get install vim sun-java6-jdk

Installation de Python
Un certain nombre de packages Python sont nécessaires, vous pouvez les installer avec la ligne de commande suivante :
sudo apt-get install python python2.5 python-psycopg2 python-reportlab python-egenix-mxdatetime python-xml python-tz python-pychart python-pydot python-lxml python-libxslt1 python-vobject

Installation de PostgreSQL
Nous allons installer PostgreSQL avec la commande :
sudo apt-get install postgresql

Puis nous allons créer un utilisateur avec les commandes suivantes :
sudo su – postgres
createuser createdb no-createrole –pwprompt openerp
exit

Pour régler les problèmes de connexion, éditer le fichier de configuration de PostgreSQL :
sudo vim /etc/postgresql/8.3/main/pg_hba.conf

Pour avoir cette configuration :
local all postgres md5
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
Pour finir, redémarrer PostgreSQL avec la commande :
sudo /etc/init.d/postgresql-8.3 restart

Installation du serveur OpenERP
Lancer la commande :
sudo apt-get install openerp-server

Modification avant lancement
Il y a un petit problème de compatibilité avec Python sur cette version d’Ubuntu, nous devons donc faire les manipulations suivantes :
sudo vim /usr/bin/openerp-server
remplacer exec /usr/bin/python ./openerp-server.py par exec /usr/bin/python2.5 ./openerp-server.py
puis faites : sudo cp /usr/lib/python2.6/dist-packages/oldxml/_xmlplus/utils/boolean.so /usr/lib/python2.5/site-packages/oldxml/_xmlplus/utils

Installation du client lourd
Pour installer le client OpenERP, lancer la commande :
sudo apt-get install openerp-client

Lancement du serveur
Dans une console, nous allons lancer le serveur avec la commande :
openerp-server -r openerp -w pass
note : dans la commande précédente, remplacer pass par le mot de passe que vous avez entré lors de la création du compte dans PostgreSQL.

Configuration du client lourd
Le client OpenERP se trouve dans le menu Application / Internet / Client Open ERP.
Lancer le, passer la page d’enregistrement et aller dans Fichier / Base de données / Nouvelle base de données.
Renseignez les éléments suivants :
Mot de passe administrateur : admin
Nom de la nouvelle base de données : scub
Langue par défaut : French
Mot de masse : le mot de passe de votre choix.

31.05.2009 Entreprise No Comments

Web 2.0 : de quoi parle t-on ? – A Niort

Mardi 9 juin à Niort – Musée d’Agesci – 18 h. – A travers l’exemple de blogs d’entreprises ou de plateformes collaboratives Beer Bergman, Jean-Christophe Gilbert et Stéphane Traumat vous présenteront ces technologies du Web 2.0 et les principes de la communication sur le Web via les réseaux sociaux. JET ouverte à tous – entrée gratuite… A l’issue de cette présentation, nous pourrons échanger librement et toutes vos questions sont les bienvenues.

Inscrivez vous ici : http://www.spn.asso.fr/page_229-inscription-atelier-web-20.html

03.05.2009 Actualités Scub, Entreprise No Comments

Scub une SSII spécialisée en Java et basée à Angoulême en Charente

Voici un petit article d’auto promotion pour rappeler qui nous sommes et sur quoi nous travaillons :)

Scub est une société de service spécialisée dans le développement d’applications, le conseil et l’intégration de systèmes. Notre objectif est d’aider nos clients à tirer le meilleur parti de leur système d’information en développant tout ce dont ils ont besoin. Bien entendu, de préférence avec des briques libres et le langage Java.

Voila pour le rappel et voici notre actualité :

  • Juanito Gonçalves, le directeur de projets de Scub a suivi la formation Scrum de Xebia afin de la mettre en place cette méthodologie dans l’entreprise. Il est désormais certifié Scrum.
  • Nous sortirons d’ici septembre un outil open source de veille partagée pour les entreprises.
  • Après l’annonce du support par Google du langage Java sur Google App Engine, Scub est en train de développer sa première application qui fonctionnera sur la plateforme hébergée de Google. L’objectif est de montrer à nos clients qu’il est désormais possible de déployer des applications entièrement conçues et hébergées dans le « nuage ». Un premier pas vers la fin des infrastructures dans les entreprises ? Voici un article intéressant par Google
  • Scub sera au salon Futuralia à Doha au Qatar du 8 au 13 mai.
17.03.2009 Entreprise No Comments

Travailler dans un navigateur

Je profite d’une réinstallation de ma machine pour faire une petite mise à jour sur les outils que j’utilise pour travailler au quotidien. La conclusion que j’en tire d’ores et déjà, c’est que je travaille dans un navigateur :) et oui, fini pour moi les applications de bureau.

J’ai donc réinstallé mon Ubuntu, puis j’ai commencé par installer les plugins firefox dont j’ai « besoin » :

  • Foxmarks pour récupérer mon Marque-pages.
  • Google gears pour travailler sans connexion internet (mais bon, c’est rare, je suis l’heureux propriétaire d’une clé 3G).
  • TwitterFox pour profiter de Twitter sans avoir à me rendre sur leur site.

Et j’ai pu aussitôt recommencer à travailler comme si de rien était en utilisant mes applications web favorites :

  • IGoogle : ma page personnalisée avec mon agenda, mes documents, mes tâches et mes emails.
  • Google Sites : l’intranet de l’entreprise (base de connaissances, numéro de tel, formulaire…).
  • Dotclear : notre blog.
  • Gliffy : outil pour faire des schémas.
  • Balsamiq : pour faire des maquettes d’écrans pour nos projets.
  • Gestion de projets : outil de suivi des projets clients développé grâce à Zoho creator.
  • Mantis : outil de gestion des demandes/bugs clients.
  • Doodle : pour organiser des réunions ou faire des votes.

Finalement, je n’ai pas eu besoin des nombreuses applications de bureau classiques… J’ai juste du installer le VPN pour accéder à notre application de gestion / compta qui est la dernière application propriétaire à Scub. Mais j’ai bon espoir de passer à OpenERP en 2010 !

PS : Bien sur, j’exclus la partie développement, je bosse avec Java, Eclipse, Maven et notre merveilleux socle technique qui sortira bientôt en open source (octobre 2009).

25.10.2008 Entreprise, Java, Open Source No Comments

Écrire des programmes batch en Java

Dans tous les systèmes d’information, on trouve des programmes Batch qui effectuent les traitements de masse. Plutôt que d’avoir pleins de programmes disparates avec des méthodes différentes, Spring a lancé Spring Batch. Le projet est assez prometteur et voici un bon article d’introduction en français. Après quelques tests, je me dis que les ETL, quand ils peuvent être utilisés, sont quand même une bien meilleure solution : Plus facile à apprendre, à maintenir et tous les problèmes « techniques » sont pris en charge par l’outil. En plus, c’est très visuel.

21.10.2008 Entreprise No Comments

Notre présentation de SaaS

Les 19 et 20 Novembre, nous avons participé au salon Imagine Days à Poitiers. A cette occasion, nous avons donner une petite conf d’une heure sur le Software As A Service qui est, à mon avis, une des tendances lourdes du marché. Afin d’en faire profiter ceux qui n’ont pas pu y assister, voici nos slides :

Bien que cette mode provoque pas mal de changements dans notre branche (et pas forcément des changements agréables), je pense qu’il va falloir que l’on épouse ce nouveau mode de consommation. C’est toujours la même chose en économie « Adaptez vous ou mourrez ! ».

01.10.2008 Entreprise No Comments

Mettre en place une solution de veille partagée en 2 minutes ! (et pour 0€)

La veille (économique, technologique, concurrentielle…) est un élément essentiel pour assurer l’évolution de la société et de l’ensemble de ces membres. Des équipes informées, curieuses et comprenant le contexte de l’entreprise et de son environnement est un sacré avantage dans un monde qui bouge en permanence (surtout en ce moment).

Voici comment j’ai mis en place une solution de veille partagée à Scub avec Google Reader.

C’est assez simple, tous les matins, je lance Google Reader et je parcours tous les articles des sites qui m’intéressent grâce aux flux RSS. Désormais, je mets sur ma liste de partage tous les articles que je juge intéressant. Cette liste de partage s’affiche sur une page : http://www.google.fr/reader/shared/00735745672519004155 Les employés (ou vous) peuvent consulter cette page ou vous abonner aux flux RSS qui y est. Vous lisez ou pas les articles, mais au moins, vous voyez de l’information passée et elle est déjà triée :)

Bien entendu, j’ai invité chacun à faire la même chose dans la société !

Voici un article qui détaille le principe http://www.entreprise20.fr/2008/10/04/veille-partagee-solution-tutorial/.

28.09.2008 Entreprise No Comments

L’entreprise 2.0

On entend souvent parler d’entreprise 2.0 et il est vrai que c’est un peu mis à toutes les sauces :) Alors voici un livre blanc assez sympa : http://www.bluekiwi-software.com/fr/entreprise20 Quelques phrases que j’ai bien aimé :

  • « La vraie valeur ajoutée du collaborateur est dans la gestion des exceptions qui se font de plus en plus nombreuses au fur et à mesure que la production glisse du bien manufacturé à la prestation de service intellectuelle. »
  • « L’entreprise se doit de fournir un cadre et des outils permettant au salarié de faire face à ces exigences nouvelles qui ne naissent plus du haut mais de la base, devant lui, au contact du client et dont la satisfaction lui incombe de fait. »
  • « Dans le domaine de la vente, la matière première est la conversation. »

Bon, ce n’est pas non plus un document extraordinaire, mais il a le mérite de concentrer pas mal d’idées sur le sujet.

29.08.2008 Entreprise No Comments

Cloud Computing, nous aussi, on a ose :)

Voici un article très intéressent de nos amis d’Application-servers : http://www.application-servers.com/post/2008/10/12/Cloud-Computing-il-a-oseacute. Nous aussi, nous sommes des adeptes des solutions in the could.

Voici toutes les applications en ligne que nous utilisons dans la société :

  • Gmail : Ma boite email professionnelle et personnelle.
  • Google Calendar : Mon agenda. Partagé avec mes employés, synchronisé avec mon IPhone grâce à Nuevasync.
  • Google Docs : Tous les documents de la société sont là dessus.
  • Google Reader : Pour lire les actualités et les blogs.
  • Evernote : Mes notes (Dispose d’un client Iphone).
  • Dotclear : Notre blog :)
  • Rememberthemilk : Outil fantastique pour traquer toutes les tâches que j’ai à réaliser.
  • Zoho Creator : J’ai développé notre outil de CRM et de suivi de projet avec cet outil fantastique ! Et on utilise Zoho Db & Report pour les stats.
  • Google sites : Notre intranet.
  • Mantis : Outil de gestion des bugs. Utilisé pour tracer les incidents clients et leur gestion.
  • Balsamiq : Outil qui nous permet de faire des maquettes d’écrans.

Voilà, je crois que tout y est :) Pour moi, un bon test pour vérfier qu’on est bien dans le « cloud », je réinstalle de temps en temps ma machine (Sous linux, ça prend 15 minutes) et normalement, j’ai juste à aller sur Igoogle, j’entre mon login et mon mot de passe et hop, je dois normalement avoir accès à tout ce dont j’ai besoin pour travailler (sauf bien sur l’environnement de dev Java).

Le seul truc qui me manque, c’est un outil pour faire des schémas :( Je cherche toujours et je suis preneur de suggestions