Prog C : les paramètres de scanf

Mémoire pour les paramètres de scanf
Comme je n’arrive jamais à me souvenir des options de conversion, et qu’elles sont en Anglais donc c’est plus long pour moi à décoder, les voici les voilà :
Paramètres scanf :

  1. %u est à déclarer comme
    unsigned int
  2. %hu est à déclarer comme
    unsigned short int
  3. %lu est à déclarer comme
    unsigned long int
  4. %d est à déclarer comme
    int
  5. %hd est à déclarer comme
    short int
  6. %ld est à déclarer comme
    long int

Exemple sscanf :
Déclaration de variables :
unsigned int u;
unsigned short int hu;
unsigned long int lu;
int d;
short int hd;
long int ld;

Exécution :
sscanf(ma_chaine_en_entree, "%u %hu %lu %d %hd %ld",
&u, &hu, &lu, &d, &hd, &ld);

Ma fille est trop intelligente !

Dans la voiture, elle est assise sur son siège bébé, donc elle ne peut théoriquement pas voir grand chose, ok ? Alors là il y a un mystère qui m’échappe complètement : en roulant nous sommes passés devant la maison de la soeur de Sandrine pour lui passer un coucou avec Inès et il n’y avait personne, mais ma petite a prononcé clairement « tatie », à plusieurs reprises. Je me suis dit que c’était certainement une coïncidence, mais le soir, en rentrant, j’ai fait un tour sur la place où je m’arrête habituellement pour acheter du pain et Inès a prononcé « mmmmh.. pain ! » ici aussi à plusieurs reprises. Je suis vraiment surpris, mais je ne comprends pas par contre, avec la vision qu’elle doit avoir de la route, comment elle arrive à distinguer les lieux. Impressionnant !

Javascript : une page xhtml 1.0 valide

Vous voulez inclure directement du code dans votre page xhtml 1.0 et pourtant le validateur râle tout le temps et vous dit que votre page n’est pas valide ?
Voici l’astuce : il faut mettre les tags spécifiant qu’il y a des données « qu’il ne faut pas interpréter », c’est à dire que même s’il y a des caractères interdits (signe supérieur, inférieur, point-virgule, etc) ils seront ignorés. Ces fameux tags sont : <![CDATA[ et ]]>
Bien évidemment, comme ils sont dans une section JavaScript, il faut mettre les commentaires juste avant, commentaires qui sont autorisés :
//. Ce qui donne au final :
<script type="text/javascript">
// <![CDATA[
...
le script proprement dit
...
// ]]>
</script>

Tous mes blogs sont laids !

Si vous n’avez pas Firefox, et que vous utilisez l’immonde Internet Explorer, qui ne respecte toujours pas après 10 années (ou plus) de travaux, des règles basiques d’affichage, la dernière version (n°7) en date y compris, mes blogs ne s’affichent pas correctement !
Regardez-moi ces affichages : ça me déprime :
Copies d'écran

Assurances : quelques informations

Une assurance fonctionne sur un principe simple : elle offre des produits. Ces produits sont composés de garanties. Jusqu’ici c’est simple. Maintenant, il peut y avoir deux types de produits :

  1. Les produits qui sont fixes, c’est à dire dont on définit précisément toutes les caractéristiques ; Ces produits sont souvent des produits crées par les grosses assurances, c’est pourquoi on ne peut pas les changer ;
  2. Les produits que l’assureur lui-même peut moduler, et dans lequel il peut ajouter ou enlever des garanties, et éventuellement y adjoindre des exclusions.

