BaroqueW

BaroqueW

and his sidekick nikkitaa

BaroqueW RSS Feed
 
 
 
 

Archive for May, 2006

Script PHP pour supprimer des tables SQL

Souvent, les moteurs php comme Spip ou MediaWiki, DotClear, phpBB etc. créent bon nombre de tables dans votre base de données MySQL. Gentiment, ils vous proposent de toutes les préfixer par une chaîne de votre choix.
Malheureusement, quand vient le moment du nettoyage, je n’ai pas trouvé comment faire pour supprimer ces tables facilement. PHPMyAdmin est gentil, mais supprimer les tables une à une, ce n’est pas pratique.
Voilà donc un script PHP pour y remédier. Il affiche par défaut la liste de vos tables, et permet de supprimer celles commençant par une certaine chaîne de caractères. Une fois l’opération faite, il vous informe de ce qu’il vient de ce passer.

ATTENTION, CE SCRIPT NE DEMANDE PAS CONFIRMATION AVANT LA SUPPRESSION !!! Faites donc bien attention !

Modifications :

  • Code plus propre (balises fermées etc.) et certifié W3C
  • echo utilisant des ’’ pour gagner du temps par rapport aux “”
  • form nettoyés

Utilisation :

Ligne : $db = mysql_connect("localhost" , "username" , "password");
Remplacez localhost par le nom de machine qui héberge votre serveur MySQL (ou laissez localhost, le plus souvent), username par le nom d’utilisateur de votre base de données et password par le mot de passe associé.
Ligne : mysql_select_db("database", $db);
Remplacez database par le nom de votre base de données.

Archive : AutoDropSQL

Category: Articles en français, Tech >> Computer | Leave a comment

Adaptation de MeteoqueW en PHP

Voilà l’adaptation du script MeteoqueW originellement codé en TCL pour utilisation en script IRC pour bot Eggdrop. Il fonctionne sur le même principe, hormis le fait qu’il n’y a plus de réactions spécifiques sur certaines chaines (dtc mode), il n’y a plus de fonctions d’affichage pour le debug et il y a moins de paramétrages.

Il y a deux fichiers : affichemeteo.php qui fournit une “interface” au script MeteoqueW.php.

Ces deux fichiers n’ont pas vraiment de style propre pour l’affichage, il est donc bien (et facile) de les intégrer au style HTML/CSS de votre site. Si vous créez des styles juste pour MeteoqueW, n’hésitez pas à me les envoyer !

Mise à jour : meilleure indentation, plus de commentaires, compatibilité avec plus de serveurs/versions de PHP, gestion des villes avec des apostrophes dans le nom Problèmes connus : les villes des DOM-TOM ne sont pas encore prises en compte

Archive : MeteoqueW PHP

Category: Articles en français, Tech >> Computer | Leave a comment

Tagore’s poem

Here is my first guest: CissyNick delivering a Chinese/English translation of a poem by Tagore.

The furthest distance in the world

The furthest distance in the world
Is not between life and death
But when I stand in front of you
Yet you don’t know that i love you

The furthest distance in the world
Is not when i stand in front of you
Yet you can’t see my love
But when undoubtedly knowing the love from both
Yet can not be together

The furthest distance in the world
Is not being apart while being in love
But when painly can not resist the yearning
Yet prending you have never een in my heart

The furthest distance in world
Is not but using one’s different heart
To dig an uncrossable river
For the one who loves you

世界上最遥远的距离

世界上最遥远的距离
不是生与死
而是 我就站在你面前
你却不知道我爱你

世界上最遥远的距离
不是 我就站在你面前
你却不知道我爱你
而是 明明知道彼此相爱
却不能在一起

世界上最遥远的距离
不是 明明知道彼此相爱 却不能在一起
而是 明明无法抵挡这股思念
却还得故意装作丝毫没有把你放在心里

世界上最遥远的距离
不是 明明无法抵挡这股思念 却还得故意装作丝毫没有把你放在心里
而是 用自己冷漠的心对爱你的人
掘了一条无法跨越的沟渠

Category: Articles in English, Lecture | Leave a comment

Narada Brokering

Creative Commons License
Creative Commons License

