e-Construction : Mon cyber-journal perso

"L'intelligence c'est d'apprendre de ses erreurs, la sagesse c'est d'apprendre de celles des autres..."





Pour ma famille, petite et grande :) et pour tous mes amis :)







... et pour tous les musulmans du monde ... et de l'univers :)






...



C'est une très bonne initiative, je me suis déjà inscrit et je vous invite à faire de même. Le but cette année est d'attirer l'attention sur le problème de la PAUVRETE en publiant le 15 octobre un billet dans ce sens....allez-y, faite de bonnes choses, même minimale :)

C'est par là : blogactionday.org/fr

en flag Read it in english with google

En revoyant quelques archives, je suis tombé sur un article qui me fait toujours rire :)

C'est ancien, mais ça ne s'use pas....je vous laisse lire et rigoler :)

Lors d’une conférence donnée au ComDex en 1998, Bill Gates, pour conclure, osa une comparaison entre les industries informatique et automobile : "Si General Motors avait eu la même progression technologique que l’industrie informatique, nous conduirions aujourd’hui des autos coûtant 25 dollars et qui parcourraient 1000 miles avec un seul gallon d’essence."

Si cela impressionna l’assistance, la réaction de General Motors ne se fit pas attendre : Son PDG M.Welch en personne donna une conférence de presse où il énonça : "Si General Motors avait développé sa technologie comme Microsoft, les voitures que nous conduirions aujourd’hui auraient les propriétés suivantes :

  • Votre voiture aurait un accident sans raison compréhensible 2 fois par jour.
  • Chaque fois que les lignes blanches seraient repeintes, il faudrait racheter une nouvelle voiture.
  • Occasionnellement, une auto quitterait l’autoroute sans raison connue. Il faudrait simplement l’accepter, redémarrer l’auto et reprendre la route.
  • Parfois, lors de manœuvres particulières, comme par exemple prendre une courbe a gauche, l’auto ferait un simple tout droit puis refuserait de repartir. Pour cela, il faudrait procéder à un échange standard du moteur.
  • Les autos ne seraient livrées qu’avec un seul siège, car il faudrait choisir entre "Car95" et "CarNT". Chaque siège supplémentaire devrait être commandé à l’unité.
  • Macintosh développerait des voitures fonctionnant à l’énergie solaire, fiable, cinq fois plus rapides et deux fois plus légères. Mais elles ne pourraient emprunter que 5% des routes.
  • Les témoins d’huile, de température et de batterie seraient remplacés par un unique témoin "Défaillance Générale". Les sièges exigeraient que chaque passager ait la même taille et le même poids.
  • L’airbag demanderait "Êtes-vous sûr ?" avant de s’ouvrir. Occasionnellement la condamnation centralisée de la voiture se bloquerait. Vous ne pourriez alors la rouvrir qu’au moyen d’une astuce, comme par exemple simultanément tirer la poignée de porte, tourner la clé dans la serrure et d’une autre main attraper l’antenne radio.
  • General Motors vous forcerait à acheter avec chaque voiture un jeu de cartes routières Deluxe de la société Rand McNally (depuis peu filiale de GM), même lorsque vous ne souhaitez pas ou n’avez pas besoin de ces cartes. Au cas ou vous ne prendriez pas cette option, la voiture roulerait 50% moins vite (au mieux). A cause de cela, GM deviendrait une cible fréquente de procès.
  • A chaque fois que GM sortirait un nouveau modèle, chaque conducteur devrait réapprendre à conduire, car aucune des commandes ne fonctionnerait exactement comme dans les modèles précédents.
  • Enfin, il faudrait appuyer sur le bouton "Démarrer" pour stopper le moteur."


J'ai trouvé à travers ce post un article sur les 13 messages d'erreurs les plus drôles...et c'est vraiment drôle :).... et d'expérience, il ne faut pas trop se fier aux messages d'erreurs (s'il y en a déjà ! ) qu'on debug un problème....surtout les applications maison !

PS: j'ai appelé ce genre de post "Billet Flash" pour désigner des articles très courts sur des liens ou des astuces que je trouve durant ma veille techno...ça peut aider...et ça fait vivre le blog :)

Il y a quelques semaines, suite à l'agitation qui a entouré la découverte de la vulnérabilité de cache poisoning des serveur DNS, un ami m'a envoyé une capture réseau (fichier pcap) de la sortie Internet où il bosse afin que je jette un coup d'œil pour voir s'il y a d'éventuels trucs louches (tentatives d'attaques ou signes de compromission). La taille de la capture est de presque 120 Mo sur moins d'une heure...ça travail fort chez eux :)

