haclong
07/12/2016 10:20:00
Haclong projects
Il y a quelques temps, j'ai développé un solveur de sudoku. C'était un premier jet qui comporte quelques erreurs de misconceptions. Comme ça m'empêchait de dormir en rond, j'ai finalement décidé de le refaire. Mais l'affaire ne s'arrête pas là...
haclong
09/06/2015 22:27:00
Développement
Crédit : Morguefile.com
To check out a tab, we only need one field in a form. If the amount paid is less than the invoice, it is impossible to checkout the tab. If the amount paid is more than the invoice, we count the difference as a tip.
haclong
09/06/2015 18:23:00
Développement
Crédit : Morguefile.com
Pour encaisser la note, il n'y a qu'un seul élément de saisie de formulaire (input text). Si le paiement (donc le montant saisi) est inférieur, la note n'est pas soldée, on refuse de clore la note. Si le paiement est supérieur, on considère que la différence est le pourboire.
haclong
26/05/2015 22:08:00
Développement
Crédit : Morguefile.com
Service is running. Prepared food is served. Ordered drinks are served. As they are served, the application is counting the bill. Our clients are done. They want to close the tab... pay the bill.
haclong
26/05/2015 17:58:00
Développement
Crédit : Morguefile.com
Le service se fait. Les boissons commandées, les plats préparés sont servis les uns après les autres. Doucement, le total des éléments servis s'additionne. Maintenant, les clients souhaitent quitter la table... Et payer la note.
haclong
05/05/2015 22:05:00
Développement
Crédit : Morguefile.com
Now our staff can see in one look the list of drinks and food to be served, per table number. We have two different events. Let's listen to them.
haclong
05/05/2015 17:12:00
Développement
Crédit : Morguefile.com
Le staff peut à présent voir en un coup d'oeil la liste des boissons et des plats à servir, par table. On a vu ensemble que les plats servis et les boissons servies ne déclenchaient pas tout à fait le même événement. Voyons à quoi s'en tenir désormais dans nos observers.
haclong
28/04/2015 21:53:00
Développement
Crédit : Morguefile.com
Food is prepared, drinks are ordered... all they are waiting for is to be served. This is the waiters job. And we do have several waiters in the cofffeebar. So we need to assign the right todo list to the right waiter. We wouldn't assign a tab to a waiter who are not in charge of that table, right ?
haclong
28/04/2015 16:29:00
Développement
Crédit : Morguefile.com
Les boissons sont commandées, les plats sont préparés, il reste à les servir. C'est la tâche des serveurs. Cette fois-ci, l'équipe est composée de plusieurs serveurs. Il faut donc préparer une liste par serveur, toutes leurs tables confondues.
haclong
21/04/2015 21:44:00
Développement
Crédit : Morguefile.com
Now food is prepared and ready to serve... The 'foodPrepared' event has been triggered. But we know it well by now, nothing will ever happen if nobody is listening to this event. So now, let's add some listeners... ok, we (almost) know which listeners, but what about callbacks ?
haclong
21/04/2015 16:02:00
Développement
Crédit : Morguefile.com
Les plats sont préparés et prêts à servir. L'événement 'foodPrepared' a été déclenché. Voyons ce qu'il déclenche dans nos différents observers.
haclong
14/04/2015 21:26:00
Développement
Crédit : Morguefile.com
The chef knows what he has to do. The list of items to prepare are now displaying on screen. Once the chef has prepared an item, he needs to advise the staff that the item can now be served.
haclong
14/04/2015 15:32:00
Développement
Crédit : Morguefile.com
Maintenant que le chef accède à la liste des plats à préparer, il faut que le chef puisse marquer les plats qui ont été préparés et qui sont désormais prêts à servir.
haclong
07/04/2015 21:22:00
Développement
Crédit : Morguefile.com
In our previous chapters, food and drinks have been ordered. Though a drink can be served immediately, food has to be prepared before being served. It is the chef job to prepare food. Today, let's see how to display the chef todo list : what food he has to prepare.
haclong
07/04/2015 15:00:00
Développement
Crédit : Morguefile.com
Dans les articles précédents, les boissons et les plats ont été commandés. Une boisson peut être servie immédiatement mais un plat doit être adressé à la cuisine pour être préparé. Le plat pourra être servi uniquement lorsqu'il sera prêt. Dans l'article d'aujourd'hui, nous allons gérer la todo list du chef et afficher la liste des plats commandés.
haclong
26/03/2015 21:06:00
Développement
Crédit : Morguefile.com
When we place an order, two events are triggered. One event advising the drinks have been ordered and the second event advising the food has been ordered. Based on the initial workflow, the food and drinks do not follow the same process. Let's see how to differentiate each process.
haclong
26/03/2015 16:36:00
Développement
Crédit : Morguefile.com
Lorsqu'on place une commande, deux événements sont déclenchés. Un premier événement qui signale que les boissons sont commandées et un second événement qui signale que les plats sont commandés. Selon le workflow défini initialement, les plats et les boissons ne suivent pas le même traitement. L'article d'aujourd'hui mets en place - du moins pour le début - les deux traitements différents.
haclong
19/03/2015 20:52:00
Développement
Crédit : Morguefile.com
We have now created our place order form, with that nice repeat-my-fields feature in the previous chapter. In today's chapter, we will process the form, binding it to an object and, of course, triggering our events.
haclong
19/03/2015 16:04:00
Développement
Crédit : Morguefile.com
Le formulaire pour passer la commande est créé et fonctionne convenablement. Dans l'article d'aujourd'hui, nous verrons comment on va associer le formulaire avec un objet et de cet objet, comment on va réussir à déclencher nos événements.
haclong
04/03/2015 20:45:00
Développement
Crédit : Morguefile.com
In today chapters, we will see how we can manage the logic around the PlaceOrder command. Keep in mind we have only one form to order drinks and food. But we have two different workflows so we have to know, when the order is placed, which item is a drink and which one is a food and send the item in the correct workflow.
haclong
04/03/2015 15:05:00
Développement
Crédit : Morguefile.com
Dans l'article d'aujourd'hui, nous allons voir comment on articule la logique métier autour de l'opération de passer commande. Il faut garder à l'esprit qu'il n'y a qu'un seul écran pour passer commande, à la fois pour les plats comme pour les boissons. Or, nous avons deux workflows distincts pour les boissons et pour les plats. Il faut donc, des éléments commandés, distinguer les boissons des plats et les envoyer dans les bons éléments.
haclong
25/02/2015 20:43:00
Développement
Crédit : Morguefile.com
Our application is taking shape more and more. We have already built our main components and services. We have dumped unceremoniously the items from the cache. Now let's see if we can do better.
haclong
25/02/2015 14:41:00
Développement
Crédit : Morguefile.com
Notre application se structure de mieux en mieux. Nous avons nos principaux éléments et services désormais en place. Nous avons effectivement triché en affichant les éléments du cache de manière un peu... violente. Mettons maintenant les choses en forme pour un rendu plus sérieux.
haclong
05/02/2015 20:37:00
Développement
Crédit : Morguefile.com
We have triggered our very first event in our previous chapter : 'openTab'. Now, we will set a service to catch the events triggered and process the business rules to it.
haclong
05/02/2015 19:00:00
Développement
Crédit : Morguefile.com
Nous avons déclenché notre premier événement dans l'article précédent : 'openTab'. Maintenant, il va falloir mettre en place un service qui va intercepter les événements et qui va appliquer les règles métiers.
haclong
22/12/2014 19:33:00
Développement
Crédit : Morguefile.com
Though i feel it easier to do applications with procedural programmation, i know it exists other ways to build applications, based on event driven programmation. Even though PHP does not look like the right language to do event driven programmation, we will see how Zend Framework 2 framework will help us set components to wrap a nice event driven application for the web.
haclong
22/12/2014 16:39:00
Développement
Crédit : Morguefile.com
S’il me paraît plus aisé de faire des applications en programmation séquentielle, il existe en opposition à celle ci des applications basées sur une programmation événementielle. Même si PHP ne semble pas être un langage dans lequel on peut naturellement faire de la programmation événementielle, nous verrons en quoi le framework Zend Framework 2 a mis en place des composants pour nous aider à réaliser notre projet.