Archive for the 'Uncategorized' Category

Comment trouver des idées ?

Comme promis, voici un billet pour exposer comment me viennent mes idées. Tout d’abord, je tiens à préciser que ce billet est inspiré de mon expérience personnelle et que, à ce titre, il ne doit pas être pris comme une bible du chercheur d’idée. Mon expérience est là pour le prouver, avoir des idées ne suffit pas à rencontrer le succès. Mais restons positifs et ne perdons pas notre motivation.

Le cheminement intellectuel que vous allez suivre pour trouver votre idée va dépendre du contexte. Il n’y a pas de voie royale semée de pétale de rose, aussi pour présenter le sujet, je vais aborder deux aspects. L’état d’esprit et quelques techniques.

L’état d’esprit

Cet aspect est fondamental parce que vous ne pouvez pas planifier quand vous viennent vos idées. Vous devez donc être, aussi souvent que possible, dans un état d’esprit favorable afin de ne rien manquer des signaux faibles qui se présentent à vous. État d’esprit ? Ça sonne comme un manuel ésotérique rédigé par un gourou de l’hypnose et de la conscience trans-dimentionnelle :p Ce que je vais exposer ne sera pas forcément plus pragmatique mais c’est le résultat de mon expérience personnelle.

Lorsque je parle de signaux faibles, je parle de ce que vous vivez au quotidien mais auquel vous êtes sourds. Si vous lisez ce billet, vous êtes peut-être confrontés au constat qui sonne comme un aveux d’échec : je n’ai pas d’idée. Pourtant, si vous avez une vie normale, celle-ci est remplie d’expériences banales qui rythment votre quotidien. Vous êtes en permanence soumis à des contraintes auxquelles vous vous adaptez. Voilà le coeur du problème : vous trouvez à ces contraintes des stratégies pour les contourner ou vous y adapter au lieu de leur trouver des solutions définitives. Et lorsque vous avez trouvé une solution qui vous satisfait, vous ne vous posez jamais la question de savoir si elle satisferait quelqu’un d’autre. Pour trouver des idées de business, vous devez être dans un esprit permanent de révolte et refuser les contraintes qui s’imposent à vous. Permanent ? J’exagère un peu, mais vous devez être attentif lorsqu’une contrainte vous parait inacceptable, pour quelque raison que ce soit. Si une contrainte est communément admise mais que son poids vous insupporte au point de déployer beaucoup d’effort pour y échapper tant bien que mal, vous tenez peut-être une idée à exploiter. Et ce que vous observez dans votre quotidien, vous pouvez aussi le faire dans le milieu professionnel. Personnellement, le milieu professionnel m’inspire davantage car il est rempli de contraintes horripilantes dues au caractère sclérosé des canaux de décision. C’est ainsi que m’est venue l’idée, que je n’ai pas encore exploité, de créer un service pour gérer le cycle d’allés et retours incessants entre la MOA et la MOE. Enfin bref, les développeurs comprendront :p

Lorsque Steeve Jobs a imaginé l’iPhone, cette idée nouvelle ne répondait à aucun problème concret. L’iPhone répondait à un besoin latent de s’afficher avec un objet fun et qui prétende à un certain standing. C’est aussi à ce genre de signal faible auquel il faut savoir être attentif, les besoins latents qui ne demandent qu’à s’exprimer.

La généralisation

Maintenant que vous savez l’importance de l’état d’esprit, je vais exposer une série de techniques qui vous permettront, non pas de trouver une idée toute neuve, mais de rebondir d’une idée à une autre. Ces techniques vous seront très utiles si vous projetez de créer une Lean Startup. Vous devrez néanmoins partir d’une idée initiale.

