Aller au contenu


Ces sites internet qui étaient ennemis d'Internet ...


31 réponses à ce sujet

#1 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 26 janvier 2012 - 10:26

Préambule :
Ceci fait suite à la news de Korben à propos de la création d'extensions Chrome à partir de bookmarklets (http://korben.info/c...ion-chrome.html) et de son idée lancée de créer un plugin WordPress ou extension Chrome listant l'ensemble des sites internet contres les libertés du web.

En gros, c'est quoi l'idée ?
L'idée c'est de créer une base de données qui contiendra les URL et noms des sites internet ennemis du web (pro-SOPA/PIPA/HADOPI/LOPPSI/... ou bien promoteurs de techniques de filtrages, d'atteintes aux libertés), mais peut être aussi de lister les sites amis du web (korben.info quoi ^^). Cette base de donnée sera ensuite exploitée par des plugins (WordPress / Joomla ?) et extensions pour navigateurs (Chrome / Firefox / Opera / Lynx (y'a autre chose qui existe ? :P)) + Bookmarklet pour les navigateurs non visés par les extensions. Ces plugins/extensions détecterons les URL des sites internet considérés comme ennemis du web et avertiront l'internaute qu'il va visiter un site qui nuit au web.

Point de vue technique
Y'a des gens qui se sont manifestés dans le flux de commentaire pour réaliser tout ça. Et voici l'ensemble du boulot qu'il va falloir abattre :
  • Définition de la base de données
  • Interface pour gérer cette base de données
  • Interface base de données / plugins+extensions
  • Plugins
  • Extensions
Internet Freedom Need You !
Il va falloir une petite équipe pour monter ça : développeurs PHP / Javascript, et des gens pour renseigner la base de données (compétence "Google" requise).



Les contraintes pour que ça parte pas en live
  • Le projet doit être Open Source (LGPL ?) : ça a une valeur symbolique déjà, mais c'est aussi et surtout pour la pérennité du projet. De plus, c'est un gage de "transparence". La base de données devrait également être placée sous licence libre (CC-BY ?) (cela permettra son usage dans d'autres projets par exemple).
  • Cette base de données doit être NEUTRE et OBJECTIVE : il ne s'agit pas de lister tout et n'importe quoi. On ne se lance pas dans une croisade. C'est une information, rien de plus. Il ne s'agit pas non plus d'une forme de boycott.
  • Toute personne pourra contribuer à la base de données : elle est communautaire, mais soumise à approbation (y'a qu'à voir les vandalismes sur Wikipédia pour comprendre). Lorsqu'un site sera rajouté à la liste, il faudra systématiquement que cela soit justifié (preuve à l'appui quoi). Il y aura un mécanisme permettant d'indiquer qu'un site ajouté à la liste l'a été par erreur (preuve à l'appui toujours / argumentaire).
  • Il ne faut pas que les plugins/extensions soient trop intrusifs : un internaute lambda en aura très vite ras-le-bol si à chaque fois qu'il va sur un site pro-hadopi son écran devient rouge, puis noir, puis qu'il y a un gros attention, puis une tête de mort, puis un son qui t’arrache les oreilles, puis que ça clignote, puis qu'un gnome unijambiste danse autour des 12 statuettes de Skeloss une nuit de pleine Lune ... Il faut que ça soit bien "intégré", que ça soit "ergonomique".
  • Lorsqu'un site sera affiché comme liberticide, il faudra indiquer à l'internaute pourquoi, quelles sont les conséquences.
Ceci ne doit servir, au final, qu'à informer l'internaute qu'il navigue sur un site qui prône potentiellement des valeurs liberticides. On ne doit pas l'empêcher d'y aller, mais il doit savoir à quoi s'attendre.


Bon, voila, qu'en pensez-vous ?



PS : Voici un petit diagramme de classe de comment j'imagine que la bdd doit être organisée ...
Fichier joint  Mainfree.jpg   26,67 Ko   11 Nombre de téléchargements 
En gros, un site ajouté à la base a une catégorie (avec "arborescence infinie"), et une liste de mots-clés ("tags") tels que : loppsi, hadopi, sopa, pipa, acta, ... De plus, pour chaque site, on a une liste de "preuves" qui indiquent que l'organisme détenant le site, ou le site lui-même, ont soutenu ces lois liberticides. Ces "preuves" peuvent être des liens vers des pages externes ou des fichiers (c'est une URL dans tout les cas). Un premier jet, sûrement à améliorer. (notamment pour gérer la modération et l'aspect communautaire)

Fichier(s) joint(s)



#2 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 26 janvier 2012 - 11:45

Je pense qu'il faut bien séparer la partie base de données de la partie plugin/extension.

BDD

Moi je pense qu'il faudrait stocker :
  • une note liberticide (de 0 à 10, 10 étant le pire ou inverse)
  • le type d'atteinte liberticide (il faudra bien réfléchir aux catégories, afin d'éviter que ça devienne fouilli)
  • un court descriptif (? multilingue) du pourquoi du comment ^^
  • les sources (très important si on veut pas passer pour des clampins/terroristes et tendre rapidement vers le point Godwin)