Une assurance emprunteur assure un emprunt d’un particulier, ou un emprunt professionnel. En effet, imaginez que vous vouliez faire un emprunt pour acheter une maison. Vous allez voir votre banquier, et vous montez le dossier de l’emprunt. Il ne vous reste plus qu’à trouver un assureur pour vous couvrir en cas de sinistre. La banque, vous vous en doutez, ne prête que si elle est sûre de pouvoir rentrer dans ses frais, et donc ne vous prêtera que si vous trouvez un assureur pour « assurer vos arrières ». Bien évidemment, le métier de l’assurance est rentable. C’est pourquoi les banquiers se sont rapprochés des assurances au début uniquement dans le but de faire des partenariats, et ont vu que c’était si rentable, qu’ils ont monté leur propre service d’assurance ! Assurance voiture, maison, vol, etc etc.
Revenons à notre emprunt. Vous arrivez chez un assureur, quel qu’il soit, et on vous propose un, ou des produits qui peuvent correspondre à votre emprunt. Petit rappel : tout produit, comme expliqué au début, est composé des garanties et -éventuellement- d’exclusions. Il faut donc complètement différencier le produit lui-même du type d’emprunt qui est fait à la banque. Dans notre cas, un assureur peut proposer des produits et chaque produit peut être spécifique à certains types d’emprunts, ou éventuellement couvrir toute la gamme des emprunts possible d’une banque.
Tout a tellement évolué qu’il est maintenant possible de s’assurer directement en ligne, sans perdre des heures entières à monter des dossiers, ce qui faisait d’autant plus râler lorsque l’on n’avait rien à déclarer de particulier et par conséquent le dossier ne nécéssitait aucune étude !
Certains assureurs, tels que pret-assur, ou encore ACARAT, fonctionnent selon un principe classique : on s’inscrit, on précise quel est le type d’emprunt que l’on veut faire, et par la suite, deux possibilités :

  • soit on n’a aucune particularité aggravante (pas de sport extrême, aucun problème de santé, pas de profession dangereuse etc) et dans ce cas aucune étude approfondie du dossier n’est nécéssaire ;
  • soit on demande de remplir, ou fournir des pièces et de les retourner à l’assureur en question, de manière à ce que ce dernier puisse étudier le dossier et donner son avis.

Lorsqu’un dossier qui nécéssite une étude est accepté, c’est souvent selon certaines conditions particulières.

Linux : le gestionnaire par défaut : kdm ou gdm ?

Comment choisir son gestionnaire par défaut : kdm ou gdm ?
Il faut être sûr(e) que les deux paquets sont installés :

  1. gdm
  2. kdm

Ensuite il suffit de faire :

  1. Pour forcer à démarrer en gdm (=Gnome Desktop Manager)
    sudo dpkg-reconfigure gdm
  2. Pour forcer à démarrer en kdm (=Kde Desktop Manager)
    sudo dpkg-reconfigure kdm

Authname : à quoi ça sert ?

Domaine d’autorisation à utiliser lors de l’authentification HTTP. Cette directive applique le domaine d’autorisation à utiliser pour un répertoire donné.

Le domaine d’autorisation est affiché au client pour qu’il sache quel identifiant et quel mot de passe envoyer. AuthName prend un seul argument.

Si le domaine contient des espaces il doit être entouré par des guillemets.

Pour fonctionner, il doit être obligatoirement accompagné par les directives AuthType et Require, et éventuellement d’autres directives telles que AuthUserFile et AuthGroupFile.

Par exemple:

AuthName "Top Secret"

La chaine donnée par AuthName est ce qui va apparaître dans la fenêtre demandant le mot de passe de la plupart des browsers Internet.

Attention !

Si jamais vous ne mettez pas d’espaces dans la directive AuthName, alors il ne faut pas mettre de guillemets.

Par exemple:

AuthName "Top Secret"

Et :

AuthName Secret

sont des exemples corrects.

Mais ceci ne fonctionnera pas :

AuthName "Secret"

… cela peut, comme cela me l’a fait, faire perdre des heures entières…

Qu'est-ce que le workflow ?

On appelle « WorkFlow » (traduisez littéralement « flux de travail ») la modélisation et la gestion informatique de l’ensemble des tâches à accomplir et des différents acteurs impliqué dans la réalisation d’un processus métier (aussi appelé processus opérationnel). Le terme de Workflow pourrait donc être traduit en français par Gestion électronique des processus métier. Un processus métier représente les interactions sous forme d’échange d’informations entre divers acteurs tels que :

  • des humains,
  • des applications ou services,
  • des processus tiers.

De façon pratique, un WorkFlow peut décrire :

  • le circuit de validation,
  • les tâches à accomplir entre les différents acteurs d’un processus,
  • les délais à respecter,
  • les modes de validation

Il fournit en outre, à chacun des acteurs, les informations nécessaires pour la réalisation de sa tâche.

Linux : ajouter quelqu'un dans les règles du firewall

Aller dans /etc/fw/iptables.sh et ajouter une règle iptables.
Par exemple :
Pour autoriser une nouvelle IP à se connecter en
SSH (donc sur le port 22/tcp) :
iptables -A INPUT -p tcp -i eth0 -s <ma_nouvelle_ip> --dport 22 -j ACCEPT
Puis relancer le firewall :
/etc/fw/iptables.sh
(le script flushe les règles et repart de zéro).
Attention : la moindre erreur dans ce script et le firewall se met en défaut, c’est à dire qu’il bloque tout.