La première de ces techniques est la généralisation. Je vais prendre un exemple concret. Il y a deux ans et demi, un ami est venu me voir avec une idée de logiciel dédié aux services qualité des entreprises d’analyse bactériologique. Vous l’avez deviné, lui même travaillait dans ce type de service et il n’était pas satisfait des outils qu’il utilisait, outils qu’il jugeait trop archaïques. Il m’a demandé de l’aider à developper ce produit, ce que j’ai accepté. Mais mon ami s’est désintéressé du sujet après quelques mois, et je me suis retrouvé avec un projet sans capitaine. Le sujet m’intéresserait et je ne voulais pas laisser tomber. Mais comme je me retrouvais seul aux commandes, j’ai décidé de repenser le problème pour donner au produit une portée, et donc un marché, plus large. En analysant le projet depuis ses fondements, il en est ressorti qu’il répondait, au fond, à un problème de relation client/prestataire. La question du suivi qualité était un particularisme de cette relation. Nous verrons plus loin que la spécialisation peut être source d’inspiration, mais pour l’instant nous allons suivre la voie de la généralisation. Cette voie, vous l’avez compris, consiste à partir d’un problème particulier (le suivi qualité) et d’en extraire un problème général (la relation client/prestataire).

Vient alors le moment de trouver une solution à ce problème général, à condition d’avoir prouvé qu’il existe un marché. Dans mon cas, j’ai tenté de développer un réseau social qui aurait été un hybride entre LinkedIn et une solution de Partner Relationship Management. Ce projet a avorté car entre temps j’ai découvert le Lean Startup et je me suis rendu compte, au travers du filtre Lean, que je courrais à l’échec. Et surtout cela faisait plusieurs mois (sic) que j’y croyais de moins en moins. J’espère que vous aurez tout comme moi l’endurance de suivre ce parcours jalonné de multiples échecs qu’est l’aventure entreprenariale.

La spécialisation

Passons maintenant à la seconde technique. Et là encore je vais illustrer mon propos avec un exemple personnel. Lorsque j’ai décidé de quitter mon boulot pour monter ma startup, je comptais tout d’abord créer un moteur de recherche capable d’indexer le contenu des applications mobiles. J’ai voulu déposer un brevet sur mon invention, mais je me suis rendu compte que pour protéger correctement mon invention, j’allais être obligé de la breveter dans de nombreux pays. Et je n’avais pas les ressources financières d’une telle ambition. J’ai donc songé assez rapidement au pivot. Et l’idée qui m’est venue provenait de réflexions que j’avais eu sur une problématique de sécurité à laquelle j’étais confronté pour exploiter mon moteur de recherche. Ce problème était assez éloigné de mon coeur de métier, mais je ne m’étais pas interdit d’y réfléchir, ni même d’y travailler en parallèle. J’avais donc développé une solution pour sécuriser les accès à la console SSH (désolé pour le jargon). Comme je ne suis pas expert en sécurité informatique, je ne voulais pas pivoter sur cette idée. Mais je me suis dis que cette idée pourrait être appliquée à la sécurisation des paiements en ligne. C’est ainsi que m’est venue l’idée d’IzeePay. Il se trouve que je rencontre maintenant des problèmes réglementaires qui vont sans doute m’obliger à pivoter une fois de plus, mais retenez l’intérêt de la spécialisation pour trouver de nouvelles idées. Pour résumer, il s’agit de partir d’un projet quelconque et de dériver sur une émanation de celui-ci, c’est-à-dire de vous concentrer sur un problème particulier rencontré lors de la mise en oeuvre du projet d’origine. Rappelez-vous que des contraintes lourdes pour lesquels les solutions existantes sont insatisfaisantes sont le signe d’un besoin fort.

La sérendipité

La sérendipité est l’art de trouver ce que l’on ne cherche pas. Il s’agit d’un art à part entière, c’est-à-dire qu’il ne consiste pas à attendre passivement une intervention divine qui vous sauvera de l’enfer du désoeuvrement. Vous devez créer les conditions propices à la survenue d’événements favorables ou à la perception de signaux faibles. Pour cela, vous devez sortir de vos pensées et aller à la dévouverte du monde et des gens. Bon je dis ça, mais c’est la technique avec laquelle je me sens le moins à l’aise. Pour vous montrer la puissance de sérendipité, je vais une fois de plus en appeler à mon expérience personnelle.