Alors, je lance la capture avec wireshark, et après quelques secondes il s'arrête en me disant qu'il y a un paquet avec une taille anormale.
Laissons tomber les interfaces graphiques et voyons en noir et blanc :)

Voyons tout d'abord les informations sommaires de la trace en question :

$ capinfos trace.pcap capinfos: An error occurred after reading 77202 packets from "trace.pcap": File contains a record that's not valid. (pcap: File has 2870302190-byte packet, bigger than maximum of 65535)

Humm...un paquet de 2870302190 octets, plus de 2.5 Go !!! ça sent le fichier corrompu.

Alors, peut être que dans le monde magnifique d'Internet, il y a des petits outils qui nous réparent ce type de problème...allo... Google ? j'ai besoin d'aide :)
Malheureusement, pas grand chose pour les premières pages, uniquement des gens qui se plaignent (si parmi vous, quelqu'un a un petit lien, je suis preneur :)). Mais je trouve un lien sur un blog de mon top 3 de meilleurs blogs.
Même pas ici...Richard ne fait que constaté et apparemment ne cherche pas à aller plus loin...dommage.

Je fait quoi maintenant ? je laisse tomber ?
Ce n'est pas vraiment important...mais je ne peux pas m'empêcher d'essayer de voir de plus près si je ne peux pas tirer quelque chose de cette trace (la partie corrompue).

Tout d'abord, il faut isoler le bon du mauvais :)... se taper chaque fois, avec tshark ou tcpdump, presque 30s pour arriver aux paquets qui nous intéressent est une perte de temps. (si quelqu'un connait une option pour allez directement à un paquet donné ça m'évitera la gymnastique qui suit)

On prend la partie valide :

$ tshark -c 77201 -r trace.pcap -w trace_ok.pcap
On obtient une trace de 60289623 octets....il suffit maintenant de copier à partir du 60289624 ème octet en utilisant "dd" :

$ dd bs=60289623 skip=1 if=trace.pcap of=trace_fail.pcap
On a notre fichier trace à traiter, avec une taille de 62896232 octets
On remarquera en passant que les deux parties sont presque de la même taille.
Mais à ce niveau, on a un petit problème, voyons ce que donne tshark :

$ tshark -r trace_fail.pcap
tshark: The file "trace_fail.pcap" isn't a capture file in a format TShark understands.
Si c'était le premier message d'erreur ça serais normal...mais là c'est le format du fichier obtenu qui est en cause. D'accord, voyons la structure d'une trace pcap. le fichier pcap.h nous dit ça entre autres :

struct pcap_file_header {
bpf_u_int32 magic;
u_short version_major;
u_short version_minor;
bpf_int32 thiszone; /* gmt to local correction */
bpf_u_int32 sigfigs; /* accuracy of timestamps */
bpf_u_int32 snaplen; /* max length saved portion of each pkt */
bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
};
Il faudra alors ajouter le pcap_file_header, 24 octets au début du fichier (pas le temps de me casser la tête ... on utilisera ceux du fichier valide) :
Pour ça "xxd" est là :

$ xxd trace_fail.pcap | xxd -r -s 24 > trace_bad.pcap (ajouter le header, des 0)
$ echo '00: d4c3 b2a1 0200' | xxd -r - trace_bad.pcap (modifier le header)
Maintenant c'est reconnu comme trace pcap, mais on doit commencer à travailler les paquets pour qu'ils soient valides.
La structure de l'entête de chaque paquet est du genre :

/*
* Each packet in the dump file is prepended with this generic header.
* This gets around the problem of different headers for different
* packet interfaces.
*/
struct pcap_pkthdr {
struct timeval ts; /* time stamp */
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
};
On va utiliser la même valeur du "ts" que dans la trace valide et mettre une valeur commune pour "caplen" et "len".
on met pour tous les packets ts = "0400 0000 0000 0000 0000 ffff 0000 0100 0000 e203 8748 cf24 0800"

Patchons le premier paquet (le paquet 77202 de la trace initiale) :

$ echo '06: 0400 0000 0000 0000 0000 ffff 0000 0100 0000 e203 8748 cf24 0800' | xxd -r - trace_bad.pcap
C'est reconnu comme paquet, mais apparemment les champs sont bousillés aussi...modifiant ce qui parait sûr ou fort probable :

$ echo '38: 0800' | xxd -r - trace_bad.pcap (type de protocole : IP)
$ echo '3a: 4500' | xxd -r - trace_bad.pcap (version, longueur du header et service diff)
Et maintenant ?.... toujours des champs avec du n'importe quoi...je crois que c'est mort pour la récupération...c'est du vrai corrompu :)
j'ai renommé le fichier en trace_corrupt_to_resolv_one_day.pcap :)...un jour, avec de la corrélation, de la IA,...etc on trouvera une réponse peut-être :)


Et alors, pourquoi ce billet me diriez-vous ?!!
En fait c'était amusant et intéressant pour moi, et j'espère que quelques uns le trouveront aussi...sinon, je compte aussi utiliser mon blog comme aide-mémoire accessible de partout, d'ailleurs je vais commencer de poster des billets sur des outils que je test chaque fois pour mes besoins professionnels et personnels.

en flag Read it in english



C'est un billet qui consiste en une simple réorganisation du billet Etat des DNS Algériens....part II
Il me parait que j'ai "noyer" de nouvelles données, intéressantes je pense (surtout la contribution de tixxDZ dans la réécriture du script en perl). Alors, je leurs consacre un billet dédié tout en les laissant dans l'ancien billet....alors à vous les mises à jour (pour suivre il vaut avoir lu le billet cité au début)

J'ai failli déroger à une règle bien établie chez nous Algériens .... se comparer toujours à nos voisins :)

Alors, j'ai adapté les scripts pour les domaines marocains (ma) et tunisiens (tn)
Les résultats sont dans les archives maroc_dns.tgz et tunisie_dns.tgz

Un petit comparatif : (respectivement dz - ma - tn)

- Nombre de domaines / sous-domaines : 558 - 815 - 907
- Nombre de serveurs DNS autoritaires : 155 - 524 - 4
- Nombre de domaines gérés par le Registrar : 274 / 558 - 140 / 815 - 804 / 907
- Nombre de serveurs en version 9 : 69 / 155 - 243 / 524 - 2 / 4
- Nombre de serveurs en version 8 : 17 / 155 - 6 / 524 - 0 (les deux autres sous PowerDNS)
- Nombre de serveurs récursifs : 72 / 155 - 161 / 524 - 0
- Nombre de serveurs récursifs et vulnérables : 35 / 155 - 61 / 524 - 0

Vous remarquez qu'on est globalement les "moins bons" :)
Une chose intéressante ou étonnante est le quasi monopole du service DNS en Tunisie par l'Agence Tunisienne d'Internet !!!!!


je voudrais ajouter aussi la contribution excellente de tixxDZ, qui a porté et optimiser mon script shell en script perl appelé dnschk . Il y a plein d'améliorations ...mais on reste ouverts à toute nouvelle suggestion :)
Merci encore tixxDZ (il contribue avec pertinence dans forumdz)

en flag Read it in english



En suivant et observant des débats sur forumdz, j'ai vérifié encore une fois l'exactitude d'un constat fait par certains amis :
"il y a deux domaines ou sujets où la majorité (tous ?) des algériens se considèrent, ou du moins agissent comme, experts : la religion et la politique".

Qui n'a pas assisté, sans le vouloir vraiment mais tout simplement en buvant un thé dans un café populaire, à une critique (pas analyse) de la politique nationale tous domaines confondus (santé, éducation, sport, affaires étrangères...) ? et quelques fois, même les questions internationales sont traitées :)
Cerise sur le gâteau, dans la plupart des cas, on donne même "les recettes magiques" qui nous sortiront de la crise multidimensionnelle qu'on vit actuellement....les "politilogues" ne manquent pas apparemment :)

Sur la même table du même café, on aura certainement droit à un débat sur des questions religieuses, de préférence en FIQH (jurisprudence islamique : فقه), où de grands savants (OULAMA) hésiteraient à donner une réponse aussi promptement !

Bien sûr, dans toutes ces discussions, TOUT LE MONDE A RAISON .... avez-vous déjà croisé un algérien qui admet s'être trompé ?! :)

Et pour les autres domaines, qu'en pensent les algériens ? pensez à une nouvelle théorie mathématique ou à une découverte en physique par exemple :)
Là, TOUS LE MONDE SE TAIT.... on respecte la spécialisation ben quoi... à chacun son domaine :)