Cette création est mise à disposition sous un contrat Creative Commons.

  1. Pair-à-pair et grillesAu cours des dernières années, on a assisté au développement de deux systèmes d’applications réparties : le système pair-à-pair et le système de type grille. Ces deux systèmes ont des avantages complémentaires.Les systèmes pair-à-pair ont une architecture très flexible reliant des pairs volontaires se trouvant à la bordure des réseaux. Les pairs sont alors reliés dans des réseaux correspondant plutôt à des réseaux ad hoc, c’est-à-dire tolérant aux déconnexions et aussi aux fautes. Ces systèmes sont davantage orientés vers le partage de fichiers et permettent aux pairs de rejoindre des groupes, émettre des requêtes, découvrir des ressources et signaler leurs intérêts particuliers pour certaines ressources.Les systèmes de grille sont eux davantage orientés vers le partage de temps de travail. Ces réseaux sont en général robustes car fixes. Ils passent donc plutôt bien à l’échelle. En outre ces réseaux sont généralement soumis à de fortes contraintes de sécurité puisqu’ils travaillent souvent pour de projets industriels et/ou sensibles. En revanche le modéle de grille, même s’il est tolérant aux fautes, s’appuie davantage sur une certaine stabilité du réseau, une absence de noeuds opportunistes (leechers) et plus généralement, on peut dire que dans ce modèle, la volonté des noeuds et leur singularité ne sont pas vraiment des éléments clé.
  2. Principe du NaradaBrokeringLa grande idée du NaradaBrokering va donc être de réunir les avantages de ces deux systèmes pour offrir aux utilisateurs un réseau de grande qualité. Pour intégrer le meilleur de ces deux modèles, le NaradaBrokering utilise des techniques tirées des objets distribués, des services web et, ce qui nous intéresse tout particuliérement ici, des intergiciels orientés message.L’architecture utilisée ici est une architecture de réseaux locaux de pairs organisés à grande échelle par un réseau coeur. Pour l’accès aux services on introduit alors des “brokers”. C’est sur cette partie du réseau que vont principalement être utilisés les intergiciels orientés message. Ces brokers sont envisagés comme étant le plus petit élément de ce réseau. Ils ont pour mission de traiter et router intelligemment les messages. Plus particulièrement, voici les points clés de leur rôle :
    • Ils doivent mettre en place un réseau qui puisse passer à l’échelle facilement, que l’on rajoute des noeuds ou des brokers.
    • Ils doivent fournir un routage intelligent, notamment répartir la charge et minimiser le trafic tout en étant réactif aux déconnexions de certains noeuds, aux pannes réseaux etc. Il faut aussi que le système sache s’affranchir des NAT, DHCP et autres pare-feu qui compliquent souvent la tâche aux applications orientées réseau.
    • Ils doivent fournir de la fiabilité lors des envois, ce qui n’est pas toujours le cas pour les systèmes de pair-à-pair.
    • Les brokers doivent tolérer les protocoles de pair-à-pair qui ont souvent déjà leurs propres méthodes d’accès aux services (requêtes, etc.).
    • Il faut également que ce réseau soit compatible avec le large panel de systèmes orientés messages déjà en place (des systèmes de type publish/suscribe tels que JMS et JXTA mais aussi MSMQ et MQSeries) ainsi qu’avec les différents protocoles réseau qui pourraient être utilisés en pair-à-pair (TCP/IP, UDP, RTP, RMI, XML/SOAP). La compatibilité désirée pousse aussi le réseau à devoir s’adapter à des communications asynchrones mais aussi synchrones. Enfin, le système du NaradaBrokering doit pouvoir être utilisé sur un grand nombre de plates-formes différentes (du noeud mobile à la station de travail fixe).
    • Enfin, ce réseau devra être sécurisé et pouvoir surveiller les performances du réseau, l’activité des différents noeuds afin de pouvoir maintenir un certain niveau de qualité de service dans le réseau.
  3. Topologie du réseau utiliséLe réseau lié au NaradaBrokering est considéré comme étant constitué de brokers coopérants les un avec les autres, que ceux-ci soient situés sur des machines qui sont aussi de simples clients ou non.Pour éviter d’avoir un réseau de brokers disparate et mal connecté, NaradaBrokering intégre un protocole de communication entre brokers chargé de gérer les liaisons entre brokers et de gérer l’ajout (ou le retrait) de brokers au réseau. L’organisation de ce réseau est faite de façon hiérarchique, chaque broker faisant partie d’un sous-ensemble, regroupé avec d’autres sous-ensembles en un autre ensemble, etc. Ces premiers sous-ensembles possédent des brokers fortement interconnectés avec les autres sous-ensembles afin de garantir une liaison même en cas de panne. On a ainsi de petits réseaux connectés les uns aux autres. Ceci fait que lorsqu’on augmente la taille du réseau, le trafic augment de façon logarithmique et non exponentielle comme dans le cas des réseaux mal organisés ou désorganisés.NaradaBrokering introduit d’ailleurs des Brokers Network Maps (BNM) permettant d’assurer le routage intelligent évoqué plus haut.La figure 1 montre un exemple de réseau utilisant NaradaBrokering. Les SC-i sont des exemples de sous-ensembles (super cluster) et SSC-A est un ensemble regroupant ces sous-ensembles (super-super-cluster). Chacun des SC-i a d’ailleurs des sous-sous-ensembles a regroupant plusieurs brokers et services auxquels sont connectés plusieurs clients. On voit également les échanges de message entre brokers et services ainsi que les messages entre brokers pour pouvoir constamment répondre au mieux attentes du client connecté au broker 12.
    Exemple de réseau NaradaBrokering
    Exemple de réseau NaradaBrokering
  4. Interaction avec JXTAJXTA est un projet Open Source dont le but est de proposer un ensemble de protocoles standards pour le modèle de communication pair-à-pair.Le NaradaBrokering supporte les interactions avec le pair-à-pair, en fixant deux contraintes principales :
    • Aucune modification n’est faite au niveau du noyau JXTA, et des protocoles associés. L’intégration se fera au niveau de la couche “rendez-vous”.
    • Du point de vue des pairs, aucun changement n’est visible en ce qui concerne les interactions qu’ils pourraient avoir.

    L’intégration de JXTA repose sur un modèle de proxy, ce dernier pouvant être vu comme une passerelle entre le système NaradaBrokering et JXTA, jouant en même temps le rôle d’un pair rendez-vous (sorte de super-pair), et un client NaradaBrokering.

    Du point de vue JXTA, NaradaBrokering peut être considéré comme un service, dont la découverte est automatique, grâce à l’intégration dans la couche rendez-vous.

    Du point de vue des pairs, l’interaction avec un proxy Narada-JXTA ou un pair rendez-vous est totalement invisible.

    Le modèle d’interaction gravite donc autour de la couche rendez-vous : celle-ci traite les interactions placées en queue. Dans le cas de requêtes de recherche/découverte, ou de communication au sein d’un groupe de pairs, les interactions seront traitées à la fois par les pairs de rendez-vous JXTA, et les proxies Narada-JXTA.

    Lors de son initialisation en tant que client Narada, chaque proxy se voit assigner un identifiant unique. Il souscrit ensuite à un sujet l’identifiant comme proxy Narada-JXTA, ce qui permet au système de connaître tous les différents proxies présents.

    D’autre part, en tant que pair rendez-vous, le proxy récupère certaines informations des interactions JXTA, telles que par exemple :

    • les annonces des groupes de pairs
    • les demandes d’intégration à ces groupes, et leurs réponses
    • les messages envoyés à un groupePuis un événement correspondant aux informations récupérées est créé, ciblant des sujets spécifiques, pour un routage plus efficace.
  5. Sécurité et développements possibles
    1. SécuritéEtant donné que les messages au sein d’un système NaradaBrokering peuvent traverser des noeuds plus ou moins sécurisés, il est nécessaire de mettre en place une infrastructure reposant sur des niveaux de sécurité pour les messages. La gestion de la sécurité dans NaradaBrokering a pour intention de garantir ou permettre :
      • l’authentification des utilisateurs
      • leur autorisation
      • la gestion de signatures digitales, et le partage de clés
      • l’intégrité des données
      • l’indépendance vis-à-vis du protocole de communication utilisé
    2. Développements possiblesAinsi, NaradaBrokering est une infrastructure reposant sur l’échange de messages, qui paraît appropriée aux Grilles pair-à-pair. Comme il existe de plus de nombreux matching engines, cela favorise les interactions possibles, et enrichit les mécanismes de découvertes. C’est notamment le cas avec un moteur supportant le XML.L’objectif est également à terme de supporter les bases de données Native XML (Xindice et eXist).Un travail en collaboration avec Gnutella est également en cours, dans le cadre d’une fédération de systèmes pair-à-pair, et de standardisation des mécanismes de recherche, requêtes, et réponses.
  6. Bibliographie
    1. le site officiel du projet
    2. Towards Enabling Peer-to-Peer Grids : Journal of Concurrency and Computation : Practice & Experience. ACM JavaGrande ISCOPE Special Issue.Volume 17, Issue 7-8 , Pages 1109 - 1131. Geoffrey Fox, Shrideep Pallickara and Xi Rao.
    3. NaradaBrokering : A Middleware Framework and Architecture for Enabling Durable Peer-to-Peer Grids. Proceedings of ACM/IFIP/USENIX International Middleware Conference Middleware-2003. pp 41-61. Shrideep Pallickara and Geoffrey Fox
    4. Support for Peer-to-Peer Interactions in Web Brokering Systems. ACM Ubiquity. Volume3 Issue 15. May 2002. Geoffrey Fox and Shrideep Pallickara
    5. NaradaBrokering : Towards P2P Grids. Talk given to Beihang University Multimedia Group, Beijing. Shrideep Pallickara.
    6. NaradaBrokering : A Middleware Framework and Architecture for Enabling Durable Peer-to-Peer Grids. ACM/IFIP/USENIX International Middleware Conference Middleware-2003. Shrideep Pallickara and Geoffrey Fox

Réalisé conjointement avec Thibault Devedeux. Article également disponible sur http://fr.wikipedia.org/wiki/NaradaBrokering

Présentation disponible sur Scribd en différents formats.

Category: Articles en français, Tech >> Computer | Leave a comment