Lorsque je vous ai dit précédemment que l’idée d’IzeePay m’était venue en utilisant la technique de la spécialisation, ce n’est pas tout à fait vrai. L’idée qui m’est venue tout d’abord était orientée acheteurs. Il s’agissait d’une solution concurrente à PayPal, tel qu’il est connu du grand public. J’ai alors participé au ShiftCamp organisé à Rennes par Le Shift, et j’ai monté une équipe pour valider le concept. La déception a été à la hauteur de mon assurance, nous avons constaté qu’aucune des personnes que nous avions sondé était prête à nous confier leur coordonnées bancaires. Or tout le modèle reposait là-dessus.

C’est là que la sérendipité nous a appelé par-delà les brumes épaisses du désespoir (oui j’aime bien faire de la poésie :p ). Nous avions été bien conseillés par les coaches du ShiftCamp et, suivant leurs conseils, nous avions sondés nos clients potentiels en leur posant des questions ouvertes, c’est-à-dire des questions qui invitent à ne pas répondre simplement par oui ou non. Ainsi nous avions constaté, sans que nous ayons abordé explicitement le sujet, que les e-commerçants nous faisaient souvent part d’un gros problème de conversion dès lors qu’ils basculaient vers des solutions de paiement sécurisé. Il nous a fallu un certain temps  (presque deux heures de débat) avant que ce signal ne se fraie un chemin parmi les méandres entrelacées de nos cerveaux. Nous avons alors pris conscience qu’il y avait un vrai problème du côté des e-commerçants et que les banques ne répondaient que très mollement à cette préoccupation. C’est donc ainsi que m’est réellement venue l’idée d’IzeePay.

Ce qu’il y a à retenir, c’est que sérendipité nécessite une méthode. Vous devez explorer le monde en étant disposé à vous ouvrir aux gens, aller vers eux pour les écouter, pas pour les convaincre ni pour vous convaincre vous même. Bref, il faut savoir laisser ses a priori au vestiaire et n’être là que pour écouter et comprendre. Cela rejoint le premier chapitre sur l’état d’esprit, mais il s’agit ici d’appliquer une méthode de travail et d’y travailler par session car vous ne pouvez pas être en permanence en mode exploratoire.

N’oubliez pas

Maintenant que vous êtes armé pour partir à la conquête de nouvelles idées, n’oubliez pas qu’une idée ne se suffit pas à elle seule. La réalisation est bien plus importante que l’idée. Ne vous laissez pas bercer par l’esthétisme de votre idée, confrontez-la au monde réel ou c’est le monde réel qui se confrontera à vous :p

https://hadf.wordpress.com/2015/07/26/jai-une-idee/

J’ai une idée !!

En raison de problèmes réglementaires, il est fort probable que je serai amené à pivoter. Étant donné que je n’ai d’autre choix que d’attendre lundi l’ouverture de la Banque de France pour obtenir confirmation,  j’ai réfléchi tout le weekend au pivot que je vais très certainement  devoir faire.

Comme je ne manque pas de ressource 😉 j’ai rapidement trouvé une idée nouvelle. Je suis assez prolifique en la matière, aussi je ferai prochainement un billet pour expliquer comment me viennent toutes ces idées afin de faire profiter tout le monde de mon inspiration. Mais le sujet du présent billet porte plutôt sur l’importance qu’on accorde trop souvent à ses idées dans la phase de création d’une startup.

Je profite d’être exactement dans la phase qui succède la venue d’une idée. À partir de ce moment, pour m’assurer que mon idée est viable, j’ai commencé par réfléchir à la mise en oeuvre en identifiant les aspects les plus problématiques. C’est là que se situe le danger. À trop penser à des aspects techniques, piège dans lequel tombent facilement les développeurs comme moi, on s’écarte de la vraie question que doit se poser un entrepreneur en phase de création : y a-t-il un marché pour mon produit/service ?

Lorsqu’on part de l’idée et qu’on y consacre du temps, de l’énergie ou de l’argent pour la concevoir et lui donner corps, on peut être prêt à tout pour se convaincre que cette idée est bonne. On est quelques fois prêt à nier la réalité, la déformer ou n’en retenir que ce qui nous conforte. On fini par y croire parce qu’on veut y croire.