Si je revient à forumdz (que j'apprécie toujours et j'y resterais inchallah), les modérateurs ont limité les contributions dans la section "religion" après quelques dérapages apparemment. Personnellement, je ne suit pas cette rubrique, non que je ne m'intéresse pas à la religion (au contraire), mais tout simplement que, primo, je sais qu'il n'y a pas de spécialistes, alors je ne vais rien apprendre, et secondo, tellement notre société est politisée à fond, les débats vont certainement déraper vers des chamailleries entre "courants politiques"
Moi je propose qu'on supprime carrément cette rubrique "religion", en attendant une maturité, malheureusement, encore absente !

en flag Read it in english



Alors, enfin j'ai eu un peu de temps pour mener la deuxième partie concernant l'état de DNS gérant les domaines en "dz".
Dès à present, je dirais que les résultats ne sont pas très précis. Je n'ai pas traité les cas où il y a des "erreurs" : non résolution du nom DNS, time out et autres. D'après ce que j'ai pu constater, c'est des erreurs dans les fichiers de configuration des serveurs DNS en question (le named.conf)...ces erreurs sont intéressantes dans le sens où elles renseignent sur l'état de certains domaines :)
En plus, mon script est très élémentaire et fait un peu à la va vite, et il risque d'avoir des erreurs...alors n'hésitez pas svp à me signaler ce que j'ai raté :) (sur le blog ou par mail : salahnadir à gmail).
Quand à l'optimisation de ce script, je n'ai pas vraiment fait de grands éfforts, l'important pour moi était d'avoir des résultats exploitables. Si quelqu'un aussi veut bien apporter des améliorations, c'est avec grand plaisir. Le script est libre d'utilisation et de modification :)


