You are currently browsing the category archive for the 'informatique' category.
Si vous n’avez pas de Dreamweaver, ou si vous êtes entrain de rédiger votre page en utilisant un autre ordinateur.
Une solution simple qui permet d’éditer une page d’internet et de l’observer en ligne: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe
C’est juste un outils simple et afficace qui peut vous dépanner dans les cas nécessaires.
Link: http://www.embedded.com/211200982?cid=NL_embedded
The new draft standard for C++ offers a safe and convenient way to keep your enumeration types slim and trim.
Enumeration types offer elegant solutions to many programming problems. Unfortunately, they pose problems for developers who need to control the amount of storage that objects use. As it stands, neither C nor C++ offers a standard way to control the size of an enumeration type. This month, I look at the available alternatives for controlling the storage allocated for enumeration objects and explain how the solution proposed in the new draft standard for C++ is the best one yet.
A short while back, I explained that C++ treats enumeration types differently from the way C does.1 In C, each enumeration constant has type int and each enumeration type is compatible with type char, or some signed or unsigned integer type. In C++, each enumeration is a distinct type.
For compatibility with C, C++ permits implicit conversions from enumeration types to int, but not from integer types to enumeration types or from one enumeration type to another. The draft C++ standard provides an even more strongly typed enumeration. An enum class defined as:
enum class month { Jan, Feb, Mar, ..., Dec };
disallows implicit conversions from month to int.
The C++ Standard refers to the type used to represent a given enumeration as that enumeration’s underlying type.2 Currently, neither Standard C nor Standard C++ lets you specify the type you’d like to use to represent a particular enumeration. For example, all values for an enumeration type such as:
enum month { Jan, Feb, Mar, ..., Dec };
typedef enum month month;
can easily fit into a single char. However, there’s no standard way to force a compiler to represent the enumeration type month as only a byte. Some compilers offer command options or #pragma directives for this, but these are non-standard.
If you want to represent a month as a byte, you can write something like this:
enum month { Jan, Feb, Mar, ..., Dec };
typedef unsigned char month;
These declarations are valid in C and still let you treat type month just as you would if it were an enumeration type. For example:
month m;
for (m = Jan; m <= Dec; ++m)
...
compiles and runs whether month is a genuine enumeration or a typedef.
As I explained some years ago, C lets you declare a tag name (enum, struct, or union name) with the same spelling as a non-tag name (constant, function, object, or type name) in the same scope.3 In the case of:
enum month { Jan, Feb, Mar, ..., Dec };
typedef unsigned char month;
both the tag name enum month and the non-tag name month are type names, and they name different types. While sizeof(month) is guaranteed to be one, sizeof(enum month) could well be something larger. Using declarations such as these is probably asking for trouble–trouble you won’t get in C++. C++ won’t let you declare a non-tag name as a type if a tag name with the same spelling is already declared in the same scope.
The declarations will compile in both C and C++ if you omit the tag name month from the enumeration definition, as in:
enum { Jan, Feb, Mar, ..., Dec };
typedef unsigned char month;
This works reasonably well in C, but you have to be sure that the integer type you use in the typedef is big enough to hold all of your enumeration values.
Using enumerations defined in this style sacrifices type checking in C++. For example, if you declare enumerations day and month in the usual way:
enum day { Sun, Mon, Tue, ..., Sat };
enum month { Jan, Feb, Mar, ..., Dec };
then the assignment in:
day d;
month m;
...
m = d; // compile error
won’t compile. On the other hand, if you declare the types as:
typedef unsigned char day;
typedef unsigned char month;
then the assignment in:
day d;
month m;
...
m = d; // OK?
compiles without complaint. This isn’t good.
You also lose the ability to overload functions and operators for each enumeration type that’s actually a typedef. For example, when day is a true enumeration type, you can overload the << operator so that:
day d = Tue;
...
std::cout << d;
displays the text Tue rather the integer 2. You can’t do this when day is a typedef alias for some integer type.
Enum classes in the new draft standard for C++ offer a nice resolution to this conflict: you can explicitly specify the underlying type for each enum class. For example:
enum class month: unsigned char { Jan, Feb, Mar, ..., Dec };
specifies that objects of enumeration type month will be represented as unsigned char. The compiler will verify that the underlying type can represent each enumeration value and complain if it can’t.
As an enum class, type month is still distinct from all other types. You can’t convert a month into an unsigned char or an int or any other enumeration type unless you use a cast. You can overload functions and operators on type month. All of this is good, or at least it will be, once it becomes available.
The electronic edition of Software Tech Briefs, a special supplement to NASA Tech Briefs! (3 MB)
There are now two ways to experience the digital edition of Software Tech Briefs.
BUT: diffuser votre Webcam ou autres périphériques sur le réseau local ou Internet.
Moi, j’ai acheté une acquisition vidéo easyCAP avec Audio version 2.0 sur Internet. J’ai réussit à installer correctement tout ce qu’il faut pour regarder la télévision avec la bonne qualité (~ 50 fps; qualité VHS).
Maintenant, je veux diffuser ma source vidéo à un autre ordinateur connecté à mon réseau local.
Voici, un tuto de fbc – staff de Vossey.com :
La première chose à faire est de télécharger le codeur Windows Media :
http://www.microsoft.com/windows/windowsmedia/fr/9series/encoder/default.asp
Ensuite tu l’installes (jusque là, pas besoin de captures
).
Après l’installation, tu le lances (Démarrer >> Tous les programmes >> Windows Media >> Codeur Windows Media.
Une fois le logiciel lancé, clique sur l’icône Diffuser un évènement en direct :

et clique sur Ok. Ensuite, coche la case Vidéo et sélectionne le nom de ta Webcam ; tu peux aussi cocher la case Audio si tu veux diffuser le son en même temps) :