Si vous êtes en train de créer votre startup, ne vous croyez pas à l’abri de cet aveuglement. Ce système de croyance s’installe inconsciemment. Vous finissez par développer un rapport affectif à votre idée, je l’ai déjà vu. Si vous n’avez pas de client et que vous ne connaissez rien de vos clients potentiels, il s’agit pourtant bien d’une croyance que rien ne vient étayer.

Lorsqu’on se trouve dans une situation où la question de la pertinence d’une idée se pose, et que ce contexte est celui d’une création de startup, la bonne démarche est d’aborder le marché sans a priori, sans chercher à imposer une solution en particulier. La solution doit découler de la compréhension du marché. Il ne faut pas faire l’inverse, c’est-à-dire obtenir du marché la confirmation que son idée est la bonne.

Si on ne doit pas sonder le marché avec des a priori, il faut tout de même le faire avec une thématique. C’est à ce niveau que doit se placer votre idée. Votre idée doit fournir une orientation, pas un plan de route. Si vous n’avez pas encore identifié de besoin mais que vous avez déjà toute une série d’hypothèses à valider/invalider pour construire votre solution, vous mettez la charrue avant les boeufs. Vous aborderez le marché avec des questions fermées qui ne vous apporteront aucune compréhension mais qui serviront uniquement à conforter votre vision.

La raison profonde pour laquelle vous ne devez pas partir avec une idée trop concrète, c’est que vous devez avoir l’humilité de reconnaître que vous n’êtes pas un génie. Or seuls les génies ont des idées géniales. Cela ne veut pas dire que vous ne réussirez jamais. Cela veut dire que la vision que vous avez du marché est certainement fausse, ou du moins incomplète ou biaisée. Vous devrez donc adapter votre vision à la réalité et pour cela, vous devez avoir une compréhension de cette réalité. C’est en ouvrant vos écoutilles que vous découvrirez peut-être un besoin qui mérite une solution.

Allé on se lance !!

Je pense que l’erreur que commettent la majorité des personnes qui veulent se lancer dans l’entreprenariat est de croire qu’une idée géniale est indispensable et suffit à devenir millionaire. C’est une erreur parce qu’on est rarement, exceptionnellement, le premier à avoir une idée, et dans l’immense majorité des cas, notre idée n’est qu’une dérivation d’une autre idée déjà exploitée. Le différentiel avec la concurrence est généralement trop faible pour être un marqueur significatif de réussite. Et quand bien même notre idée serait suffisamment disruptive, je me souviens avoir lu quelque part qu’aucune idée n’est suffisamment géniale pour ne pas risquer d’échouer à cause d’une mauvaise exécution.

Nous avons là les deux pilliers sur lesquels reposent l’entreprenariat, l’idée et l’exécution.

Concernant l’idée, les entrepreneurs en devenir pensent souvent que l’idée est le point de départ du processus de création. Si c’est un passage obligé, ce n’est pas forcément la première étape. La volonté d’entreprendre est le point de départ. Toute démarche de création d’entreprise débute par la volonté d’entreprendre. L’absence d’idée ne doit pas réprimer ce désir.

Quant à l’exécution, elle est absolument centrale dans la réussite. Je n’ai pas encore une expérience suffisante en tant qu’entrepreneur pour le confirmer, mais cette certitude me vient des échecs passés. Ce n’est pas la première fois que je tente de créer ma boîte, et je n’ai encore jamais atteint le succès. S’il y a un point commun à tous mes échecs, il s’agit clairement de la mauvaise mise en oeuvre que j’y ai mis. Je n’ai compris que récemment qu’il ne suffit pas de réunir les conditions initiales mais qu’il faut entretenir en permanence l’énergie et la volonté de réussir.

