Widget:NuageUsers : Différence entre versions

De fablabo
Aller à : navigation, rechercher
 
(35 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 10 : Ligne 10 :
 
|?#
 
|?#
 
|?thème
 
|?thème
|format=json
+
|format=json}}
 +
 
 +
{{#ask: [[Category:Utilisateur]]
 +
|?#
 +
|?thème<noinclude>
 +
| format=ul
 
}}
 
}}
  
 +
voir [[Widget:ListeUsers]]
  
 
</noinclude>
 
</noinclude>
  
 
{{#ask: [[Category:Utilisateur]]
 
|?#
 
|?thème
 
| format=ul
 
}}
 
  
  
  
  
<script src="extensions/processingjs/processing-1.3.6.min.js"></script>
 
  
<script type="javascript">
 
  
 +
<script >
 +
var donnees;
 
//appel de la liste des utilisateurs
 
//appel de la liste des utilisateurs
 
$.getJSON("Sp%C3%A9cial:Ask/-5B-5BCategory:Utilisateur-5D-5D/-3F-23-2D/-3FTh%C3%A8me/limit%3D150/searchlabel%3D/format%3Djson",
 
$.getJSON("Sp%C3%A9cial:Ask/-5B-5BCategory:Utilisateur-5D-5D/-3F-23-2D/-3FTh%C3%A8me/limit%3D150/searchlabel%3D/format%3Djson",
 
   function(data) {
 
   function(data) {
 +
donnees=data.items;
 
     $.each(data.items, function(i,item){
 
     $.each(data.items, function(i,item){
 
        
 
        
 
     // L.marker([item.latt, item.long]).addTo(cartofab).bindPopup("<b><a href="+item.site+" target=\"_blank\">"+item.label+"</a></b><br/>"+item.intitulé+"<br/>"+item.structures);
 
     // L.marker([item.latt, item.long]).addTo(cartofab).bindPopup("<b><a href="+item.site+" target=\"_blank\">"+item.label+"</a></b><br/>"+item.intitulé+"<br/>"+item.structures);
  alert( item.thème);
+
  //alert( item.thème);
 
      
 
      
  
Ligne 48 : Ligne 49 :
  
  
<script type="text/processing" target="processing-canvas-<!--{$nom|default:0}-->"><!--{$code}--></script>
+
 
<canvas id="processing-canvas-<!--{$nom|default:0}-->"> </canvas>
+
<script src="extensions/processingjs/processing-1.3.6.min.js"></script>
 +
 
 +
 
 +
 
 +
 
 +
<script type="text/processing" target="processing-canvas-nuage">
 +
float x[] = new float[0];
 +
float y[] = new float[0];
 +
float vitesseX[] = new float[0];
 +
float vitesseY[] = new float[0];
 +
float directionX[] = new float[0];
 +
float directionY[] = new float[0];
 +
 
 +
void setup(){
 +
size(600,400);
 +
 
 +
if(donnees!=null){
 +
    x = expand(x, donnees.length);
 +
    y = expand(y, donnees.length);
 +
    vitesseX = expand(vitesseX, donnees.length);
 +
    vitesseY = expand(vitesseY, donnees.length);
 +
    directionX = expand(directionX, donnees.length);
 +
    directionY = expand(directionY, donnees.length);
 +
 
 +
    for (int i=0; i<donnees.length; i++) {
 +
      x[i] = random(width);
 +
      y[i] = random(height);
 +
      vitesseX[i] = random(-2, 2);
 +
      vitesseY[i] = random(-2, 2);
 +
      directionX[i] = 1;
 +
      directionY[i] = 1;
 +
  }
 +
}
 +
}
 +
 
 +
void draw(){
 +
background(2);
 +
 
 +
//text(donnees[0].thème,100,100);
 +
if(donnees!=null){
 +
//println(donnees.length);
 +
 +
  for(int i=0; i<donnees.length; i++){
 +
    String [] s = split(donnees[i].label, "Utilisateur:");
 +
 
 +
 
 +
    text(s[1], x[i], y[i]);
 +
 
 +
    if(x[i] < 0 || x[i] > width){
 +
      directionX[i] *= -1;
 +
    }
 +
 
 +
    if(y[i] < 0 || y[i] > height){
 +
      directionY[i] *= -1;
 +
    }
 +
 
 +
 
 +
    x[i] += vitesseX[i] * directionX[i];
 +
    y[i] += vitesseY[i] * directionY[i];
 +
  }
 +
 
 +
//text(donnees[0].label,mouseX,mouseY+20);
 +
//text(donnees[0].thème,mouseX,mouseY);
 +
 
 +
//println(donnees.items[0].label);
 +
}
 +
 
 +
 
 +
}
 +
 
 +
</script>
 +
 
 +
 
 +
 
 +
 
 +
<canvas id="processing-canvas-nuage"> </canvas>
 
<div id="debug"></div>
 
<div id="debug"></div>

Version actuelle en date du 13 décembre 2012 à 15:29

dessine un nuage des utilisateurs

(en cours de dev)


utile

JSON


voir Widget:ListeUsers





<script > var donnees; //appel de la liste des utilisateurs $.getJSON("Sp%C3%A9cial:Ask/-5B-5BCategory:Utilisateur-5D-5D/-3F-23-2D/-3FTh%C3%A8me/limit%3D150/searchlabel%3D/format%3Djson",

 function(data) {

donnees=data.items;

   $.each(data.items, function(i,item){
     
    // L.marker([item.latt, item.long]).addTo(cartofab).bindPopup("<a href="+item.site+" target=\"_blank\">"+item.label+"</a>
"+item.intitulé+"
"+item.structures); //alert( item.thème);


   });
document.getElementById("debug").innerHTML = "Il ya actuellement "+data.items.length+" utilisateurs renseignés sur cette page";
 });


</script>


<script src="extensions/processingjs/processing-1.3.6.min.js"></script>



<script type="text/processing" target="processing-canvas-nuage"> float x[] = new float[0]; float y[] = new float[0]; float vitesseX[] = new float[0]; float vitesseY[] = new float[0]; float directionX[] = new float[0]; float directionY[] = new float[0];

void setup(){ size(600,400);

if(donnees!=null){

   x = expand(x, donnees.length);
   y = expand(y, donnees.length);
   vitesseX = expand(vitesseX, donnees.length);
   vitesseY = expand(vitesseY, donnees.length);
   directionX = expand(directionX, donnees.length);
   directionY = expand(directionY, donnees.length);
   for (int i=0; i<donnees.length; i++) {
     x[i] = random(width);
     y[i] = random(height);
     vitesseX[i] = random(-2, 2);
     vitesseY[i] = random(-2, 2);
     directionX[i] = 1;
     directionY[i] = 1;
  }
}

}

void draw(){

background(2);

//text(donnees[0].thème,100,100);

if(donnees!=null){

//println(donnees.length);

 for(int i=0; i<donnees.length; i++){
   String [] s = split(donnees[i].label, "Utilisateur:");


   text(s[1], x[i], y[i]);
   if(x[i] < 0 || x[i] > width){
     directionX[i] *= -1;
   }
   if(y[i] < 0 || y[i] > height){
     directionY[i] *= -1;
   }


   x[i] += vitesseX[i] * directionX[i];
   y[i] += vitesseY[i] * directionY[i];
 }

//text(donnees[0].label,mouseX,mouseY+20); //text(donnees[0].thème,mouseX,mouseY);

//println(donnees.items[0].label); }


}

</script>



<canvas id="processing-canvas-nuage"> </canvas>