Domain swingdev.com
France
Scaleway S.a.s.
Software information

nginx nginx

tcp/443 tcp/80

  • Open service 2001:bc8:4::2:80 · swingdev.com

    2025-12-31 06:06

    HTTP/1.1 200 OK
    Server: nginx
    Date: Wed, 31 Dec 2025 06:06:30 GMT
    Content-Type: text/html; charset=UTF-8
    Transfer-Encoding: chunked
    Connection: close
    Vary: Accept-Encoding
    Vary: Accept-Encoding
    
    Page title: - = Swing Dev = -
    
    <html>
    <head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="swingdev.css" />
    <title>- = Swing Dev = -</title>
    <script language="javascript">
    
    var stepms = 30;
    var linkNames = [['quisommesnous', 0], ['domaines', 140], ['mentions', 310], ['contact', 410]];
    var intervalList = new Array();
    var pageHidden = false;
    var icoYpos = { icoHigh: -80, icoLow: 0 }
    var LINEAR = 0;
    var EASEIN = 1;
    var EASEOUT = 2;
    var EASEINOUT = 3;
    
    var START_STEP = 7;
    var easems = START_STEP*stepms;
    
    function dist(x, y, x_dest, y_dest)
    {
      var dist_x = x-x_dest;
      var dist_y = y-y_dest;
      return Math.sqrt(dist_x*dist_x + dist_y*dist_y);
    }
    
    
    function moveItem(item, x_dest, y_dest, delta_x, delta_y)
    {
      var icon=document.getElementById(item);
      
      var stop = false;
      var x = intervalList[item].x;
      var y = intervalList[item].y;
      var initStep = intervalList[item].initStep;
      
      if (initStep.step>0)
      {
        delta_x = initStep.x/initStep.step;
        delta_y = initStep.y/initStep.step;
        intervalList[item].initStep.step--;
      }
      else if (initStep.step<0 && intervalList[item].timeleft <= 0)
      {
        delta_x = initStep.x/(-initStep.step);
        delta_y = initStep.y/(-initStep.step);
        intervalList[item].initStep.step++;
      }
      else if (intervalList[item].timeleft <= 0)
      {
        icon.style.left = x_dest;
        icon.style.top = y_dest;
        stop = true;
      }
      else
      {
        intervalList[item].timeleft -= stepms;
      }
    
      if (!stop)
      {
        stop = ((x < x_dest)? x+delta_x>=x_dest : x+delta_x<=x_dest) &&
    		 ((y < y_dest)? y+delta_y>=y_dest : y+delta_y<=y_dest);
    //  stop = intervalList[item].timeleft <= 0;
        intervalList[item].x += delta_x;
        intervalList[item].y += delta_y;
        icon.style.left = intervalList[item].x;
        icon.style.top = intervalList[item].y;
      }
      if (stop)
      {
        clearInterval(intervalList[item].interval);
        intervalList[item].interval = 0;
        intervalList[item].initStep.step = 0;
      }
    }
    
    function startAnim(item, x_dest, y_dest, timems, mode)
    {
      var icon=document.getElementById(item);
    
      if (intervalList[item] && intervalList[item].interval)
      {
        clearInterval(intervalList[item].interval);
    	timems -= intervalList[item].timeleft;
    	intervalList[item].interval = 0;
    	intervalList[item].timeleft = 0;
      }
    
      if (timems <= 0)
      {
        icon.style.left = x_dest;
        icon.style.top = y_dest;
        return;
      } 
      var dist_x = x_dest-icon.offsetLeft;
      var dist_y = y_dest-icon.offsetTop;
      var steps = timems/stepms;
      var delta_x = dist_x/steps;
      var delta_y = dist_y/steps;
      var iniStep = { x: delta_x, y: delta_y, step: 0};
      
      if (mode == EASEIN)
      {
         timems -= easems;
    	   iniStep.step = START_STEP;
    	   var easeDist_x = dist_x/(2*easems/stepms);
    	   var easeDist_y = dist_y/(2*easems/stepms);
    
    	   steps = timems/stepms;
         delta_x = (dist_x-easeDist_x)/steps;
         delta_y = (dist_y-easeDist_y)/steps;
      }
      else if (mode == EASEOUT)
      {
         timems -= easems;
    	   iniStep.step = -START_STEP;
    	   var easeDist_x = dist_x/(2*easems/stepms);
    	   var easeDist_y = dist_y/(2*easems/stepms);
    
    	   steps = timems/stepms;
         delta_x = (dist_x-easeDist_x)/steps;
         delta_y = (dist_y-easeDist_y)/steps;	 
      }
    
      var interval = setInterval("moveItem('"+item+"', "+x_dest+", "+y_dest+", "+delta_x+", "+delta_y+")", stepms);
      intervalList[item] = { x: icon.offsetLeft, y: icon.offsetTop, interval: interval, timeleft: timems, initStep: iniStep }
    }
    
    /*
    
    linear:
    |----|----|----|----|----|----|
    |<-      linear speed       ->|
    
    ease in:
    |----|----|----|----|----|----|
    |inc|<-     linear speed    ->|
    
    ease out:
    |----|----|----|----|----|----|
    |<-     linear speed    ->|dec|
    
    ease in & out:
    |----|----|----|----|----|----|
    |inc|<-   linear speed  ->|dec|
    
    increase/decrease time: 20ms
    increase:
    5ms (step 1): 1/4 step (ex: step 4 px => 1 px), min 1 px
    10ms (step 2): 1/2 step ( => 2 px)
    15ms (step 3): 3/4 step ( => 3 px)
    20ms (step 4): 1 step + recalcul du nb steps restants en tenant compte du ease out
    decrease:
    20ms avant la fin: 1 step (prévu initialement)
    15ms avant la fin: 3/4 de step
    10ms avant la fin: 1/2 step
    5ms avant la fin: 1/4 step, mini 1px
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 2001:bc8:4::2:443 · swingdev.com

    2025-12-31 06:06

    HTTP/1.1 400 Bad Request
    Date: Wed, 31 Dec 2025 06:06:29 GMT
    Content-Type: text/html
    Content-Length: 264
    Connection: close
    server: nginx
    
    Page title: 400 The plain HTTP request was sent to HTTPS port
    
    <html>
    <head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
    <body bgcolor="white">
    <center><h1>400 Bad Request</h1></center>
    <center>The plain HTTP request was sent to HTTPS port</center>
    <hr><center>nginx</center>
    </body>
    </html>
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 62.210.16.61:443 · swingdev.com

    2025-12-31 06:06

    HTTP/1.1 400 Bad Request
    Date: Wed, 31 Dec 2025 06:06:29 GMT
    Content-Type: text/html
    Content-Length: 264
    Connection: close
    server: nginx
    
    Page title: 400 The plain HTTP request was sent to HTTPS port
    
    <html>
    <head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
    <body bgcolor="white">
    <center><h1>400 Bad Request</h1></center>
    <center>The plain HTTP request was sent to HTTPS port</center>
    <hr><center>nginx</center>
    </body>
    </html>
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 62.210.16.61:80 · swingdev.com

    2025-12-31 06:06

    HTTP/1.1 200 OK
    Server: nginx
    Date: Wed, 31 Dec 2025 06:06:30 GMT
    Content-Type: text/html; charset=UTF-8
    Transfer-Encoding: chunked
    Connection: close
    Vary: Accept-Encoding
    Vary: Accept-Encoding
    
    Page title: - = Swing Dev = -
    
    <html>
    <head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="swingdev.css" />
    <title>- = Swing Dev = -</title>
    <script language="javascript">
    
    var stepms = 30;
    var linkNames = [['quisommesnous', 0], ['domaines', 140], ['mentions', 310], ['contact', 410]];
    var intervalList = new Array();
    var pageHidden = false;
    var icoYpos = { icoHigh: -80, icoLow: 0 }
    var LINEAR = 0;
    var EASEIN = 1;
    var EASEOUT = 2;
    var EASEINOUT = 3;
    
    var START_STEP = 7;
    var easems = START_STEP*stepms;
    
    function dist(x, y, x_dest, y_dest)
    {
      var dist_x = x-x_dest;
      var dist_y = y-y_dest;
      return Math.sqrt(dist_x*dist_x + dist_y*dist_y);
    }
    
    
    function moveItem(item, x_dest, y_dest, delta_x, delta_y)
    {
      var icon=document.getElementById(item);
      
      var stop = false;
      var x = intervalList[item].x;
      var y = intervalList[item].y;
      var initStep = intervalList[item].initStep;
      
      if (initStep.step>0)
      {
        delta_x = initStep.x/initStep.step;
        delta_y = initStep.y/initStep.step;
        intervalList[item].initStep.step--;
      }
      else if (initStep.step<0 && intervalList[item].timeleft <= 0)
      {
        delta_x = initStep.x/(-initStep.step);
        delta_y = initStep.y/(-initStep.step);
        intervalList[item].initStep.step++;
      }
      else if (intervalList[item].timeleft <= 0)
      {
        icon.style.left = x_dest;
        icon.style.top = y_dest;
        stop = true;
      }
      else
      {
        intervalList[item].timeleft -= stepms;
      }
    
      if (!stop)
      {
        stop = ((x < x_dest)? x+delta_x>=x_dest : x+delta_x<=x_dest) &&
    		 ((y < y_dest)? y+delta_y>=y_dest : y+delta_y<=y_dest);
    //  stop = intervalList[item].timeleft <= 0;
        intervalList[item].x += delta_x;
        intervalList[item].y += delta_y;
        icon.style.left = intervalList[item].x;
        icon.style.top = intervalList[item].y;
      }
      if (stop)
      {
        clearInterval(intervalList[item].interval);
        intervalList[item].interval = 0;
        intervalList[item].initStep.step = 0;
      }
    }
    
    function startAnim(item, x_dest, y_dest, timems, mode)
    {
      var icon=document.getElementById(item);
    
      if (intervalList[item] && intervalList[item].interval)
      {
        clearInterval(intervalList[item].interval);
    	timems -= intervalList[item].timeleft;
    	intervalList[item].interval = 0;
    	intervalList[item].timeleft = 0;
      }
    
      if (timems <= 0)
      {
        icon.style.left = x_dest;
        icon.style.top = y_dest;
        return;
      } 
      var dist_x = x_dest-icon.offsetLeft;
      var dist_y = y_dest-icon.offsetTop;
      var steps = timems/stepms;
      var delta_x = dist_x/steps;
      var delta_y = dist_y/steps;
      var iniStep = { x: delta_x, y: delta_y, step: 0};
      
      if (mode == EASEIN)
      {
         timems -= easems;
    	   iniStep.step = START_STEP;
    	   var easeDist_x = dist_x/(2*easems/stepms);
    	   var easeDist_y = dist_y/(2*easems/stepms);
    
    	   steps = timems/stepms;
         delta_x = (dist_x-easeDist_x)/steps;
         delta_y = (dist_y-easeDist_y)/steps;
      }
      else if (mode == EASEOUT)
      {
         timems -= easems;
    	   iniStep.step = -START_STEP;
    	   var easeDist_x = dist_x/(2*easems/stepms);
    	   var easeDist_y = dist_y/(2*easems/stepms);
    
    	   steps = timems/stepms;
         delta_x = (dist_x-easeDist_x)/steps;
         delta_y = (dist_y-easeDist_y)/steps;	 
      }
    
      var interval = setInterval("moveItem('"+item+"', "+x_dest+", "+y_dest+", "+delta_x+", "+delta_y+")", stepms);
      intervalList[item] = { x: icon.offsetLeft, y: icon.offsetTop, interval: interval, timeleft: timems, initStep: iniStep }
    }
    
    /*
    
    linear:
    |----|----|----|----|----|----|
    |<-      linear speed       ->|
    
    ease in:
    |----|----|----|----|----|----|
    |inc|<-     linear speed    ->|
    
    ease out:
    |----|----|----|----|----|----|
    |<-     linear speed    ->|dec|
    
    ease in & out:
    |----|----|----|----|----|----|
    |inc|<-   linear speed  ->|dec|
    
    increase/decrease time: 20ms
    increase:
    5ms (step 1): 1/4 step (ex: step 4 px => 1 px), min 1 px
    10ms (step 2): 1/2 step ( => 2 px)
    15ms (step 3): 3/4 step ( => 3 px)
    20ms (step 4): 1 step + recalcul du nb steps restants en tenant compte du ease out
    decrease:
    20ms avant la fin: 1 step (prévu initialement)
    15ms avant la fin: 3/4 de step
    10ms avant la fin: 1/2 step
    5ms avant la fin: 1/4 step, mini 1px
    
    Found 2025-12-31 by HttpPlugin
    Create report
Domain summary
IP summary