Ensuite, il faudrait trouver l'hébergement, sachant que si certains sites à gros traffic utilise le service ça peut vite monter en charge. De plus, ces sites n'utiliseront pas le service si celui-ci réduit la vitesse de chargement.
Une autre solution est de charger la base sur le serveur et de la mettre régulièrement à jour (solution plus viable).


API
  • www.site.com?api.php?site=nomdedomaine&datatype=datatype devra renvoyer les donnés au format voulu (JSON, XML, text,...)
  • qui héberge?
Site Web
  • doit permettre une navigation dans les donnés, classement des sites par notes, catégories,...
  • doit permettre la soumission de sites nouveaux
  • doit permettre une demande de retrait de sites
Modération
  • qui ?
  • comment?
Plugin Wordpress/extension/bookmarklet

Pour ce qui est de l'extension, faire quelque chose de discret et élégant sera relativement facile (WOT like). Cependant, le réel problème de l'extension est qu'elle se limite aux geeks et autres passionés déjà informés.
Pour le plugin Wordpress, ça se complique. J'ai pensé à une bulle d'info qui s'affiche lors de l'hover sur un lien. Quelque chose dans le style de ca: http://craigsworks.com/projects/qtip/. Mais si possible en pur JS et en plus léger, afin d'éviter d'alourdir chargements et navigation. Ca me parait pas mal, car c'est visible (l'apparition attire le regard), ça peut rester cependant discret, c'est configurable (chaque blogger veut peut-être un style et une taille différente...), et ça ne gène pas la navigation.

#3 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 26 janvier 2012 - 12:08

Oui, pour la séparation des données des extensions et plugins, c'est plus que nécessaire si on veut maintenir la chose.

Effectivement, j'ai pas parlé du multilingue, mais le minimum étant Français et Anglais. Après, ça sera en fonction des volontaires pour les traductions futures.

Pour l'API. J'y songeais ce matin à comment gérer ça. Plusieurs choix s'offrent à nous : service web (SOAP/XML) ou génération d'une liste de sites au format XML/JSON/CSV.
Je penche plutôt pour la génération d'un "bête" fichier comprenant la liste de tous les sites (localisé dans la langue demandée) : l'avantage c'est que ça nous permet d'avoir un système de cache (le serveur nous remerciera^^). L'autre avantage étant que c'est très simple à utiliser du coup.
Après, pour le format, d'un point de vue "optimisation", le mieux c'est le CSV (ou dérivé), mais c'est juste moche en terme d'évolution. Après, le mieux c'est donc JSON. Au pire XML.
Je pense qu'il faut se mettre d'accord pour 1 format de fichier au début. Après, éventuellement on verra pour assurer la compatibilité avec d'autres formats.

Cette base de donnée devra être incluse dans les plugins/extensions : il ne faut pas qu'on fasse une API qui se connecte au serveur à chaque requête :
  • Déjà, ça risque de faire sauter le serveur en moins de deux si il faut checker les URL à chaque fois.
  • De deux, c'est un soucis de vie privée et de confidentialité : nous serions alors en mesure de savoir qui consulte quoi. Même si nous ne le faisons pas, nous pourrions être suspectés de le faire ... Un projet qui défend la liberté sur le Net et qui "flique" tout le monde ça ne le ferait pas trop.
  • Enfin, c'est une question de rapidité. Plus simple de checker en local que sur notre serveur. Bien évidemment, si on devait se retrouver avec une BDD de 10Go, je réviserais mon argumentaire ... Mais en l'état, il ne s'agit QUE de stocker localement l'URL, les TAGS, et une courte description localisée. Ca ne devrait pas être trop lourd en local.

Pour l'API, elle permettra donc d'avoir des détails sur un site, une catégorie, un tag. Mais pas forcément beaucoup plus. Il est primordial de songer à l'OPTIMISATION. Sinon, on va se retrouver à devoir héberger ça sur un serveur avec 64Go de RAM ... ^^

#4 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 26 janvier 2012 - 12:25