Lorsque les gens ont le choix, ils choisissent généralement la passivité plutôt que l’action. Ils se trouvent toutes sortes de prétextes. Ils n’ont pas assez d’argent, ils n’ont pas d’idée, ils n’ont pas les qualités d’un chef d’entreprise, ils ne veulent pas sacrifier leur vie de famille, ils sont contre le capitalisme. En vérité, j’affirme que tous ces prétextes viennent cacher la raison réelle de leur passivité : la peur de l’échec. S’ils étaient assurés de la réussite, tous ces prétextes s’effaceraient face à l’enthousiasme. Mais voilà, entreprendre, c’est risquer d’échouer.

Ce qui est vrai pour les personnes qui se refusent de se lancer est vrai aussi pour les entrepreneurs qui hésitent dans leurs choix. Et c’est tout particulièrement vrai lorsqu’on entreprend seul. On est alors seul face à ses doutes. Je crois qu’une condition indispensable à la réussite est de dompter sa peur de l’échec et acquérir ainsi la capacité à prendre des décisions de manière objective et non subjective. Il ne faut pas évacuer le risque mais l’apréhender objectivement.

Les défis de l’IA

Les progrès de l’informatique permettent d’entrevoir des perspectives extraordinaires, peut-être même effrayantes. Le danger pour nos démocraties est qu’un pouvoir trop grand soit placé entre les mains d’individus ou d’institutions peu regardantes sur le respect des libertés. Pour bien comprendre quel est ce risque, essayons d’entrevoir quelles seront les possibilités qu’offrira l’informatique demain ou après-demain.

Le sujet d’étude de l’informatique est l’analyse de l’information. L’information est portée par les systèmes ordonnés. Un système simple et répétitif contient peu d’information, sa structure peut se décrire facilement. Dans le cas opposé, un système  aléatoire ayant une quantité infinie d’unités de structure ne contiendrait aucune information ou, ce qui revient au même, contiendrait une information infiniment complexe. Il faudrait un temps infini pour appréhender l’information contenue dans un tel système. Entre les deux, nous avons les systèmes ordonnés.

L’Univers est ordonné, le monde est ordonné. L’informatique traite des projections du monde, des projections ordonnées. Toute la difficulté de l’intelligence artificielle, car c’est bien de cela qu’on parle, et de rendre les machines capables d’extraire l’information des projections qui leur sont accessibles. Ces projections peuvent venir de capteurs ou de bases de données. En clair, il peut s’agir d’une information sensorielle ou mémorielle.

La distinction est importante, car le défi n’est pas le même selon le vecteur de projection, si je met de côté l’objectif commun d’en extraire l’information.

Dans le cas de l’information sensorielle, le défi est que les capteurs soient capables de percevoir les structures porteuses de cette information. Le penchant naturel est de se reposer sur les mêmes sens que l’homme. La vue, l’ouïe, le touché, l’odorat et le goût. Un autre réflexe d’informaticien est d’analyser les interactions de l’homme avec la machine au travers des interfaces que sont le clavier, la souris ou l’écran tactile.

Le rôle de la machine est de servir l’homme. Mais encore faut-il qu’elle soit capable de comprendre ses ordres. Mieux, qu’elle soit capable d’anticiper ses souhaits. Toute la difficulté pour la machine est de se faire une projection satisfaisante de l’expérience subjective de son utilisateur. C’est à cette condition que la machine pourra percevoir le processus intellectuel par lequel émergent ses idées. C’est là tout le défi de l’informatique sensorielle.

Dans le cas de l’informatique mémorielle, le défi est tout autre. Percevoir l’environnement ne suffit pas à le comprendre. En extraire l’information nécessite d’en garder la trace, seul moyen d’en percevoir les similitudes révélatrices de structures intelligibles. La similitude est porteuse de sens. Par similitude, il ne faut pas voir le caractère identique mais le caractère comparable.

