Seb : et toi tu vas te le faire le vaccin contre la grippe ?
Charles : non
Seb : pourquoi ?
Charles : pour la même raison que je n'ai pas mis Norton sur mon pc
N'oubliez pas que mon blog est en évolution constante.
Je vous suggère donc de revenir régulièrement afin de profiter au maximum des trucs, astuces, trouvailles et des capsules d'humour .
Trouvé sur un chat public...
Ce que le service de support informatique ne vous dira jamais mais si on pouvait lire dans leur pensées...
Consignes du Service Informatique (ou de "doigts carres" dans leur jargon)...
1. Quand vous nous appelez pour déplacer votre ordinateur, rappelez-vous toujours de le recouvrir préalablement d’une demie tonne de cartes postales, de photos de bébés, d’animaux empaillés, de fleurs séchées, de trophées de fléchettes et de dessins d’enfants. On n’a pas de vie personnelle et on apprécie grandement de voir la votre exposée ainsi.
2. Quand une personne du service informatique vous dit qu’il arrive de suite, allez prendre un café. De cette façon, vous ne serez pas la quand on aura besoin de votre mot de passe. Ce n’est rien pour nous de retenir 300 mots de passe...
3. Quand vous avez un problème avec votre P.C. à la maison, déposez-le en vrac sur un siège au service informatique, sans surtout indiquer votre nom, votre numéro de téléphone et la description du problème. On adore les énigmes.
4. Quand un membre du personnel informatique vous dit qu’il arrive bientôt, prenez une voix blessante et dites : "Vous voulez dire combien de semaines, par bientôt ?" Ca nous motive.
5. Si l’imprimante n’imprime pas, recommencez l’impression au moins 20 fois. Les travaux d’impression tombent souvent dans des trous noirs.
6. Si l’imprimante n’imprime toujours pas au bout des 20 tentatives, envoyez l’impression à toutes les 68 imprimantes de l’entreprise. L’une d’elles doit marcher.
7. N’apprenez jamais la dénomination correcte pour quoi que ce soit de technique. On sait exactement à quoi vous vous référez par " mon bidule a foire " ou " mon pc plante ".
8. N’utilisez jamais l’aide en ligne pour répondre aux plus simples de vos questions. L’aide en ligne, c’est pour les lopettes.
9. Si le câble de votre souris n’arrête pas de renverser le cadre de la photo de votre chien, soulevez l’ordinateur et fourrez le câble en dessous. Ces câbles ont été conçus pour résister à la pression de 10 kg de matériel informatique.
10. Si la barre d’espacement de votre clavier ne marche plus, accusez la mise à jour du client de messagerie. Les claviers sont en fait très heureux avec une demie tonne de miettes de gâteaux dedans.
11. N’hésitez surtout pas à dire des choses comme "Je comprends rien à toutes ces conneries d’ordinateurs". Ca ne nous gène pas du tout d’entendre que notre domaine d’expertise professionnelle est une connerie.
12. Si vous avez besoin de changer le toner d’encre dans une imprimante, appelez le service informatique. Changer le toner est une tâche extrêmement complexe et les constructeurs recommandent qu’elle soit effectuée par un ingénieur professionnel avec une maîtrise en physique nucléaire.
13. Si votre ordinateur ne s’allume pas, venez vous plaindre à nous avant de vérifier s’il est correctement branché.
14. Quand vous recevez un film de 30 Mo, envoyez-le à tout le monde dans l’entreprise en pièce attachée. On a plein d’espace disque sur ce serveur de messagerie.
15. Quand vous tombez sur une personne du service informatique le samedi au supermarché, posez une question à propos d’ordinateur. On travaille aussi le week-end et les jours fériés.
MERCI....
Un constat toujours aussi surprenant !
Pour ceux et celles qui voudrait l'avoir sous forme de texte éditable pour le partager avec des amis, (donner le lien de mon blogue à la place hi hi hi)
le voici :
Sleon une édtue de l'Uvinertisé de Cmabrigde, l'odrre des ltteers dans un mtos n'a pas d'ipmrotncae,la suele coshe ipmrotnate est que la pmeirère et la drenèire soit à la bnnoe pclae. Le rsete peut êrte dans un dsérorde ttoal et vuos puoevz tujoruos lrie snas porlblème. C'est prace que le creaveu hmauin ne lit pas chuaqe ltetre elle-mmêe mias le mot comme un tuot.
L'indentation et le nommage de variable dans votre code ...
Il y a plusieurs écoles de pensée au niveau de la présentation visuel du code et du nommage des variable.
Un court billet de Jaguie sur le blogue «ChroGeek» est fort intéressant à ce propos, et je vous invite fortement à aller le lire si vous désirez avoir un éclairage fort pertinant de la chose.
Une citation pour vous mettre l'eau à la bouche :
« ... tout programmeur vous le dira: “une fonction c’est 5 min à taper et 20 min à déboguer“, ou autrement dit, on passe beaucoup plus de temps à lire son code qu’à le taper, il faut donc mieux l’adapter à la lecture.»
À lire ici -> http://feedproxy.google.com/~r/chrogeek/fjEG/~3/hEL8RaGOXTA/
Une façon informatique d'expliquer comment on fait les enfants en 2009...
Un beau matin, un gamin demande à son père:
- Les abeilles, les fleurs, les choux, la p'tite graine... Tout cela est bien dépassé. Soyons moderne, s'il-te-plaît papa !!.. Dis-moi, comment suis-je né ??
- Très bien mon fils !! Il fallait bien que l'on en parle un jour !!... Voici donc ce qu'il faut que tu saches: ....
- Papa et maman se sont 'copiés/collés' dans un Chat sur MSN. Papa a fixé un rendez-vous via E-mail à maman et ils se sont retrouvés dans les toilettes d'un Cybercafé. Après, maman a Fait quelques Downloads du Memory stick de papa. Lorsque papa fût prêt pour le téléchargement, nous avons découvert que nous n'avions pas mis de Firewall. Comme il était trop tard pour faire Delete, neuf mois plus tard, le p'tit virus apparaissait et bousillait tout !!.. Comprends-tu ??!!!
Les différents supports de stockage de la carte perforée jusqu'à aujourd'hui !
Une histoire illustrée (en anglais) des supports de stockages.
Très intéressant !
http://www.maximumpc.com/print/5346
For-Each en Java
| Boucle de type «for-each» | Boucle équivalent en «for» |
|---|---|
for (type var : arr) { | for (int i = 0; i < arr.length; i++) { |
for (type var : coll) { | for (Iterator<type> iter = coll.iterator(); iter.hasNext(); ) { |
Exemple
Voici 2 loop qui ont été réalisé à la fois à l'aide de la forme «foreach» et du «for» traditionnel.
double[] ar = {1.2, 3.0, 0.8};
int sum = 0;
for (double d : ar) { // d va chercher chacune des valeur de ar.
sum += d;
} La même loop utilisant le «for» traditionnel. Cela demande une variable d'itération supplémentaire.
double[] ar = {1.2, 3.0, 0.8};
int sum = 0;
for (int i = 0; i <>
Un tableau de comparaison entre les languages de programmation. Ultra pratique.
Vraiment cool !
Un tableau de comparaison entre les languages de programmation.
Je l'ai trouvé à cette adresse : http://www.jmdoudoux.fr/divers/syntheses%20langages.htm
Autres info sur l'auteur du tableau : http://www.jmdoudoux.fr/accueil.html
Le saviez vous ?...
Si on inscrit en C# ou en Java:
int AA = 11 ;Selon vous quel est le résultat de CC ?
int BB = 2 ;
double CC ;
CC = AA / BB ;
5.5 ?
Non !!!!
Le résultat de CC est 5 !
Pourquoi ?
Et bien croyez-le ou non, la division de deux variable entière (int) donnera toujours un entier...
Il arrondit, me dites vous ? Non... il tronque simplement la partie décimale. Comme un sauvage.
Un détail important à savoir lorsque l'on code et que l'on veut faire des opérations avec des entiers.
Mais comment fait-on pour avoir un résultat exact ?
2 solutions:
- Il faut que l'on change une des deux variables pour un double dès le départ... ou
- Il faut faire un «Cast» d'une des 2 variables dans l'opération
Ex en C#:Vous ne me croyez pas ?... Moi non plus je n'y croyais pas... mais essayez-le vous même !
int AA = 11 ;
int BB = 2 ;
double CC ;
CC = (double)AA / BB ;
Copier le contenu textuel d'une boîte d'alerte
On peut copier le contenu textuel d'une boîte d'alerte (Avertissement, erreurs, etc...) !
Utilisez le raccourcis clavier Ctrl+Insert
Vous pourrez ensuite faire un coller dans un éditeur de texte !
Le format produit est généralement le suivant :
TITLE: Le Titre
------------------------------
Message d' erreur principal
------------------------------
ADDITIONAL INFORMATION:
Le texte d'explication complémentaire
------------------------------
BUTTONS:
Le ou les boutons de la fenêtre.
------------------------------
Comment compiler un service web !
Bonjour !
Avant même de parler de créer votre fichier asmx vous devez considérer quelques notions importantes.
Vous ne pouvez pas rendre des «Property» de votre classe disponibles en webservices.
Vous devriez donc créer, pour chaque «Property» que vous auriez créé, 2 méthodes distinctes soit:
setQuelquechose(param) et getQuelqueChose() pour remplacer la «property».
Maisssssss, car il y a un mais !! Les méthodes setQuelqueChose(param) ne vous seront pas d'une grande utilité (à moins qu'il soit en mode asynchrone.. j'y reviendrai plus tard)
Vous allez devoir vous tourner vers getQuelqueChose(params,params,params,etc..)
Vous devez vous assurer que votre code vb soit fait de tel sorte que vos «functions» reçoivent à chaque fois vos paramètres pour pouvoir effectuer leurs travail.
Pourquoi ?
Souvenez-vous que le web service n'a pas de mémoire tout comme le reste en web (à moins qu'il soit en mode asynchrone.. j'y reviendrai plus tard)
Exemple: Vous voulez calculer des taxes...
Dans une classe standard, vous auriez tendance à créer les méthodes suivantes:
setMontant(Montant),
setTPS(tauxTPS),
setTVQ(tauxTVQ)
et ensuite les méthodes
getMontantTPS(),
getMontantTVQ()
et getTotalAvecTaxes() qui utiliserait les attributs assignés via les methodes set précédentes.
Le problème, c'est que comme le service web n'a pas de mémoire, au moment de lancer la méthode setTPS(tauxTPS), il ne se souvient déjà plus de valeur de l'attribut montant qui a été assigné par la méthode setMontant(Montant), parce que l'objet a cessé d'existé dès la fin de la méthode setMontant(Montant).
Au moment de lancer setTPS(tauxTPS) la valeur de montant s'est réinitialisée et donc le reste de vos calculs seront erronnées.
Donc, pour un service web, vous devez donc créer des méthodes qui recoivent tous les paramètres nécessaire à leurs exécutions respectives.
Dans notre exemples vous écririez donc les méthodes suivantes :
getMontantTPS(MontantDepart,TauxTPS),
getMontantTVQ(MontantDepart,TauxTPS,TauxTVQ) en y indiquant le taux de TPS puisque la valeur de la TVQ se calcule en tenant compte de la TPS
getMontantAvecTaxes(MontantDepart,TauxTPS,TauxTVQ)
Je vous entend penser .... je sais, il faudra entrer les infos plusieurs fois et ce n'est pas super efficace.... mais si vous voulez que ça fonctionne... il faut ce qu'il faut !!!
Passont maintenant à ce que l'on doit faire une fois votre classe vb bien montée:
1-Créer votre fichier asmx tel qu'illustré dans votre manuel:
a- (si vous êtes sous Visual Studio 2005) en ajoutant à votre fichier VB:
<%@ WebService Language="VB" Class="OutilsCarteCredit" %> avant votre code vb et en le renommant en changeant le .vb en .asmx
b- (si vous êtes sous Visual Studio 2008) créez un nouveau fichier asmx à l'aide de l'explorateur de fichier.
Il vous créera 2 fichiers:
1 au premier niveau de votre site (nomDuFichier.asmx) et un autre dans le dossier App_Code (nomDuFichier.vb)
Placez votre code dans le fichier .vb
Comme vous l'aurez remarqué, VS2008 aura mis les entêtes <@Webservice etc.... tout seul !
2- Ajoutez le code :
devant chacune de vos fonctions que vous voudrez rendre disponible via votre webService !!! Oui oui, Chacune de vos fonctions.
Une fois que votre fichier asmx est fait:
Uploadez votre site sur le net (dont le fichier asmx qui devrait se trouver au premier niveau du site si vous ne le déplacez pas).
SUR VISTA :
1-Dans l'invite de commande tapez:
cd C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
(ce qui vous placera dans le bon dossier pour utiliser l'application wsdl.exe)
Vous devriez voir à l'écran: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin>
2-Toujours dans l'invite de commande, tapez:
wsdl /language:vb http://www.votreSiteWeb.com/FichierDuServiceWeb.asmx
Cela produit un fichier FichierDuServiceWeb.vb dans le dossier C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
***Ce fichier contrairement à ce que vous pourriez le penser, contient uniquement des méthodes pour accéder à votre fichier asmx sur votre site web (à l'adresse : http://www.votreSiteWeb.com/FichierDuServiceWeb.asmx).
Il ne contient pas les méthodes completes. Juste la façon de les appeler.
Et puis tiens, soyez curieux et ouvrez le .... vous constaterez toutes les méthodes nécessaires.
Ce fichier est la base de votre proxy web.
Continuons !
3-Placez le fichier vb, ainsi produit, dans le même dossier que l'application vbc.exe qui se trouve dans le dossier C:\Windows\Microsoft.NET\Framework\v3.5:
Pour ce faire :
4-Retournez dans l'invite de commande et tapez:
cd C:\Windows\Microsoft.NET\Framework\v3.5
(ce qui vous placera dans le bon dossier pour utiliser l'application vbc.exe)
5-Toujours dans l'invite de commande, tapez:
vbc /t:library /out:FichierDuServiceWeb.dll /r:system.dll /r:system.web.dll /r:system.web.services.dll /r:system.xml.dll FichierDuServiceWeb.vb
(ce qui inclus les classes dll utiles dans le dll proxy)
Le fichier résultant est le fameux proxy du webservice !!!! Tadam !
6-Allez le chercher dans le dossier C:\Windows\Microsoft.NET\Framework\v3.5 et récupérez le fichier FichierDuServiceWeb.dll ainsi produit !
Maintenant, comment on s'en sert ?
Ce n'est pas si compliqué.
Assurez vous de ne pas déplacer vos fichiers .asmx et .vb qui vous ont servi à créer votre proxy, puisque ce sont ces fichier qu'il va utiliser.
Si vous voulez partager votre FAAAAAmeux code, vous n'aurez qu'à donner le fichier FichierDuServiceWeb.dll et la personne n'aura qu'à le placer dans son dossier bin de son site web.
Dès qu'il utilisera les méthodes du FichierDuServiceWeb.dll, il se branchera sur votre site (et ce sans que l'utilisateur s'en rende compte) pour utiliser le fichier FichierDuServiceWeb.asmx de votre site ! Magieeeeeeeeeeeeeeeeeeeeee !
Bon, une petite chose... ne placez pas le fichier FichierDuServiceWeb.dll dans VOTRE dossier bin sur votre site internet...
De un, ça n'aurait pas de sens, puisque vous pouvez utiliser le code directement, efficacement et localement.
mais surtout parce qu'il pourrait y avoir doublon de classe donc confusion lors de la compilation du site.
Si vous utilisez VS2008, il y aurait doublon de classe puisque vous avez le code original (FichierDuServiceWeb.vb) qui est accessible pour tout votre site web dans le dossier App_Data. Le site ne saurait quelle classe utiliser entre celles du proxy et l'original.
Si vous utilisez VS2005, et que vous utilisez le fichier .asmx directement dans une autre page, il y aurait doublon de classe puisque vous auriez le code original dans le asmx et le proxy dll. Le site ne saurait quelle classe utiliser entre celles du proxy et l'original.
Le mode asynchrone, le mode asynchroneeeeeeeeeeee.....
Ce mode, permet de faire en sorte que votre webservice semble avoir une mémoire. Il y a cependant certaines choses à considérer:
1- Il faut utiliser les méthodes créées dans le proxy se terminant par Async au lieu des méthode standards. Ex: utiliser getMontantTotalAsync() au lieu de getMontantTotal() qui ne retournerait pas une valeur significative si elle utilise des attributs assignés par d'autres méthodes.
2- Il faut que votre site web soit configuré en concéquence, ce qui dépasse présentement mon champ de connaissance...
En espérant que cela vous aura été utile, je vous souhaite bonne découverte !
Elyse
Outil pipette pour graphisme ou Web Desing
![]()
Petit outil pour déterminer la couleur d'un pixel particulier d'une image.
Outil indispensable pour les Web designer.
Disponible ici -> http://www.iconico.com/colorpic/
Outil gratuit génial !!!!
How to Shoot Yourself in the Foot in Any Programming Language
The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) sometimes makes it difficult to remember what language you’re currently using. This guide is offered as a public service to help programmers who find themselves in such dilemmas.
C
You shoot yourself in the foot.
C++
You accidentally create a dozen clones of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can’t tell which are bitwise copies and which are just pointing at others and saying, “That’s me, over there.”
JAVA
After importing java.awt.right.foot.* and java.awt.gun.right.hand.*, and writing the classes and methods of those classes needed, you’ve forgotten what the hell you’re doing.
Ruby
Your foot is ready to be shot in roughly five minutes, but you just can’t find anywhere to shoot it.
PHP
You shoot yourself in the foot with a gun made with pieces from 300 other guns.
ASP.NET
Find a gun, it falls apart. Put it back together, it falls apart again. You try using the .GUN Framework, it falls apart. You stab yourself in the foot instead.
SQL
SELECT @ammo:=bullet FROM gun WHERE trigger = ‘PULLED’;
INSERT INTO leg (foot) VALUES (@ammo);
Perl
You shoot yourself in the foot, but nobody can understand how you did it. Six months later, neither can you. (via Andy)
Javascript
YOu’ve perfected a robust, rich user experience for shooting yourself in the foot. You then find that bullets are disabled on your gun.
CSS
You shoot your right foot with one hand, then switch hands to shoot your left foot but you realize that the gun has turned into a banana.
FORTRAN
You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue anyway because you have no exception-handling ability.
Modula2
After realizing that you can’t actually accomplish anything in this language, you shoot yourself in the head.
COBOL
Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place ARM.HAND.FINGER. on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN to HOLSTER. CHECK whether shoelace needs to be retied.
LISP
You shoot yourself in the appendage which holds the gun with which
you shoot yourself in the appendage which holds the gun with which
you shoot yourself in the appendage which holds the gun with which
you shoot yourself in the appendage which holds the gun with which
you shoot yourself in the appendage which holds ….
BASIC
Shoot yourself in the foot with a water pistol. On big systems, continue until entire lower body is waterlogged.
FORTH
Foot in yourself shoot.
APL
You shoot yourself in the foot, then spend all day figuring out how to do it in fewer characters.
Pascal
The compiler won’t let you shoot yourself in the foot.
SNOBOL
If you succeed, shoot yourself in the left foot.
If you fail, shoot yourself in the right foot.
Concurrent Euclid
You shoot yourself in somebody else’s foot.
HyperTalk
Put the first bullet of the gun into the foot of the left leg of you.
Answer the result.
Motif
You spend days writing a UIL description of your foot, the trajectory, the bullet, and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.
Unix
% ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm: .o: No such file or directory
% ls
%
Paradox
Not only can you shoot yourself in the foot, your users can too.
Revelation
You’ll be able to shoot yourself in the foot just as soon as you figure out what all these bullets are for.
Visual Basic
You’ll shoot yourself in the foot, but you’ll have so much fun doing it that you won’t care.
Prolog
You tell your program you want to be shot in the foot. The program figures out how to do it, but the syntax doesn’t allow it to explain.
Ada
After correctly packaging your foot, you attempt to concurrently load the gun, pull the trigger, scream and shoot yourself in the foot. When you try, however, you discover that your foot is of the wrong type.
Assembly
You try to shoot yourself in the foot only to discover you must first reinvent the gun, the bullet, and your foot. After that’s done, you pull the trigger, the gun beeps several times, then crashes.
370 JCL
You send your foot down to MIS with a 4000-page document explaining how you want it to be shot. Three years later, your foot comes back deep-fried.
Python
You try to shoot yourself in the foot but you just keep hitting the whitespace between your toes. (via Marco Azaro)
.Net
Microsoft shoots you in the foot.
Microsoft accidentally shoots you in foot. Promises service pack to reattach your foot sometime in the next year. 18 months later you get service pack that removes your colon along with the rest of your foot.
Java -
Build a well formed class with a well designed shootmyselfinthefoot method, start your program and hold your foot still for 40 minutes while your app loads.
For JAVA, I think it should have been:
You waste 2 hours trying to implement a generic foot shooting framework, solving classpath issues, profiling the bullet shooting algo (because at first the bullet is too slow and bounce off the foot), adding performance tweaks and reducing the memory usage (the gun is too heavy), adding try {shooting} catch(whatever could go wrong) to make sure you find out why it doesn’t work only to ‘finally’ figure out that you can risk moving your foot for an indefinite amount of time because the jvm is too slow to boot and shoot, and that the bullet pauses in mid air because of a garbage collection…
AJAX:
The gun makes an XMLHTTPRequest for the bullet which arrives some unspecified time later, killing a bird.
CSS:
You try to shoot your left foot, you miss 2 pixels. You try to shoot your right foot, you miss 1 pixel. Finally you try to shoot your head, you miss 10 pixels. Then you realize you’re using MS IE gun.
EJB
- Define a Foot interface
- Define a FootHome
- Define a FootImpl
- Define a Bullet interface
- Define a BulletHome
- Define a BulletImpl
- Define a Gun interface
- Define a GunHome
- Define a GunImpl
- Get the FootHome from the context
- Catch NamingException because you JNDI isn’t setup
- Get existing Foot from FootHome
- Fix error because you forgot to narrow the instance
- Create new Gun
- Be shocked that it actually worked successfully
- Create new Bullet instance
- gun.shoot(bullet, foot);
- Catch TransactionRolledBackException because your isolation level was incorrect
- rm -rf *.java *.class
Python:
gun.shoot(me.foot) works once you tell Python that you have a gun and a body, but you keep aiming at the whitespace between your toes because you never used any in Perl.
Hibernate / NHibernate
And in the last but not least For hibernate users
You create Entities for Gun, Bullet and Foot and then create there Gun.hbm.xml, Bullet.hbm.xm and Foot.hbm.xml Mapping Files . and then..
Foot foot =new Foot();
Gun gun =new Gun();
gun.Bullets.Add(10);
gun.Fire(foot);
When you run it, gun drops a bullet very slowly, and nothing happens to your foot ???
then you suddenly figure out in hibernate mapping (Lazy=’true’)
Convertion de C# à VB.Net ou Java - VB.Net - C#
Des pages web complètement barjo pour convertir du code C# , VB.net et Java
http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx
http://www.java2s.com/Code/ASP/Development/ConvertstringtodoubleVBnet.htm
Un mot : WOW
Merci à J-F Bélanger pour le partage de cette belle trouvaille !

