mardi 11 mai 2010
Nouveau blog, nouvelle formule
jeudi 4 février 2010
Let's buzz the #zzenglishoral hashcode !

- Giving advices about presenting Twitter (Tips, ideas of scenarios that we can use to show the real time benefit of Twitter etc.)
- ReTweeting Tweets that are #zzenglishoral hashtagged.
- Giving your thoughts about Twitter, and why you find it so useful.
- Saying Hi to the audience (They will appreciate it !).
- Wishing us good luck for the presentation.
- Saying what you want, as long as it's tagged #zzenglishoral.
dimanche 13 décembre 2009
Team team team team ! Et Comment construire un solide Ecosysteme autour de son Projet ?

lundi 26 octobre 2009
Algerian Startup Initiative
A ce titre, un concours similaire à l'imagine cup a été lancé dans le cadre de cette initiative. Seront primés les meilleurs projets/business plan. Le formulaire se trouve ici !
Si vous êtes étudiant en Algérie, je ne peux que vous conseiller d'y foncer ! Ayez de la motivation bon sang !! Croyez en vous, croyez en vos idées, croyez en votre bonne étoile, n'attendez pas passivement la fin de vos études pour commencer à réfléchir à votre projet de carrière !
Nous sommes dans une époque d'innovation, où le Web 2.0 (certains parlent même de Web 3.0) apporte son lot de start-ups quotidiennes (oui ya des dizaines de facebook/twitter/digg qui se créent chaque semaine, certains réussissent d'autres pas, mais eux au moins ils essayent!) c'est le moment où jamais de vous y mettre ! L'Algérie est un terrain vierge, tout reste à faire en matière d'information et de communication ! Vous pouvez vous occuper du problème des transports, de l'environnement, de l'accès aux ressources et à l'information etc. Les idées ne manquent pas et petite astuce: Il n'est pas interdit de traiter un problème local en s'inspirant du voisin ! Euh bien entendu, si vous avez d'autres idées ou une innovation technologique très pointue (style R&D) n'hésitez pas !! (A ce titre vous saviez qu'il sera possible dans un futur très proche de se transmettre des fichiers olfactifs par internet ?)
Enfin bref, vous êtes jeunes, étudiants, vous ne risquez rien foncez et vite car l'Algérie, qui a été classée avant dernier pays au niveau du classement de l'innovation, a besoin de start-ups!
Si vous n'êtes toujours pas motivés, je vous conseille fortement de vous procurer les films/ lectures suivantes :
- [FILM] The Bill Gate story
Les pirates de la sillicon valley mets en scène Steve Jobs et Bill Gates dans leurs quête respective à l'innovation et au succès ! Ces types étaient des fous fourieux, ils ne vivaient que pour leurs idées et leurs produits ! Ce film (assez bien fait et assez réaliste je trouve !), vous montre comment un adolescent peut vraiment changer le monde ! (sérieusement et sans déconner: Si Bill gates et Steve jobs n'étaient pas nés il aurait fallu soit les inventer, soit inventer une machine qui les inventerait ou alors l'informatique n'aurait pas du tout le même visage qu'aujourd'hui !). Bill et Steve avaient quelque chose en commun: Ils avaient tous les deux abandonné leurs études au profit de leurs start-up (je dis pas qu'il faut faire comme eux!). Par contre les créateurs de google : Sergei Brin et Larry Page ont lancé google lorsqu'ils étaient en thèse à l'université de Stanford. C'est d'ailleurs l'histoire qui est racontée au niveau du livre: The google story, que j'ai lu dernièrement !
Ce livre retrace l'histoire de google, où comment le rêve de deux étudiants d'avoir un jour accès à une quantité illimitée d'informations en un seul clic est devenu réalité ! Sans google que ferions nous ? Que ferions nous dans quelques années, sans le produit que vous allez créer ?
Je compléterai cet article, par un lien vers TechCrunch, ce site permet de suivre l'actualité des start-up en direct de la silicon-valley vous y trouverez news, articles, interviews etc.
Buvez un peu de TechCrunch tous les jours, et vous allez passer du petit étudiant qui assiste à ses cours de C en se demandant si ya pas moyen d'avoir un 19 au prochain examen, au jeune entrepreuneur visionnaire qui va changer la face du monde ! Devenez le Bill Gates, Larry Page, Steve Jobs, Biz Stone, Zuckerberg algérien..en tentant l'expérience ASI :).
Avant de terminer ce post, si vous cherchez des informations concernant la conférence qui a eu lieu le 19 octobre dernier, je vous envoie vers le blog de iChaib qui y a assité ! Profitez en d'ailleurs pour jeter un coup d'oeil à ses articles et notamment à celui relatif au Barcamp qui a été organisé à l'ESI la semaine dernière ! Si ya des paumés qui lisent cet article et qui ne savent pas ce qu'est un Barcamp, je vous renvoie encore à un de ses posts. Ah oui, vous qui êtes encore paumés, ya des barcamp qui se font en Algérie, le prochain se tiendra d'ailleurs à l'USTHB !
Vous êtes encore là ? Allez créer votre entreprise bon sang :)
mardi 20 octobre 2009
[PROJET] Une fois n'est pas coutume..du java !
Vous aurez remarqué le terme "Amélioration" dans le titre du sujet. En effet, un binôme a déjà travaillé sur ce projet l'année dernière et a développé un logiciel de simulation en Java, en utilisant la librairie java3D !
Le cahier des charges de cette année s'appuie donc sur ce travail existant, et c'est ça exactement qui m'a intéressé ! La refactorisation d'un code existant, un exercice difficile mais oh combien passionnant !
En gros refactoriser un code revient à : Lire et analyser le code existant, identifier les zones qui posent problème, les classes qui ont besoin d'être réorganisées, réécrites autrement. Et enfin réécrire ces zones de code en les refactorisant ! La refactorisation est bien souvent ce qui différencie un développeur ordinaire d'un autre ! Alex Iskold, définit d'ailleurs le refactoring comme étant l'une des conditions que doit remplir un rockstar software engineer !
Pour résumer, le refactoring permet à la fois de lire du code et d'en écrire ! Le cahier des charges, inclus également la correction de bugs de rendu, l'intégration d'algorithmes de placement 3D ainsi que l'étude d'alternatives à java3D. En plus du refactoring, ce projet m'a motivé étant donné que j'ai pas mal travaillé sur la programmation graphique dans mon passé (beaucoup plus de 2D c'est vrai, mais il m'est arrivé de faire de la 3D avec OpenGL :) ). Cerise sur le gâteau, ça me permettra de travailler sérieusement sur du Java (j'ai des projets en C++ et en C# .NET sous la manche mais pas de projets Java !).
Bien entendu, j'essayerai de poster des billets au fur et à mesure du développement de ce projet, afin de partager des détails techniques que je jugerais utiles :).
dimanche 27 septembre 2009
Nouveau pays, nouvelle école, nouvelle vie…
Vous l’aurez compris par le titre de ce billet, étant donné la dureté de la vie du développeur algérien j’ai décidé de m’exiler un certain temps dans le pays des fromages qui puent, à savoir : La France :).
Plus sérieusement, ce départ entrait dans le cadre d’un projet d’étude qui traine dans ma tête depuis un petit moment qui est celui d’obtenir un diplôme international en informatique et plus spécialement en génie logiciel. Monter en expertise technique, solidifier et enrichir les bases théoriques du domaine, effectuer des stages enrichissants etc.. Bref, je suis encore très jeune, le génie logiciel étant un domaine qui me passionne je me suis donc donné deux années pour m’affûter et être performant le jour de mon entrée dans le monde professionnel.
L’école que j’ai choisi est l’ISIMA :
Institut Supérieur d’Informatique de Modélisation et de leurs Applications. L’ISIMA est située à Aubière dans la ville de Clermont-Ferrand, qui est non seulement une très belle ville mais en plus elle bouillonne de dynamisme pour une raison toute simple : Clermont est une ville d’étudiants !! (Je n’ai pas de chiffres officiels, mais dans le tram et en ville t’as l’impression que 70% de la population est étudiante !). Bref, revenons à notre ISIMA :). La question que chacun doit se poser c’est : Pourquoi ISIMA et pas une autre école ?!. Avant de répondre à cette question, je vous cite les quelques critères que j’ai sélectionné lors de mon choix :
- L'école doit être obligatoirement CTI, c'est-à-dire que l’école doit être en mesure de délivrer un diplôme d’ingénieur en bonne et dû forme.
- La formation doit être spécialisée et orientée vers le génie logiciel.
- L'enseignement doit être équilibré entre la théorie et la pratique.
- La durée des études doit de préférence être de deux années (je parle pour moi :) c'est-à-dire la durée d’études supplémentaires à partir de mon cursus initial). La 1ère année d’ingénieur doit être assez généraliste afin de me permettre d’intégrer en 2ème année sans trop de difficultés.
- La durée de stage doit être assez grande. Ayant effectué mon stage chez IROBASE (SSII à Paris) l’été dernier, je me suis rendu compte de son importance en matière d’expérience et de formation.
Et bien aussi bizarre que cela puisse paraitre, ces 5 critères combinés les uns aux autres ne mènent qu’à pratiquement une seule école en France : ISIMA. C’est fou non ?
Résumons : ISIMA est une école d’ingénieur CTI (durée maximale) qui délivre un diplôme d’ingénieur en informatique en 3 ans (recrutement sur concours commun polytechnique après prépa ou sur dossier pour les autres filières). La première année est assez généraliste, elle vise à donner une culture informaticienne solide aux étudiants qui viennent naturellement de cursus assez variés. Cette première année comporte non seulement des cours en info, mais aussi en électronique, en recherche opérationnelle, en physique, en traitement du signal etc..
A partir de la deuxième année les élèves doivent l’une des 5 options disponibles:
F1 -> Architectures Matérielles et Conception de Circuits.
F2 -> Génie logiciel, Systèmes informatiques et Réseaux. (ma spé :))
F3 -> Informatique des Systèmes d’Information et de Production et Aide à la Décision.
F4 -> Calcul et Modélisation Scientifiques.
F5 -> Télécommunications.
Jusque là tout se passe bien !!! J’ai une école où je peux intégrer en 2ème année du fait que la 1ère année soit assez généraliste et surtout ya pile poile l’option que je recherche, la F2 ! Voyons voir la suite J. A partir de la 2ème année, l’année pédagogique est divisée en deux parties :
Septembre -> Avril : Cours/TP/TD/Examens classiques.
Avril -> Septembre : Stage 5/6 mois !
Tout ça nous donne un total de 10 mois de stage minimum à la sortie de l’école !
Un dernier élément restait en suspens avant de décréter officiellement l’ISIMA comme école certifiée: Qualité Amokrane CHenQel (Ben oui copyright :p), à savoir, la qualité de la formation. Pour cela je suis allé me renseigner sur le forum des élèves de l’ISIMA. Première impression : Le forum est très dynamique et a l’air assez organisé. Les élèves et anciens ont pu répondre à toutes mes interrogations notamment en matière de formation. Pour résumer, les enseignements sont de très bonne qualité et le corps professoral est très compétent ! Sur le papier, l’équilibre théorie/pratique est largement assuré. A titre d’exemple cette année nous avons les cours suivants : Méthodes et outils de développement logiciel (avec trois environnements : C++, Java et .NET et de la conception avec UML), Programmation système, réseaux (avec un cours pour tout le monde et un approfondissement en deuxième semestre pour nous), services réseaux (web service, dev web etc..), compilation et analyse des langages, complexité algorithmique, outils d’aide à la décision, simulation, modélisation, développement de bases de données, systèmes embarqués et des cours de droit, de comptabilité, de gestion de projet, de communication bref peut on faire mieux ? On y apprend donc de tout et de manière très organisée !
Côté matériel, l’ISIMA ne manque de rien, les salles de TP et les salles en accès libre sont dotées de nouvelles machines, très puissantes capable de se connecter sur des serveurs différents (selon que l’on souhaite développer sous linux, windows, faire du calcul intensif en 64 bits etc.). Vous en voulez encore un peu plus ? L’école est très dynamique, la vie associative bouillonne il y a des associations assez variées : IsiBot (pour concevoir des robots participant à l’Eurobot), Im@ge (la junior entreprise de l’école), Koncept (réalisation de courts métrages au sein de l’ISIMA), Rezzo (organisation de LAN entre étudiants :) ) etc..
En tous cas, je termine ma deuxième semaine ici et je ne regrette absolument pas mon choix, tout ce passe comme prévu voir mieux que prévu :).
Côté taf, j’aurai un paquet de TP à faire, un gros projet de 120h à réaliser et surtout un stage de 5 mois à partir d’avril (avis aux recruteurs !). Tout ça en plus de mes projets personnels que je réussirais bien à caser quelque part :).
Je posterai d’autres billets les prochains jours liés à ma nouvelle vie (notamment une MAJ du billet la vie pourrie du développeur algérien :p) d’ici là, commentez à volonté !!! :)
lundi 13 juillet 2009
A la recherche des geeks algériens * partie 1 *