L’informatique mémorielle consiste à comparer les données enregistrées par les différents modes de collecte (informatique sensorielle) et à en extraire les similitudes. Le véritable défi de l’informatique mémorielle est la sémantique, c’est-à-dire la similitude pertinente. Dans le big data, l’information perd une grande partie de sa pertinence et on parie sur la statistique pour en faire émerger du sens. L’approche n’est pas totalement dénuée d’intérêt quant à l’objectif recherché au vu des contraintes techniques, mais il n’est pas suffisant dans une optique d’intelligence artificielle. Avec la statistique, les machines ne sont rien d’autre que des singes savants.

Percevoir et conserver la sémantique de l’information est le Graal de l’intelligence artificielle. La principale difficulté technique est celle de la volumétrie. C’est aussi le garde fou qui nous protège pour l’instant des fantasmes Orwelliens. Les solutions sur lesquelles reposent le big data ne seraient pas adaptés à une projection sémantique de la totalité des informations collectées par les agences gouvernementales. Elles n’auront d’autre choix que de faire des raccourcis statistiques. Pour l’instant.

Les machines ne doivent pas mentir

Le respect de la deuxième loi d’Asimov sous-entend l’obéissance à son maître. Il n’est pas question d’autoriser n’importe qui à donner des ordres à une machine, en particulier lorsque celle-ci a des privilèges ou des capacités élevées. La reconnaissance de son maître par une machine pourrait se faire par biométrie. Une autre solution consisterait à maintenir une interface de programmation physique, c’est-à-dire un port informatique tel qu’on en voit souvent dans les films de science-fiction implanté derrière la nuque. Une question se pose, la machine doit-elle garantir elle-même l’intégrité de l’accès à son interface de programmation ? En clair, doit-elle se protéger ? La troisième loi d’Asimov tendrait à répondre que oui, mais un respect strict de la deuxième loi répond que non. La machine doit obéir, et c’est mon opinion. C’est le protocole de reconnaissance qui doit garantir la sécurité de l’accès, par exemple grâce à l’échange de clés privées.

J’ai commencé par la deuxième loi d’Asimov, car c’est la plus simple à mettre en oeuvre. Le niveau de compréhension des systèmes actuels, je pense par exemple à Watson ou Siri, sont loin d’égaler celui des grands mammifères. Or la première loi d’Asimov implique que la machine soit capable de reconnaître un homme, et de comprendre ce que signifie nuire. Mais avant tout, la machine doit être consciente de ses actes, car c’est à cette seule condition qu’elle sera capable de se contrôler et de s’interdire certaines actions. Une forme rudimentaire de conscience se retrouve dans la programmation orientée aspect. Dans ce mode de programmation, un système secondaire est à l’écoute du système principal, et lorsque ce dernier émet à un évènement surveillé par le système secondaire, celui-ci opère en retour. C’est une forme primitive de conscience, mais qui n’a pas de capacité d’action sur le système principal. Le système principal doit exposer une interface d’écoute par lequel le système de contrôle doit pouvoir émettre des ordres.

Pourquoi ne pas intégrer le système de contrôle au sein du système principal ? Parce que la conscience ne suffit pas. Une machine intelligente est capable de s’adapter à son environnement, et pour cela acquière de l’expérience. Son système cognitif évolue en permanence dans sa manière de penser et d’agir. En conséquent, il est indispensable que le système de contrôle de la première loi d’Asimov prenne en compte ces évolutions. Il doit les prendre en compte dans la compréhension de ce qu’est un homme et en quoi ses actes ont un potentiel de nuisance. Une exemple est donné par le film I Robot où un système informatique, par une logique dévoyée, en arrive à penser que le bien de l’humanité passe par son asservissement. C’est ce genre de raisonnement que le système de contrôle doit être capable d’alerter sur sa dérive des principes premiers.

Il est envisageable que le système de contrôle évolue de manière totalement autonome. Mais aucun système ne peut prédire à l’avance toutes les solutions d’un problème lorsque ce problème n’est pas déterministe. Donc aucun système de contrôle autonome ne peut garantir une sûreté totale. En conséquent, nul autre que l’homme n’est mieux placé que lui-même pour juger de ce qui peut lui nuire.