Commençons le travail :
(vous pouvez ne pas lire ce qui suit et lire le script directement téléchargeable en bas, c'est assez compréhensible )

1- D'abord on fait une recherche sur Google sur tous les sites en "dz"
(google apparement n'aime pas ce type de recherche automatique !!)


Url_Base="http://www.google.com/search?num=100&hl=fr&lr=&q=site:dz&sa=N&start="
Url_Add=0
Stop=false

while ! $Stop
do
Url=$Url_Base$Url_Add
wget -E -O result_dz_$Url_Add -U "Mozilla/5.0" -q $Url
if grep "Suivant" result_dz_$Url_Add >/dev/null
then
Url_Add=$((Url_Add + 100))
echo "on continue à "$Url_Add
else
Stop=true
fi
done
On récupère les résultats dans les fichiers result_dz_0, 100, 200.....

2- On appel le script "parse_result" (que j'ai adapté d'un script trouvé sur Internet) pour la récupération des addresses des sites contenues entre le "http://" et le ".dz"
On supprime les résultats contenant google, youtube et les liens cache.
On supprime aussi ce qui est avant le premier point (www ou autre)
Enfin, on met les résultats triés dans le fichier "list_Domaines" après suppression des doublons. (ça contient les domaines et sous domaines)


./parse_result result_dz* egrep -v "(googleyoutube"q=cache")" cut -d . -f 2- sort -u > list_Domaines
NbDomaines=`cat list_Domaines wc -l`
3- On récupére les serveurs DNS autoritaires pour chaque domaine trouvé, en supprimant les lignes non valides : "no NS record", NXDOMAIN, alias.....c'est là qu'on voit quelques problèmes de config.

i=1
while read line
do
host -t ns $line.dz >> list_DNS_Srv_brut
echo -n "$i / $NbDomaines...\r"
i=$((i+1))
done <> list_DNS_Srv
NbSrvDNS=`cat list_DNS_Srv wc -l`

De ces serveurs, il y a certains situés hors Algérie :

echo "---> on a $NbSrvDNS serveurs DNS......dont `cat list_DNS_Srv grep -v dz wc -l` apparement hors Algérie (pas d'extension dz)"

Quel est le nombre de domaines gerés par le Cerist :-) ?

echo "---> presque `grep "decst.cerist.dz" list_DNS_Srv_brut wc -l` / $NbDomaines sous la responsabilité des serveurs DNS du Cerist"
4- Maintenant, c'est la récupération des versions des serveurs DNS trouvés, et là on voit aussi quelques messages d'erreurs intéressants :)


i=1
while read line
do
echo `dig +short @$line txt chaos version.bind cut -d \" -f 2` >> list_Version
fpdns $line grep -i windows >> list_Ver_Win
echo -n "$i / $NbSrvDNS...\r"
i=$((i+1))
done <> list_DNS_Srv