Un projet qui vagabonde depuis un certain temps dans mon esprit, est celui de pouvoir référencer une bonne partie des geeks algériens (geeks dans le sens développeur passionné surtout, mais aussi dans le sens passionné de technologie). Ce projet s'est imposé de lui même, après avoir fait une observation assez simple avec iChaib, jeunes on pensait être les seuls geeks algériens activant sur le net. Deux conclusions par rapport à cette idée: Le geek est d'un naturel prétentieux :p et..le geek algérien s'il existe ne réseaute pas assez. (je parle pas de ceux qui réseautent bien sûr, mais de ceux qui ne réseautent pas ^^).
Ce premier poste, va me permettre donc de donner une première liste d'algériens que je connais et que je classifierais dans la case: geek, passionné de développement et d'informatique en général. J'ai connu la plupart de ces personnes grâce aux sites de réseaux sociaux (twitter, facebook..) mais aussi grâce à des événements technologiques comme Imagine Cup.
Alors qui sont ces geeks ? Découvrons les, sans plus tarder :
- Riad Benguella : Etudiant à l'INSA de Lyon actuellement, il initialement ingénieur en informatique de l'USTO (Université Sciences et Technologies d'Oran). Développeur web passionné, il est co-fondateur de la boite de développement Nomade. Riad, s'est notamment distingué l'été dernier par le développement d'un digg like algérien bloginy. Pour plus d'informations sur Riad, vous pouvez consulter son portfolio, son compte twitter ainsi que son blog.
- Inal Djafar : Etudiant en master Informatique spécialité Systèmes informatiques et réseaux à l'USTO, Inal possède également une licence en intelligence artificielle. Son domaine d'expertise est cependant beaucoup plus tourné vers le développement web, avec une maitrise des framework: Django et Symfony et des CMS Drupal et Wordpress. Inal développe essentiellement en : Java et Python. Sur le plan professionnel, Inal travaille dans une SARL spécialisée dans le développement web et est membre de la boite de services informatique Nomade solutions, il a également contribué avec Ryad Benguella au développement de Bloginy. Inal a comme pseudo, Inalgnu, trahissant son intérêt pour le projet GNU. Vous pouvez trouver plus d'informations sur Inal, via son site professionnel.
- Aniss Bouaraba : Aniss est un jeune étudiant en informatique à l'université de Blida (cycle LMD), son domaine d'expertise est tourné vers le développement web 2.0 (RIA et métier). Aniss est connu pour avoir lancé dernièrement le projet minixr, qui est un réseau social type microbloging (à la twitter, sauf que son principe est légèrement différent étant donné qu'il permet de centraliser tous les changements de status effectués par les utilisateurs via facebook, twitter etc. le concept est beaucoup plus proche de FriendFeed). Aniss, s'était également illustré par le passé par le développement de Icoute, qui n'est malheureusement plus en ligne. Icoute est un deezer-like, il permet aux utilisateurs de pouvoir rechercher des morceaux de musique en ligne, de gérer ses playlists etc. 2 start-up en si peu de temps, en travaillant seul (design+dév) Aniss est sans contexte l'un des jeunes geek algériens les plus dynamiques et motivés de son ère.
- El Kindi Rezig : El-Kindi est un jeune étudiant en master informatique à l'université de l'USTHB (Bab Ezzouar, Alger). Passionné de dévéloppement et de nouvelles technologies, il s'est notamment distingué en assurant une bonne partie du développement du linux algérien : Bee linux. El-Kindi, a également gagné la finale nationale de l'Imagine Cup 09 avec son ami Ryad Dahimene qui lui a valu une place à la finale mondiale qui s'est déroulée en Egypte cet été.
- Nassim Kacha : Nassim est étudiant en informatique à l'Université Charlemagne à Nancy. Geek assez complet, son expertise va du développement logiciel jusqu'à l'administration des systèmes et des réseaux informatique. Il est notamment auteur technique dans plusieurs revues spécialisées notamment la revue N'tic. Pour plus d'informations sur Nassim et ses projets, vous pouvez vous référer à son blog.
- Ismail Chaib : Ismail que j'ai cité en tête d'article, est étudiant à l'ESI (ex- INI) en Systèmes d'information. Ismail se définit comme étant un tech-entrepreuneur plutôt qu'un développeur acharné et associal. Il a notamment participé à la finale nationale d'Imagine Cup 09, et a manqué de peu la qualification mondiale (arrivé deuxième avec son équipe). Qu'à cela ne tienne, Ismail avec deux de ses amis compte continuer le développement de son projet (LocustGIS) et de lancer sa startup. Une initiative à encourager ! Ismail suit l'actualité technologique de très prés, vous pouvez consulter ses articles sur son blog, ou le suivre sur twitter.
- Ahmed Siouani: En voilà un que je connais bien :). Ahmed, était étudiant avec moi à l'ENP (Polytech Alger). Nous faisions partis de la troupe rebelle qui passait beaucoup plus de temps à développer sur des projets perso qu'à nous occuper de nos études :p. Ahmed développe principalement en .NET, mais possède également de bonnes connaissances en C++, PHP et Java. Ancien participant à l'Imagine Cup (08), il compte remettre ça l'année prochaine et éspère se qualifier enfin à la finale mondiale (Pologne 2010). Il travaille déjà en tant que développeur dans une socièté de services informatique à Alger, mais compte continuer ses études d'informatique en France dés la rentrée prochaine. Pour plus d'infos sur ses projets, vous pouvez consulter son blog technique.
- Oualid Boutemine : Oualid est un gros gros geek. Passionné de développement et de nouvelles technologies, il est à la fois étudiant en médecine, en informatique et est également Microsoft Student Partner. En tant que MSP, il a notamment participé à la création d'un club d'informatique à l'université de mentouri (constantine). Ne me demandez pas comment il fait pour assurer tout à la fois, je n'en sais rien ! Oualid s'intéresse essentiellement aux technologies .NET, avec un gout prononcé pour les techniques de développement agiles (S.O.L.I.D principles). Il est également l'administrateur d'un forum de programmation arabophone assez populaire. Pour plus d'infos sur Oualid référez vous à son blog.
8 geeks ! C'est déjà pas mal non ? Bien entendu j'ai 2/3 autres geeks sur ma liste (agence 84 notamment), mais je n'ai pas assez d'informations sur eux pour l'instant. Je compléterai la liste au fur et à mesure, ce billet n'en est qu'à sa partie 1 ! Afin de donner suite à ce projet, il serait intéressant que chaque personne taguée sur ce billet ou tout autre personne connaissant un certain nombre de geeks puissent poster leurs liste à eux au niveau de leurs blog ! D'ici peu de temps, on pourra avoir une bonne liste de geeks algériens, créer une communauté algérienne de de développeurs (à l'image du developpez français), organiser des nerd diner, lancer une revue informatique sur le web, organiser des événements etc. Bref, avec une communauté tout deviendra possible construisons là et faisant bouger les choses pour améliorer certains points discutés ICI.
J'attends vos commentaires avec impatience et bien sûr, si vous êtes mentionnés sur cet article et que vous avez des objections relatives à certaines informations, je me porte volontaire pour apporter les modifications qui s'imposent :).
dimanche 17 mai 2009
[EVENEMENT] Microsoft Student Festival'09 à l'ESI !
jeudi 14 mai 2009
Résultat imagine cup 2009 Algérie: Evotech de l'USTHB vainqueur !
Hier à Boumerdés, s'est déroulée la finale de la 5ème édition d'imagine cup Algérie. Après l'USTHB (nom d'équipe?) en 2005, IniForUs de l'INI en 2006, HBM2 de l'INI en 2007 et Polygeek de l'ENP en 2008 c'est au tour de Evotech de l'USTHB de se qualifier à la finale mondiale de l'imagine cup.
Evotech s'est illustrée brillamment avec son projet: Education provider, qui vise à permettre un meilleur accès au savoir aux enfants privés d'éducation primaire. Je reviendrai en détail sur ce projet lors de mes futurs posts. L'équipe Evotech est composée de : El-Kindi Rezig et Dahimene Ryadh tous deux étudiants en M1 Informatique à l'USTHB. La deuxième équipe est l'équipe Microserfs avec son projet LocustGIS, équipe que j'ai coaché par ailleurs. Et enfin la troisième équipe n'est autre que Technology Geeks une équipe qui s'était classée en seconde position lors de l'édition précédente.
A noter l'absence de l'équipe WEINNOVATE (le lycée de boumerdés) qui a certainement eu un empêchement relatifs à ses examens de fin d'année, c'est dommage j'aurais vraiment aimé voir ce candidat en action d'autant plus que son projet avait l'air intéressant. Imagini Team avec son projet GAIA ne s'est pas qualifiée parmi le trio de tête à leurs très grande surprise (fallait voir la tête de Raouf l'un des membres de l'équipe lors de l'annonce des équipes non classées..). Rappelez vous lors d'un de mes précedents posts j'avais bien dit que tout était possible dans une finale, en effet sur le papier Imagini Team était favorite s'étant classée première lors des qualifications (basés sur la fiche technique du projet).
Je terminerai par quelques feedbacks personnels :
Les points positifs :
- L'apparition des modèles économiques des projets au cours de certaines présentations, dû très certainement au temps alloué (15 mins) supérieur au temps alloué pour la présentation dans les éditions précédentes (qui était de 8mins).
- Un saut qualitatif important comparativement aux éditions précédentes (même s'il y a toujours du très bon, du bon, du moyen et du mauvais à chaque fois).
- Un projet qui consiste à localiser en temps réel des personnes susceptibles d'aider d'autres personnes en danger (accident, malaise cardiaque, etc.). La localisation est basée sur la proximité d'une personne répondant au profil nécessaire à la nature de l'intervention. Petit clin d'oeil, étant donné que l'année dernière nous avions également un projet de géo localisation mais appliqué au covoiturage. Néanmoins, ce projet n'a pas attiré l'attention du jury étant donné la difficulté de sa mise en pratique. Une personne en plein malaise cardiaque a d'autres chats à fouetter, que d'envoyer un SMSd'urgence. Le projet se nomme: Helpy et a été développé par la Team Forza de l'USTHB.
- L'organisation était également au top (au même titre que l'année précédente).
- L'équipe lauréate sera coachée par des professionnels de l'IT, c'est un + certain qui permettra certainement à l'Algérie de se qualifier en moins aux demi-finales de la finale mondiale.
Les points moins positifs :
- Pas mal d'équipes n'ont pas respecté la durée impartie à la présentation. Le jury a été assez indulgent par ailleurs, lors des éditions précédentes les équipes avaient droits à 8 mins tout court. (quitte à être coupé en pleine phrase voir mot..). Lors de la finale mondiale, la durée sera de 20mins et pas une seconde de plus.
- On est restés sur notre faim au niveau des démonstrations, la compétition devrait s'appeler à force: Software design officially, interface design in fact.. Bref, on sait très bien qu'il ne s'agit que de prototypes reflétant uniquement l'aspect du projet mais de plus en plus de démos se limitent à quelques interfaces mortes seulement. (pas de développement métier réel).
- J'aurais aimé écouter plus de questions de la part des membres du jury sur certains projets.
Un feedback neutre : J'espère que l'ensemble des équipes vont réellement penser à développer un produit utilisable partant de leurs concept, et que leurs engagement à lancer une start up basé sur leurs projet n'était pas seulement une belle phrase visant à attirer l'attention et la sympathie du jury. Parce que gagner imagine cup, c'est bien mais c'est rien. Le plus important, c'est de produire concrètement le produit et de lancer son entreprise, à quoi bon s'embêter sinon :).
Voilà, bien entendu ces feedbacks n'engagent que moi. Vous pouvez bien entendu exprimer vos réactions en commentaire à ce post. Je reviendrai plus tard avec une vidéo (celle de l'annonce des 3 premiers que j'ai filmé à l'aide de mon téléphone) ainsi que quelques photos de l'événement, afin de vous donner un aperçu sur la bonne ambiance qui a régné à la finale nationale d'imagine cup 2009.
Pour terminer je félicite encore à l'équipe Evotech, qui a bien mérité sa victoire et qui je le suis sûr va représenter de son mieux l'Algérie lors de la finale de l'imagine cup en Egypte qui se déroulera début juillet prochain. Go go Evotech :).
mercredi 6 mai 2009
La vie pourrie du développeur algérien...
La pauvreté des ressources bibliographiques : Allez faire un tour à la librairie du tiers monde à Alger (c'est pratiquement la seule à ma connaissance qui vende des livres techniques plus ou moins intéressants..), sur votre gauche montez les éscaliers qui vous mèneront aux bouquins d'informatique (c'est tout au fond). Première constatation, ya 4 étages de livres avec pas mal de duplicata (le livre d'intelligence artificielles de Peter Norving et Stuart Russel y est présent en 5 exemplaires, occupant 80% de la rangée). Le reste disons qu'il ya un livre sur chaque sujet : un livre de C++, un livre sur le javascript, un livre sur les bases de données (SQL Server 2000, c'est dire comme c'est ancien), un livre sur la conception orientée objet puis c'est tout quoi.. C'est vous dire à quel point le choix est pauvre. L'été dernier j'étais à Paris, et l'une de mes activités favorites là bas était d'aller faire un tour dans des librairies comme: Eyrolles, Fnac, Gilbert jeune etc. et croyez moi j'étais franchement émerveillé ! Vous avez tout quoi.. Chez Eyrolles, vous avez un étage complet dédié rien qu'à l'informatique ! J'ai d'ailleurs acheté au cours de mon séjour les bouquins suivants: Php 5 mysql 5, MCTS 70-536 Self paced exam, Google story, et enfin l'excellent: Marketing Management. Dommage que mon dernier jour à Paris était un 15 aout, week-end de la pentecote Eyrolles était fermée ce jour là :'(, j'aurais fais une plus grosse rasia sinon :). Enfin tout ça pour dire, que le livre est avant tout à la base du savoir. Et il est bien connu, que si l'on veut vraiment maitriser un langage ou une technologie donnée rien ne remplace un bon livre sur le sujet! Etant donné que les cours gratuits que l'on peut trouver sur le net sont souvent écrits par des amateurs, et de ce fait et malgré tout leurs bonnes volontés sont quelques fois remplis d'erreurs ou coquilles :). Puis en plus, un livre c'est un livre ! Vous l'achetez, vous le planquez dans votre bibliothèque après en avoir lu l'essentiel et il vous servira durant toute votre vie de développeur ! C'est ce qui m'arrive avec le livre : C++ How to program, que j'ai acheté il ya de cela 6/7 ans. A l'époque je m'étais enfermé @ la maison tout un été pour travailler sur ce livre, j'ai travaillé sur les 10 premiers chapitres sérieusement, en essayant tous les exemples, en codant tous les exercices et en développant des petits projets en // (essentiellement des jeux 2D). Et bien maintenant, je m'en sers toujours de ce livre, je le connais sur le bout des doigts, je sais quel chapitre correspond à tel notion et donc si j'ai besoin par exemple d'avoir une précision concernant un algorithm de la STL, ben direct je file au chapitre 20 je pioche mon info et je ferme le bouquin :). Mon rêve est d'avoir un jour une bibliothèque comme celle ci :
Et c'est certainement pas dans ces conditions que je vais pouvoir avoir ça un jour :'(.
- Le problème du pouvoir d'achat: Je vais continuer l'idée décrite plus haut, car non seulement les ressources bibliographiques sont rares ici, mais en plus le niveau de pouvoir d'achat ne permet pas l'achat de livres internationaux. Un livre qui coute 30 € en Europe, ben ça donne : 3200dinars ici. La différence, c'est que 40€ c'est le centième du salaire moyen d'un cadre en France et ici ce n'est que le dixième ! On peut appliquer le même raisonnement pour le matériel informatique (disques durs, cartes graphiques, écrans plats, RAM etc.).
- L'absence de magazines spécialisés : Quand j'entre dans un kiosque en France, sur la droite généralement je trouve ça :



et j'en passe... en Algérie il n'y a AUCUN magazine qui touche de prés ou de loin le domaine de la programmation. Les seuls magazines d'informatique qui se vendent, sont des magazines de bureautique ou de jeux vidéos. Et ça c'est quand même un inconvénient majeur. L'enrichissement personnel que l'on peut acquérir via ce genre de magazines est énorme.
- L'absence d'événements : En Algérie il n'y a pas de journées ou conférences consacrées au développement logiciel. Pas de techdays, pas de php conf ou rails conf, ou je ne sais quoi d'autres :).
Achats en ligne impossible : Pour qu'un développeur soit efficace, il devrait limiter le nombre de sorties au maximum. En Algérie, du fait de l'impossibilité d'effectuer des payements en ligne (notre système bancaire ne nous donne pas accès aux cartes de crédits internationales), on est obligés de sortir pour tout et n'importe quoi.. pas la peine d'espérer commander une pizza ça n'existe pas! (du moins pas à ma connaissance ?).
Coder en pleine nature, vous rêvez ? Un fantasme que j'entretiens depuis pas mal de temps, est celui de pouvoir coder en pleine nature. Dans un parc, avec un bon jus de fruit par exemple ! En Algérie, les parcs sont rares, très rares. Et lorsqu'il y'en a ils sont: mal fréquentés (les couples y vont pour..), ils puent, occupés par les clochards, et surtout mal sécurisés. Non, non faut pas trop s'aventurer avec son laptop à la main pour coder dehors ;). D'autant plus que les algériens sont de nature observateurs, ils observent tout. Ils vous dévisagent, si jamais vous tentez quoi que ce soit d'original. Bref, à éviter :). Vous me diriez : qu'est ce qui te prend de vouloir coder dehors ? Ben il ya des avantages certains à cela, tout d'abord le fait de pouvoir respirer de l'air (frais si possible), d'avoir un joli paysage en face, de recevoir sa dose de soleil, de regarder les gens.. tout ça permet d'être beaucoup plus créatif et plus performant que si vous étiez dans un bureau.. C'est connu, les meilleures idées nous viennent lorsqu'on est loin de notre lieu de travail habituel.
Le calme ? pas la peine d'y songer Un autre problème que je rencontre personnellement quand je code, c'est l'impossibilité d'avoir accès au calme. Le calme, je ne sais pas ce que c'est pour le moment ou du moins je l'ai experimenté l'été dernier à Paris c'était une expérience formidable. Je pense que mon quartier est l'un des plus bruyants au monde: les gosses, les voitures, les vendeurs à la sauvette, les bagarres à répétition, les chantiers, le voisin qui allume son poste en mettant le volume au maximum.. bref, l'ambiance n'est pas du tout propice au travail et encore moins au code ni à l'imagination! Et ce phénomène de nuisance sonore concerne le pays d'une manière générale à cause du manque de civisme de la population.
- Problèmes technologiques en tous genres Pas de 3G/3G+ pour surfer sur internet à partir de son PDA/regarder des vidéos techniques dans les transports en commun (euh même avec 3G ça aurait été impossible, dans le bus on slalomme, on avance en arrière.. et puis ya le problème de la sécurité bien sûr). L'ADSL en est encore à ses balbutiements preuve en est les pannes trop fréquentes que je me tappe etc.
Problème du transport en commun Le transport en commun, est la source d'une perte de temps énooooorme ici. Quand je dis énorme c'est vraiment énorme, on peut facilement passer 2/3/4h par jour dans les transports à cause des embouteillages notamment. La solution ? Exploiter ce temps là ? Ah oui, tu peux lire un livre dans le bus.. mon oeil !!!! Tu peux rien faire dans le bus ! D'abord on est à 90% du temps debouts, ensuite étant donné que la vitesse d'un bus n'est pas constante (ya des freinages, des accélérations, des queues de poisson etc..) il est pratiquement impossible d'y faire quoi que ce soit. Le problème devrait être réglé avec le métro d'Alger mais celui ci de toutes façons ne me servira pas à grand chose étant donné que les lignes qu'il déservira ne correspondent pas à mon trajet quotidien.
A vous maintenant de me faire part de vos impressions/observations , rencontrez vous d'autres difficultés dans votre vie de développeur ? Aimeriez vous que certaines choses changent ? Comment vous vous débrouillez malgré les contraintes que nous impose le contexte économique/social du pays ? Connaissez vous des librairies à Alger qui en valent la peine ? Ya t'il des kiosques qui vendent des magazines de programmation ? Comment faire en sorte que ces magazines soient importés?
J'attends vos réponses !
mercredi 15 avril 2009
Résultats Imagine Cup 2009, la liste des finalistes est connue !
Microserfs Team avec un projet intitulé LocustGis.
mercredi 28 janvier 2009
Comment gagner Imagine Cup ? partie 2.
Comme promis, voici le second billet de la série : Comment gagner Imagine Cup ? Ce 2nd opus, parlera de la phase qualificative à la finale nationale. Comme vous le savez peut être, le dernier délai d'envoi des documents est fixé pour le 25/03/2009. Soyez sûrs de ne pas louper cette date là, car il serait dommage de gâcher tout votre travail pour rien :). (des dead lines ratées, ça arrive !). Alors, la question que vous pourrez poser est: Comment allons nous rédiger notre rapport technique ? Mais avant de répondre à la question, j'aimerais insister sur le fait que vous devez absolument prévoir au moins 1 semaine pour l'écriture de ce rapport. (En tous cas, c'est pile la durée dont j'ai eu besoin pour écrire le notre l'an passé). De préférence, laissez une seule personne s'en occuper afin de ne pas mobiliser toute l'équipe et ainsi gagner du temps précieux. (ça pourrait être la personne polyvalente, voir pas du tout technique dont je vous ai parlé lors de la 1ère partie). Le but du rapport, est de donner un aperçu de votre solution aux membres du jury. Vous devez brièvement, leurs donner envie d'en voir plus sur votre idée. Je vous conseille, de vous en tenir au plan suivant:
Document 5-10 pages, architecturé dans l'ordre de la manière suivante:
- 1 page: Page de garde, comportant le nom de votre projet ainsi que les noms et coordonnées des membres de votre équipe.
- 1 page: Définition de la problématique que vous tentez de résoudre, et description de votre idée/solution. Cette page, est très importante car c'est ici que vous allez expliquer en quoi votre idée est innovante, et comment elle permet de résoudre la problématique posée! Faites en sorte, qu'à la fin de la lecture de cette page, on puisse se dire: “mmm j’aime bien, j’ai envie d’en savoir +!”. Employez un langage claire, de préférence sans jargon technique et faites le lire à un proche ou à un ami qui n’est pas impliqué dans votre projet. S’ils comprennent votre idée, c’est gagné. Si ce n’est pas le cas, c’est que votre texte n’est pas très clair et qu’il comporte des zones d’ombres qu’il va falloir éclaircir.
- 2-3 pages: Description de votre projet. Attention, cette partie est différente de l’introduction. Au cours de l’introduction, vous allez juste citer la problématique à résoudre et vous allez énoncer la solution pour laquelle vous allez opter. Vous n’allez pas parler de votre logiciel en détails, vous n’allez pas détailler la partie fonctionnelle de votre logiciel. C’est là par contre, que vous allez le faire. Dans l’ordre, essayez de: résumer brièvement le but de l’application, de décrire toutes les parties composant votre solution (toujours dans le fonctionnel rien de technique), citez les utilisateurs que vous ciblez, les interfaces auxquels vous optez. N’hésitez surtout pas, à illustrer votre solution par 1 ou 2 schémas d’application qui montrent clairement les différents utilisateurs ciblés par la solution, les appareils sur lesquels votre solution pourrait potentiellement tourner (PC, PDA, Tablet PC, netbook, téléphone GSM etc.), les réseaux utilisés (indiquez clairement les modes connectés et déconnectés de votre solution). Votre schéma doit être assez clair, pour que l’on ait une bonne vue d’ensemble de votre solution. Si vous voulez au niveau de la 1ère page, vous dites “voila ce qu’on propose” et au niveau de cette partie, vous dites: “voilà comment notre solution sera mise en œuvre”. Au final, vous pouvez également ajouter une page pour illustrer l’application de votre solution dans la vie réelle via un scénario ou des scénarii d’utilisation. Ecrivez ce scénario sous la forme d’une histoire agréable à lire et soyez sûrs de bien montrer toutes les facettes essentielles de votre solution en insistant sur les appareils utilisés et la façons d’utiliser votre solution en fonction de certains paramètres.
- 2-3pages: Description de la partie technique. C’est ici, que vous allez parler de l’architecture technique et logiciels utilisés. Commencez par décrire l’architecture technique, faites des schémas clairs et concis, décrivez aussi bien la partie cliente que la partie serveur, si votre projet doit supporter une forte montée en charge dites comment vous comptez fournir la solution à grande échelle. Ensuite, décrivez la partie code. Les designs patterns utilisés ainsi que les librairies et outils utilisés. Assurez vous que votre solution, répond aux critères internationaux énoncés sur le site d’imagine cup, vous pouvez retrouver ces critères ICI.
- 1 page: Consacrez la dernière page, à la conclusion. Citez brièvement, les + du projets et discutez de l’avenir de votre solution (projet de start-up ? avez-vous engagé des discussions avec des partenaires industriels potentiels ? Où en êtes vous du développement de votre solution ? etc..).
Et c’est tout :). J’aimerais également insister sur le fait que vous ne devez en aucun cas envoyer le code source de votre solution. N’envoyez que le rapport écrit ! Ah oui, j’ai oublié de vous parler de la langue :). Personnellement, j’aurais écrit le rapport en anglais. C’est d’ailleurs ce que j’ai fait l’année dernière, pour la toute simple raison qu’écrire en anglais signifie que vous voyez déjà plus loin que la finale nationale! Croyez moi, après notre qualification et une fois la fête terminée (elle n’a duré que 30mins), on était bien heureux d’avoir un rapport déjà rédigé en anglais. Car s’il était écrit en français cela aurait signifié qu’il aurait fallut se retaper une semaine de + pour traduire le rapport en anglais. Et croyez moi, 1 semaine c’est beaucoup!! Surtout, vers la fin du mois de mai lorsque tous les examens de fin d’année vous tombent sur la tête et que la finale mondiale est programmée pour début Juillet et que vous avez tant à préparer pour cette finale mondiale! Pensez-y!
La dernière chose, sur laquelle j’aimerais insister est que vous devez faire très attention à la qualité de votre rapport. Assurez vous d’envoyer un document :
- Justifié.
- Contenant 0 fautes d’orthographe/grammaire (utilisez Word!).
- Ayant une police de caractère uniforme
- Au format PDF.
En gros, soyez sûrs que votre rapport fait pro et non amateur car il sera l’ambassadeur de votre projet. Vous devez donc faire en sorte qu’il donne une bonne image de votre solution et de vous en tant que futur Start-up.
Voilà, c’est déjà la fin de cette très courte partie (:p). A vrai dire, c’est une phase dite de formalité, le + important reste à venir! Je vous invite donc, à revenir sur le blog pour lire la partie la plus importante qui concerne la préparation de la présentation et la présentation finale à proprement parlé.
Pour toutes remarques ou questions mailez moi.