Donc si je te suis bien, les extensions (cad plugin, extension,... on va dire comme ça ca fera plus court ^^) embarqueront une bdd avec la liste des sites, les tags et une courte description (pourquoi pas remplacer cette courte description par la note -associé à une couleur- dont je te parlais précédemment, c'est en plus moins lourd à embarquer).

A côté de ça, on aura une API qui permet d'accéder aux détails. Pense tu que cet API est nécessaire? Ne devrait-on pas embarquer dans les extensions un lien pointant vers un site plutôt que de charger les données via une API.

Tu as raison pour ce qui est de l'optimisation. Je pense que si ce service devient correcte, on pourra récolter quelques dons servant au maintien du serveur.

Tu m'as l'air plus caler que moi pour ce qui est bdd/api. Si ça te dis, tu commence à plancher la dessus et je commence à plancher sur les extensions d'abord puis le plugin wp.

Crée un github (ou autre) si tu veux.

#5 The Datawolf

    Korbenaute

  • Membres
  • PipPip
  • 264 messages

Posté 26 janvier 2012 - 12:42

J'ai une objection : cette liste serait utile aux non-initiés, mais je doute que Madame Michu installera cette extension...

#6 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 26 janvier 2012 - 12:47

@The datawolf: C'est pour cela que l'on réfléchit à l'extension wordpress. En effet, de nombreux blogueurs sont initiés à ces problématiques et seront peut-être désireux d'informer leurs followers, dont madame michu fait peut-être partie.

#7 Alain Ternaute

    Korbenaute

  • Membres
  • PipPip
  • 310 messages

Posté 26 janvier 2012 - 12:51

Bonjour, le projet est très intéressant.
Me Michu ? Pas grave : le petit dernier de la famille saura bien dénicher ça quand il voudra du gratuit. C'est sur lui qui faut compter. OSEF de Me Michu, c'est une personne qui à beaucoup plus de mal à s'adapter.
Image IPB

#8 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 26 janvier 2012 - 13:13

Si un graphiste se sent de taille (ou un photoshoper), il serait bien de créer un set d'icone:
  • une icone pour le site/extension
  • une icone pour les "nice websites"
  • une icone pour les "unknown websites"
  • une icone pour les "evil websites"
Je me disais que l'on pouvait faire les icones en monochrome (sauf celle pour notre site) et que l'on ferait varier la couleur suivant la note sur 10.

#9 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 26 janvier 2012 - 13:31

@hugolegrand : Ça tombe bien, moi je suis moins calé en extensions WordPress/extensions de navigateurs ^^ Ok pour cette répartition donc !

J'vais voir pour créer un github ou autre. Je suis plus "SourceForge" d'habitude sinon. Mais bon, tant qu'on a un SVN et un tracker de bogues Ça me va. Vais regarder Ça ^^
Question hébergement, je peux le prendre en charge dans un premier temps : j'ai un dédié avec 8Go de RAM et un proco 4x2.2GHz. Ça devrait tenir la charge au début j'espère ^^ (même s'il est utilisé pour autre chose).
Après, Ça serait bien de voir pour obtenir des dons pour financer un hébergement dédié à part (enfin, tout dépend de l'utilisation de tout Ça. Si Ça reste cantonné à quelques internautes Ça me gène pas d'héberger tout le temps, mais j'espère que Ça touchera un public assez vaste ...).

Sinon, faudrait trouver un nom au projet !

#10 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 26 janvier 2012 - 13:58

Il faudrait que tu crée une classe php simple pour accéder à la bdd pour que je crée un petit front. ou sinon si t'utilise un moteur de template je peux m'occuper des templates.

#11 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 26 janvier 2012 - 14:14

Je m'occuperais de ça asap. Par contre, avant de développer quoi que ce soit, j'aimerais qu'on fasse une petite étape de spécification avant ^^
Se faire une petite maquette du front-end/site internet, et du plugin/extension.
Définir le protocole de communication entre plugin/extensions et le serveur.
Définir les classes utilisées.

Il faudra aussi faire une librairie générique en PHP et Javascript pour que les extensions/plugins communiquent avec le serveur. Et pour qu'ils stockent l'info en local.

Le mieux à mon sens c'est d'en parler de vive voix. Je trouve ça plus sympa pour exposer nos idées ^^

Soit Skype, soit TeamSpeak, soit tu peux m'envoyer ton numéro de tél en privé, j'ai Free xD.

#12 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 26 janvier 2012 - 14:56

Je te dirais quand je suis libre pour un skype ou tel. J'essaye de faire une petite maquette du plugin chrome, firefox et safari. Je t'enverrai ça. Pour ce qui est de la biblio js, je peux m'en occuper. Je pense baser ça sur jquery et ajax.
Je réfléchis aussi au plugin wp.
Je te tiens au courant

#13 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 26 janvier 2012 - 15:02

Un SourceForge : https://sourceforge....jects/link2tag/
Le nom est volontairement assez générique. Je pense qu'on peut avoir une base plutôt générique (ça pourra toujours servir à d'autres projets), et faire les jolies interfaces spécifiques à ce projet là par la suite.

Ok ! J'vais compléter mon diagramme de classes moi alors. Et voir pour une maquette du site web de gestion (SketchFlow Inside).

#14 KokaKiwi

    Petit nouveau

  • Membres
  • Pip
  • 2 messages

Posté 26 janvier 2012 - 17:17

Hello :)
Perso j'avais commencé à voir comment intégrer une extension Google Chrome (c'est mon navigateur principal, du coup j'me suis basé dessus en premier) pour cette extension :)
J'ai réussi à faire un truc comme ça, c'est pas folichon, mais je pense qu'on peut pousser un chouïa plus. :)

Image IPB

Pour les autres parties du projet j'aimerais bien aider sinon :)
Je suis dispo sur Skype (mais pas TeamSpeak, ni micro ^^')

PS: Je dev en tant qu'amateur (lycéen powa), mais j'ai déjà un peu touché au PHP/MySQL. Juste le dev d'extensions navigateur ou je suis novice ^^

#15 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 26 janvier 2012 - 17:34

Le coup de l'icône dans la barre d'URL j'trouve ça sympa aussi. ça complète l'idée du "hover" d'hugolegrand.
hugolegrand commence à plancher sur sur les extensions pour navigateurs. Faudra qu'on synchronise les tâches du coup. Sinon, point de vue PHP/MySQL, y'a sûrement à faire du point de vues des extensions pour CMS : hugolegrand se charge de WP, il reste Joomla!, Drupal, DotClear ...

@hugolegrand & KokaKiwi : si c'est pas déjà fait, inscrivez-vous sur SourceForge. Je vais vous passer mon ID Skype aussi par PM.

#16 KokaKiwi

    Petit nouveau

  • Membres
  • Pip
  • 2 messages

Posté 26 janvier 2012 - 17:52

Faut que je retrouve mes identifiants SourceForge tiens ^^ (J'utilise plus Github perso :P)

Sinon pour les extensions, je dois avouer que j'ai jamais touché aux API de Joomla, Drupal ou Dotclear (sauf WP, j'ai fait quelques petites extensions, persos comme publiques ^^), mais ça peut être intéressant de voir comment ça marche =)

#17 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 26 janvier 2012 - 19:09

Salut kokawiki, content de te voir dans le projet. Moi pareil, je suis pas pro non plus, je suis en médecine :)
Pour developer l'extension, en attendant mieux, je réutilise l'icone la de korben (ca passe :) )
Image IPB