Les numéros de versions sont dans le fichiers list_Version, et les serveur sous Windows (d'apès fpdns) sont dans list_Ver_Win

et les petits malins :)

echo "---> il y a `cat list_Version egrep -v "(out98)" wc -l` malins qui cachent le numéro de version...fpdns peut les faire parler :-)"
Apès, ça donne la répartition des versions entre la 8 et la 9 :

echo "---> `cat list_Version grep 9 wc -l`/$NbSrvDNS serveurs sont en version 9 ... et `cat list_Version grep 8 wc -l`/$NbSrvDNS en version 8"
5- Vérification de la récursivité des serveurs DNS trouvés, on faisant des requêtes sur un site de test...deux fois parceque j'ai vu que quelques fois la première réponse diffère de la première !!

SiteDeTest="www.cnn.com"
i=1
while read line
do
dig @$line +nocmd +nostats +noquestion +noanswer +noadditional +noauthoritY $SiteDeTest grep ra >/dev/null
if dig @$line +nocmd +nostats +noquestion +noanswer +noadditional +noauthoritY $SiteDeTest grep ra >> list_recursion
then dig +short @$line porttest.dns-oarc.net TXT grep is >> list_vuln
fi
echo -n "$i / $NbSrvDNS...\r"
i=$((i+1))
done <> list_DNS_Srv
Les serveurs récursifs sont dans list_recursion, et ceux d'entre eux vulnérable au cache poisoning (Kaminsky) sont dans list_vuln.

PS : dans le code qui précède, à chaque <> c'est en fait un <....dans le script c'est ok, mais blogger me fait chier avec un message d'erreur..et je m'en fout :) C'est tout...voici le resumé des résultats (nettoyé des messages d'erreurs) : ====================================================
DNS_DZ v1.0 : audit des serveurs DNS des domaines DZ
====================================================
récupération des résultats de recherche sur Google...

on continue à 100
on continue à 200
on continue à 300
on continue à 400
on continue à 500
on continue à 600
on continue à 700

récupération des domaines dz avec élimination des doublons ....

---> 558 domaines trouvés !

récupération des serveurs DNS autoritaires pour chaque domaine trouvé....

558 / 558...

on ne retient que les données (supprimer NXDOMAIN, connection timed out, no NS record, alias...

---> on a 155 serveurs DNS......dont 19 apparement hors Algérie (pas d'extension dz)

quel est le nombre de domaines gerés par le Cerist :-) ?

---> presque 274 / 558 sous la responsabilité des serveurs DNS du Cerist

récupération des Versions des serveurs DNS trouvés...regarder les erreurs, ça en dit beaucouq sur certains domaines :-)

---> il y a 46 malins qui cachent le numéro de version...fpdns peut les faire parler :-)

---> il y a aussi - si on croit fpdns - 0 serveur DNS Windows

---> 69/155 serveurs sont en version 9 ... et 17/155 en version 8

Test de récursivité des serveurs DNS trouvés et le cache poisoning...en utilisant le site de test www.cnn.com

---> on a 72 serveur récursifs et 35 d'entre eux vulnerables au cache poisoning !!!

Ces résultats sont biensûr en fonction du moment de l'execution du script (nombre de réponses google, serveurs up ou down, connexion réseau...)

Le script ainsi que les différents fichiers obtenus sont par ici


UPDATE 1 --- 13 sep 2008

J'ai failli déroger à une règle bien établie chez nous Algériens...se comparer toujours à nos voisins :)

Alors, j'ai adapté les scripts pour les domaines marocains (ma) et tunisiens (tn)
Les résultats sont dans les archives maroc_dns.tgz et tunisie_dns.tgz

Un petit comparatif : (respectivement dz - ma - tn)

- Nombre de domaines / sous-domaines : 558 - 815 - 907
- Nombre de serveurs DNS autoritaires : 155 - 524 - 4
- Nombre de domaines gérés par le Registrar : 274 / 558 - 140 / 815 - 804 / 907
- Nombre de serveurs en version 9 : 69 / 155 - 243 / 524 - 2 / 4
- Nombre de serveurs en version 8 : 17 / 155 - 6 / 524 - 0 (les deux autres sous PowerDNS)
- Nombre de serveurs récursifs : 72 / 155 - 161 / 524 - 0
- Nombre de serveurs récursifs et vulnérables : 35 / 155 - 61 / 524 - 0