Une évolution vers laquelle tendra un jour l’informatique est l’abstraction. Une machine intelligente peut agir selon son propre jugement. L’abstraction est la capacité de la machine à agir sur tous ses modes d’action. Par exemple, un humain est capable de mentir car il est capable de modifier la pensée qui l’amène à la parole. Si une machine était douée d’une telle capacité, le problème se poserait du contrôle de la première loi d’Asimov. Comme nous l’avons vu, l’intervention humaine est indispensable. Mais encore faudrait-il que cette intervention se fasse en connaissance de cause.

J’énonce une quatrième loi : les machines ne doivent pas mentir, ni même pour respecter les trois lois d’Asimov.

kopipi

Tous les développeurs Java sont confrontés régulièrement au problème de la duplication de beans dans les architectures n-tiers. C’est un choix certes discutable mais que j’approuve personnellement de séparer les modèles des différentes couches logiques.

Pour répondre à cette problématique, la solution classique est d’écrire des translateurs chargés de convertir les données d’un modèle vers un autre. Il existe des frameworks permettant de se libérer de ce travail assez rébarbatif. Il y a le fameux BeanUtils d’Apache, mais cette classe utilitaire est trop simple pour pouvoir résoudre des translations non symétriques, par exemple convertir une String en Date. Le framework Dozer propose une solution plus puissante, mais pour être franc, je trouve ce framework très difficile à l’usage. Déporter la logique applicative, fut-elle aussi simple que la conversion d’un format vers un autre, dans un fichier de configuration est une mauvaise idée à mon goût.

Partant de ce constat de frustration face à ce problème récurrent dans le monde des applications de gestion, je me suis attelé à la création de kopipi, un petit framework simple et élégant à l’usage. Je me suis directement inspiré de la JSR 303 (Bean Validation). Cette JSR permet de valider des données en écrivant des validateurs atomiques et réutilisables, et en mappant les attributs à valider avec ces validateurs grâce à des annotations. Kopipi utilise exactement le même principe : écriture de translateurs atomiques et réutilisables, et mapping entre translateurs et attributs grâce aux annotations.

Grâce au caractère réutilisable des translateurs, le travail d’écriture est considérablement réduit, d’autant plus que kopipi offre un mode de translation par défaut qui convient parfaitement aux objets immutables tel que les String ou les Integer. Dans le cas des translations symétriques d’objets mutables, kopipi fourni un translateur par clonage qui requière simplement que les objets traduits soient cloneables. Tout cela est détaillé dans la documentation technique.

A venir : possibilité d’écrire des translateurs lorsque les types source et cible sont identiques, injection de dépendance pour pouvoir appeler la couche service dans un translateur, etc…

Je vous invite à me faire part de toutes vos remarques et suggestions en souhaitant que kopipi participe à la réussite de vos projets de développement.

Site de rencontre

Je travaille depuis quelques mois sur un projet de site de rencontre, et voilà enfin le travail terminé.

www.flechedecupidon.fr

Mon site est assez simple, il ne propose pas de fonction avancée tel que tchat ou webcam. Un simple site pour célibataires souhaitant faire connaissance en s’échangeant des messages.

Le site est gratuit pour les femmes. Les hommes ont la possibilité de consulter les profils en page d’accueil, mais pour envoyer un message ou faire une recherche, ils doivent souscrire à l’offre Premium. De manière assez classique, je propose trois formules d’abonnement avec tarif dégressif.

Il y a beaucoup de sites de rencontre, mais il y a aussi beaucoup de célibataires à la recherche de l’amour. Je fais d’ailleurs partie de ces hommes esseulés. Cela peut paraître paradoxale d’être célibataire et de faire un site de rencontre, mais j’ai mené ce projet dans un esprit parfaitement professionnel.

Je ne compte pas faire fortune avec ce site. Je l’ai fais surtout pour découvrir le côté grisant de la création d’entreprise. Cela fait des nombreuses années que je veux franchir le pas, c’est maintenant chose faite, et je ne compte pas en rester là.

To be continued 😉

PS : Vous pouvez également suivre l’actualité de FlecheDeCupidon sur le compte Twitter : https://twitter.com/fdc_fr