@kokawiki, si tu veux plancher sur l'extension wp, vas-y. Si tu veux, je vais essayer de créer un popover js sympa et discret pour les liens. Je pense qu'il faudra que tu parse les liens, que tu check en bdd uis que tu applique ou non le popover.

#18 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 26 janvier 2012 - 23:45

Je viens de compléter un peu le diagramme de classes du serveur. Here it is :
Image attachée: server_classdiagram.jpg

Et bien je suis donc le seul professionnel sur le coup (ingénieur en info et réseaux). Mais bon, le plus important dans l'histoire c'est la motivation ^^

#19 Stark

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 27 janvier 2012 - 09:40

J'ai préparé quelques cinématiques pour le fonctionnement des plugins/extensions :
Fichier joint  Link2Tag.jpg   50,17 Ko   6 Nombre de téléchargements 
Ça sera sûrement à compléter ... Mais comme Ça les choses sont plus claires dans ce que Ça fera ^^

A noter que c'est pas (encore) fini ! Faut encore préciser ce que Ça fera une fois que le HOVER est déclenché sur le lien (mais on verra Ça tous ensemble je pense), et pour l'affichage d'une icône dans la barre d'URL pour les sites liberticides ...

#20 hugolegrand

    Petit nouveau

  • Membres
  • Pip
  • 11 messages

Posté 27 janvier 2012 - 10:45

Pour ce qui est du plugin, je pense qu'une mise a jour hebdomadaire de la bdd sera plus approprié. Une autre solution, surtout envisageable por les plugins wp et autres , ce serait d'utiliser les crons ou un autre système afin de dispatcher les mises à jour entres tous les sites utilisant le plugin, afin d'éviter des pics de charge du serveur.





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)