Si vous avec easyCap, choisissez Syntek 1160 pour Vidéo, et USB Audio pour Audio.
ensuite, clique sur Suivant. Sélectionne l’option Transmission de donnée de type pull à partir du codeur (le serveur ou le lecteur initie la connection) :

puis clique sur Suivant. Clique ensuite sur le bouton Rechercher un port disponible. Dans mon exemple, le codeur a choisi le port 1794, mais tu peux très bien en prendre un autre.

En face de URL pour connexion Internet, se trouve l’adresse que tu dois rentrer dans le Lecteur Windows Media si tu veux voir la webcam depuis l’extérieur du réseau (sur ma capture, l’adresse est fausse car je suis derrière un routeur ; si c’est aussi ton cas, il suffit de remplacer l’adresse Ip réseau par celle attribuée par ton Fai et de configurer ton routeur pour qu’il fasse une redirection du port sur le pc qui a la webcam).
En face de URL pour connexion LAN, tu peux voir l’adresse que tu devras rentrer dans le LWM.
Clique sur Suivant. L’étape suivante consiste à régler les options de compression du flux qui sera diffusé par le codeur. Choisis le taux que tu veux.
Clique sur Suivant. Coche la case Archiver une copie de la diffusion dans un fichier si tu veux enregistrer la vidéo sur ton disque dur (suivant les règlages que tu auras fait à l’étape d’avant et en fonction du temps que tu enregistreras, le fichier prendra plus ou moins de place).
Je te conseille de n’enregistrer que si tu as énormément de place libre 
Pour finir, il faut renseigner quelques infos sur le flux (facultatif). Une fois que c’est fait (ou non), clique sur Suivant.
Vérifie que les infos sont correctes, coche la case Commencer la diffusion lorsque je cliquerai sur Terminer et clique sur Terminer.
ça y est, la vidéo est diffusée 
Pour la lire, lance le lecteur Windows Media sur le PC 2 et clique sur Fichier >> ouvrir une URL…
Dans la fenêtre qui s’affiche, tape l’adresse pour les connexions LAN qui t’a été donnée par le codeur et clique sur Ok
Le lecteur lance ensuite la vidéo.
Normalement tout devrais marcher
!
Syntek 1160: Pour les configurations de la source vidéo diffusée, je choisis le mode diffuser à grande vitesse : 60 ifps et 750 kb/s
Si vous avez un décodeur ou une magnétoscope mais vous ne possédez pas une télévision et/ou vous préférez transformer votre PC en télévision. Voilà une solution.
Dans mon cas, je possède un décodeur Netbox. Comme j’arrive pas à capter le flux de mon décodeur depuis mon PC car j’utilise Neuf Télécom et routeur Fast 3302.J’ai acheté un adaptateur péritel avec S-vidéo à la Fnac et un “acquésition vidéo EasyCAP 2.0 avec Audio” à Ebay.
- Mettez l’adaptateur péritel avec S-vidéo en mode OUTPUT et connectez-le au décodeur.
- Mon décodeur est connecté au routeur Fast 3302 en 2è port pour décodeur en défault.
- Insérez le CD EasyCAP dans le lecteur CD, puis installez le Driver.
- Connectez l’adaptateur easyCAP au PC. La première fois, PC le reconnaît comme “USB Composite”. Utilisez le CD EasyCAP pour continuer à installer le driver. Et le PC reconnaît comme “Syntek 1160″. Là c’est bon, vous avez réussit d’installer les Drivers nécessaires.
- Reliez correctement les fils de l’adaptateur péritel avec l’adaptateur easyCAP.
- Ce n’est pas très utile d’installer Ulead SE DVD comme logiciel pour capter le flux. Moi, j’utilise K!TV et DSCaler.
- Choississez le mode Généric ou Syntek comme source de vidéo. Et voilà.
Problèmes rencontrés:
- le PC n’arrive pas à détecter le Driver pour l’adaptateur easyCAP en USB: brancher/débrancher le USB; changer de place pour l’USB. Assurez-vous que votre PC est bien installé au niveau “Controleur de bus USB”, et “Universal Serial Bus Controllers”.
- le PC capte de très peu fps moins de 10 fps au lieu de 50 fps: votre USB n’est pas mise à jour, ou il n’est pas en Hi-speed ou en USB 2.0. Essayez d’updater votre PC correctement. Sinon, je vous propose une autre solution: utilisez les HUBs USB en Hi-Speed ou en 2.0.
Autres applications:
Si votre réseau contient plusieurs de PC, vous pouvez diffuser votre Télévision partout dans votre réseau, même sur un autre PC connecté à l’Internet. Je vais expliquer dans une autre article pour ne pas confondre avec le sujet de cette article, ce lien est: http://gaubuali.wordpress.com/2008/08/29/how-to-diffuser-une-source-videowebcam-au-reseau-local-ou-internet/
De temps en temps, les Flash sont développés et sont ajoutés dans les sites Intenet. Chaque fois vous lancez les vidéos, les jeux d’animation écrites par Flash ou autres applications de Flash, votre ordinateur commence à surcharger au niveau de CPU, pas de RAM.
Après quelques recherches sur Internet, j’ai trouvé une solution qui permet de bloquer les Flash.
Il s’agit d’une extension de Firefox. Il suffit d’aller sur le site de des modules de Mozilla. Vous ajoutez : “Flashblock” (en anglais), et/ou “Flash Killer” (en français).
Attention: Pour terminer, vous devez redémarrer votre Firefox.
Written by gaubuali
Après la compilation sur Mplab, vous rencontrez ce petit message: “warning: no newline at end of file“, essayez d’ajouter ces lignes à la dernière ligne dans votre main(){}:
/***************************************************************************** * EOF *****************************************************************************/
Vous recompilez encore une fois et ce warning n’est plus là.
Une fois que ce message warning est disparu, vous pouvez effacer ces lignes au-dessus que vous venez d’ajouter.