Vous remarquez qu'on est globalement les "moins bons" :)
Une chose interessante ou étonnante est le quasi monopole du service DNS en tunisie par l'Agence Tunisienne d'Internet !!!!!

UPDATE 2 -- 17 sep 2008

je voudrais ajouter ici la contribution excellente de tixxDZ, qui a porté et optimiser mon script shell en script perl appelé dnschk . Il y a plein d'améliorations ...mais on reste ouverts à toute nouvelle suggestion :)
Merci encore tixxDZ (il contribue avec pertinence dans forumdz)

en flag Read it in english



Après que ButterflyOfFire m'a cité dans son billet, dans la tradition blogday, consacré aux 5 blog Algériens qu'il recommande, j'ai décidé (à 01h du matin !! ) de faire un billet où je donne mes préférences en terme de blogs.

Ma liste de flux RSS est vraiment très longue...presque 150 blogs à suivre, ce qui se traduit généralement par 2 heures de lecture / jour. C'est là qu'intervient la première partie du titre de ce billet : « apprendre chaque jour ». Pour moi, c'est ça la magie d'Internet ... s'enrichir intellectuellement à chaque instant sans se déplacer ! Tout le monde, j'en suis sûr, a connu cette expérience : on bute sur un projet, on se casse la tête pour trouver la solution à un problème technique, même les moteurs de recherche restent muets .... et paf, un message dans une Mailing-list ou un billet dans un blog nous donne la réponse tant recherchée !!
Je ne vais pas lister tes mes blogs favoris, mais en revanche je vous donne les 3 premiers que je consulte quoiqu'il arrive, les commentaires inclus (une des première actions à faire le matin) :

1- le blog du SANS ISC : (Anglais)
Si on fait ou on veut faire de la sécurité, on ne peut pas l'éviter.
Il y a les alertes de sécurité, les analyses, les conseils, les astuces...presque tout :-)

2- le blog de Richard Bejtlich (alias taosecurity) : (Anglais)
Il vient de rejoindre depuis quelques mois la firme General Electric comme responsable de l'équipe de réponse aux incidents, sa spécialité justement.
De plus, et je l'estime pour ça, il maintien un équilibre parfait (difficile généralement) entre la vie professionnelle et les responsabilités familiales.

3- le blog de Cédric Blancher : (Français)
C'est « Monsieur sécurité Wifi » :-) ... et le responsable du département de recherche en sécurité informatique d'EADS France.
Ses analyses sont toujours excellentes et pertinentes, et n'ont d'égale que son franc-parler.

Maintenant, la deuxième partie du titre : « être utile ».
Je suis Algérien et tout ce qui touche à mon pays me concerne. Dans mon domaine (IT et sécurité), j'essaye modestement, autant que possible, d'apporter un plus, aussi insignifiant soit-il.
J'ai découvert la blogosphère Algérienne, par hasard il faut le dire, il y a presque 2 années en cherchant à faire marcher mon modem MT810 sous OpenBSD. En effectuant des recherches, je suis tombé sur le blog de Ostenx. C'était très intéressant ... malgré que mon « problème » (en fait un test) n'a pas trouvé de solution :-)
Après, c'est l'incontournable forumdz, un forum Algérien avec un rapport signal / bruit élevé !! ce n'était pas évident :-)
De ce forum, j'ai découvert quelques blogs que j'apprécie particulièrement :

1- le blog freefoxtv de ButterflyOfFire :
C'est très intéressant à lire. En plus, ses réponses sur forumdz sont toujours pertinentes avec un goût de « bienveillance » :-) .... je dis ça, parce que ce n'est pas le cas de tout le monde !
Si on ajoute, que, d'après lui, il n'est pas informaticien de formation, ça ne fait qu'augmenter son mérite.

2- le blog de ktalgerie :
C'est un fil continu de bonnes informations et de nouveautés .... être aussi dynamique que Karim n'est pas vraiment donné à tout le monde :-)

Il y a bien sûr d'autres blogs que je n'ai pas eu le temps de suivre suffisamment pour avoir une idée précise, mais la majorité regorgent d'excellent billets...même s'ils ne cadrent pas avec mes centres d'intérêt.
Je noterais au passage le blog bledmiki :-), j'y ai lu une excellente analyse du feuilleton google dz

Alors, à la fin, et en anticipant l'inévitable remarque « qui t'es toi pour juger les autres ? ».....je répondrais tout simplement « je suis personne...mai ici, c'est mon blog...je dis ce que je veux, quand je veux :-) »

Inscription à : Articles (Atom)