dirtymarmotte.net rapport :   Visitez le site


  • Titre:dirty marmotte – geekeries montagnardes

    La description :geekeries montagnardes...

    Classement Alexa Global: # 5,574,634

    Server:Apache...

    L'adresse IP principale: 195.144.11.40,Votre serveur France,Grenoble ISP:Phpnet France Sarl  TLD:net Code postal:fr

    Ce rapport est mis à jour en 13-Aug-2018

Created Date:2011-06-23
Changed Date:2015-04-19

Données techniques du dirtymarmotte.net


Geo IP vous fournit comme la latitude, la longitude et l'ISP (Internet Service Provider) etc. informations. Notre service GeoIP a trouvé l'hôte dirtymarmotte.net.Actuellement, hébergé dans France et son fournisseur de services est Phpnet France Sarl .

Latitude: 45.16667175293
Longitude: 5.7166700363159
Pays: France (fr)
Ville: Grenoble
Région: Rhone-Alpes
ISP: Phpnet France Sarl

the related websites

domaine Titre
dirtymarmotte.net dirty marmotte – geekeries montagnardes
thedirty.com the dirty
thebluebutterpot.com the blue butter pot - dirty & raw blues
dirtysmokers.com hugedomains.com - dirtysmokers.com is for sale (dirty smokers)

Analyse d'en-tête HTTP


Les informations d'en-tête HTTP font partie du protocole HTTP que le navigateur d'un utilisateur envoie à appelé Apache contenant les détails de ce que le navigateur veut et acceptera de nouveau du serveur Web.

Content-Length:50520
Content-Encoding:gzip
Set-Cookie:PHPNET-MNO=20505|W3FZb|W3FZb; path=/
Vary:Accept-Encoding,User-Agent
Server:Apache
Link:; rel="https://api.w.org/", ; rel=shortlink
Cache-control:private
Date:Mon, 13 Aug 2018 10:11:52 GMT
Content-Type:text/html; charset=UTF-8

DNS

soa:ns.phpnet.org. webmaster.phpnet.org. 2018031501 21600 3600 1209600 86400
ns:ns2.phpnet.org.
ns.phpnet.org.
ipv4:IP:195.144.11.40
ASN:42363
OWNER:PHPNET-AS, FR
Country:FR
mx:MX preference = 10, mail exchanger = mx.phpnet.org.

HtmlToText

aller au contenu principal dirty marmotte geekeries montagnardes menu projets/placard wiki mozaic framework audacious planning machine todo machine dirty feed reader calculateur corexy fishing line mon shaarli contact présentation d’arduino sur putaindecode.io aujourd’hui, la grande classe! j’ai publié une présentation de l’environnement arduino sur putain de code! auteur nico publié le 7 mai 2018 catégories arduino , electronique , programmation étiquettes arduino , c++ , putain de code laisser un commentaire sur présentation d’arduino sur putaindecode.io [tuto] programmation non bloquante pour arduino & co nico! c’est quoi le programme du jour ? heu… t’es sûr de vouloir le savoir? bah oui, ça fait trop longtemps, j’en peux plus d’attendre! ok, alors si on parlait arduino et temps réel? je vais te montrer comment on programme des événements récurrents de façon non bloquante! … une petite contextualisation me semble nécessaire. en ce moment je travaille sur une interface midi, pour synchroniser un microcontrôleur (teensy) avec des instruments de musique. pour la faire courte, la teensy va donner un tempo en bpm, et les instruments midi vont se caler dessus. la teensy est géniale dans ce contexte, parce qu’elle peut se faire passer pour un périphérique midi standard et son api dispose de toute une batterie de fonctions pour envoyer des instructions midi à qui veut bien les écouter. mais pour l’instant, pas besoin de rentrer dans le protocole d’horloge midi, on va se contenter d’afficher du texte dans le moniteur série, et après si vous êtes sages, on fera clignoter des leds. houlala, mais quel programme trépidant! 1. approche naïve pour gérer un événement récurrent si vous êtes en train de lire ceci, il y a de forte chances pour que vous ayez testé votre première arduino avec l’exemple blink . //pin de sortie int led = 13; // initialisation: void setup() { pinmode(led, output); } void loop() { digitalwrite(led, high); // allume la led delay(1000); // attend une seconde digitalwrite(led, low); // éteint la led delay(1000); // attend une seconde } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //pin de sortie int led = 13 ; // initialisation: void setup ( ) { pinmode ( led , output ) ; } void loop ( ) { digitalwrite ( led , high ) ; // allume la led delay ( 1000 ) ; // attend une seconde digitalwrite ( led , low ) ; // éteint la led delay ( 1000 ) ; // attend une seconde } rien de choquant, on est tous passé par là :). affichons plutôt des messages, ce sera plus pratique pour la suite: // initialisation: void setup() { serial.begin(115200); } void loop() { serial.println("paf"); delay(1000); // attend une seconde } 1 2 3 4 5 6 7 8 9 // initialisation: void setup ( ) { serial . begin ( 115200 ) ; } void loop ( ) { serial . println ( "paf" ) ; delay ( 1000 ) ; // attend une seconde } si j’ai maintenant envie d’afficher « paf » toutes les 500ms et « pif » toutes les 3 secondes… comment faire? on pourrait utiliser un compteur, mettre un delay(500), à chaque tour afficher paf, et tous les 6 tours afficher pif. ça peut vite devenir très compliqué l’histoire. et d’autant plus que pendant l’appel à delay(), il ne se passe rien, le programme est bloqué pendant 500ms. c’est la méga-cagade si on doit faire d’autres traitements en parallèle (lecture d’entrées, affichage…). 2. approche non bloquante pour remédier à cela, on doit avoir une approche non bloquante, basée sur l’heure actuelle (ou plus précisément sur le nombre de millisecondes (ou microsecondes) écoulées depuis le démarrage du programme). on va utiliser les fonction millis() ou micros(), selon la précision désirée (respectivement à la milliseconde ou à la microseconde près). l’exemple proposé dans l’ide arduino est blinkwithoutdelay, et on peut l’adapter ainsi pour notre exemple: unsigned long previousmillispaf = 0; unsigned long previousmillispif = 0; unsigned long intervalpaf = 500; unsigned long intervalpif = 3000; void setup() { serial.begin(115200); } void loop() { //lit l'heure actuelle unsigned long currentmillis = millis(); if (currentmillis > previousmillispaf + intervalpaf) { previousmillispaf = currentmillis; serial.println("paf"); } if (currentmillis > previousmillispif + intervalpif) { previousmillispif = currentmillis; serial.println("pif"); } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 unsigned long previousmillispaf = 0 ; unsigned long previousmillispif = 0 ; unsigned long intervalpaf = 500 ; unsigned long intervalpif = 3000 ; void setup ( ) { serial . begin ( 115200 ) ; } void loop ( ) { //lit l'heure actuelle unsigned long currentmillis = millis ( ) ; if ( currentmillis > previousmillispaf + intervalpaf ) { previousmillispaf = currentmillis ; serial . println ( "paf" ) ; } if ( currentmillis > previousmillispif + intervalpif ) { previousmillispif = currentmillis ; serial . println ( "pif" ) ; } } dans ce cas, à chaque tour de loop(), on va regarder si la durée nécessaire est passée, et si ce n’est pas le cas on laisse filer (et du coup on peut faire autre chose plutôt que d’attendre bêtement). 3. approche plus encapsulée on est déjà bien mieux que dans le tout premier exemple, mais il y a des variables globales qui se baladent, des grosses conditions dans les if(), ce n’est pas encore très élégant. pour mon projet, j’ai encapsulé ce fonctionnement dans une classe c++ histoire de faciliter l’utilisation: #ifndef dmtimer_h #define dmtimer_h #include "arduino.h" class dmtimer { private: //private members public: //public members //dmtimer constructor dmtimer(); dmtimer(unsigned long interval); bool istimereached(unsigned long currenttime, unsigned long interval); bool istimereached(unsigned long currenttime); bool istimereached() { return istimereached(micros()); } void reset() { setlasttime(micros()); } void setlasttime(unsigned long time) { this->_lasttime = time; } void setinterval(unsigned long interval) { this->_interval = interval; } private: unsigned long _lasttime = 0; unsigned long _interval = 0; }; #endif //dmtimer_h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #ifndef dmtimer_h #define dmtimer_h #include "arduino.h" class dmtimer { private : //private members public : //public members //dmtimer constructor dmtimer ( ) ; dmtimer ( unsigned long interval ) ; bool istimereached ( unsigned long currenttime , unsigned long interval ) ; bool istimereached ( unsigned long currenttime ) ; bool istimereached ( ) { return istimereached ( micros ( ) ) ; } void reset ( ) { setlasttime ( micros ( ) ) ; } void setlasttime ( unsigned long time ) { this -> _lasttime = time ; } void setinterval ( unsigned long interval ) { this -> _interval = interval ; } private : unsigned long _lasttime = 0 ; unsigned long _interval = 0 ; } ; #endif //dmtimer_h pour reprendre notre exemple précédent, on aurait donc: dmtimer paf(500000); //en microsecondes dmtimer pif(3000000); void setup() { serial.begin(115200); } void loop() { //lit l'heure actuelle unsigned long m = micros(); if (paf.istimereached(m)) { serial.println("paf"); } if (pif.istimereached(m)) { serial.println("pif"); } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 dmtimer paf ( 500000 ) ; //en microsecondes dmtimer pif ( 3000000 ) ; void setup ( ) { serial . begin ( 115200 ) ; } void loop ( ) { //lit l'heure actuelle unsigned long m = micros ( ) ; if ( paf . istimereached ( m ) ) { serial . println ( "paf" ) ; } if ( pif . istimereached ( m ) ) { serial . println ( "pif" ) ; } } c’est plus léger. plus de variables globales pour stocker des états dont on se fout royalement dans le programme principal. vous noterez que l’heure (ici en microsecondes) est lue une seule fois, puis passée en paramètre aux méthodes de test. ça permet d’éviter des décalages de temps causés par l’exécution du code qui peut être « longue » (~100µs pour un analogread() par exemple). en faisant comme ça, on travaille sur la même référence de temps pour toutes les opérations. 4. application : faire

Analyse PopURL pour dirtymarmotte.net


http://dirtymarmotte.net/tag/protection/
http://dirtymarmotte.net/wp-content/uploads/2017/07/kicad-pcb.png
http://dirtymarmotte.net/tag/planning-machine/
http://dirtymarmotte.net/tag/sous-verres/
http://dirtymarmotte.net/tag/virtualisation/
http://dirtymarmotte.net/tests-unitaires-en-c/#respond
http://dirtymarmotte.net/tests-unitaires-en-c/
http://audacious.dirtymarmotte.net
http://dirtymarmotte.net/utiliser-f-engrave-pour-usiner-des-poches-avec-une-fraise-droite/
http://dirtymarmotte.net/tag/midi/
http://dirtymarmotte.net/wp-content/uploads/2017/08/pcb-library-tables_026-1.png
http://dirtymarmotte.net/wp-content/uploads/2017/07/grid-properties_021.png
http://dirtymarmotte.net/wp-content/uploads/2017/08/kicad-zones-remplies.png
http://dirtymarmotte.net/tag/motion/
http://dirtymarmotte.net/tag/windows/
slate.fr
2hdp.fr
vivrealarochette.fr

Informations Whois


Whois est un protocole qui permet d'accéder aux informations d'enregistrement.Vous pouvez atteindre quand le site Web a été enregistré, quand il va expirer, quelles sont les coordonnées du site avec les informations suivantes. En un mot, il comprend ces informations;

Domain Name: DIRTYMARMOTTE.NET
Registry Domain ID: 1663343400_DOMAIN_NET-VRSN
Registrar WHOIS Server: whois.bookmyname.com
Registrar URL: http://www.bookmyname.com
Updated Date: 2015-04-19T18:38:16Z
Creation Date: 2011-06-23T13:01:07Z
Registry Expiry Date: 2018-06-23T13:01:07Z
Registrar: Online SAS
Registrar IANA ID: 74
Registrar Abuse Contact Email: abuse@bookmyname.com
Registrar Abuse Contact Phone: +33.184130069
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: NS.PHPNET.ORG
Name Server: NS2.PHPNET.ORG
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2018-02-08T10:30:55Z <<<

For more information on Whois status codes, please visit https://icann.org/epp

NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar. Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.

TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability. VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.

  REGISTRAR Online SAS

SERVERS

  SERVER net.whois-servers.net

  ARGS domain =dirtymarmotte.net

  PORT 43

  TYPE domain
RegrInfo
DOMAIN

  NAME dirtymarmotte.net

  CHANGED 2015-04-19

  CREATED 2011-06-23

STATUS
clientTransferProhibited https://icann.org/epp#clientTransferProhibited

NSERVER

  NS.PHPNET.ORG 195.144.11.85

  NS2.PHPNET.ORG 195.154.55.57

  REGISTERED yes

Go to top

Erreurs


La liste suivante vous montre les fautes d'orthographe possibles des internautes pour le site Web recherché.

  • www.udirtymarmotte.com
  • www.7dirtymarmotte.com
  • www.hdirtymarmotte.com
  • www.kdirtymarmotte.com
  • www.jdirtymarmotte.com
  • www.idirtymarmotte.com
  • www.8dirtymarmotte.com
  • www.ydirtymarmotte.com
  • www.dirtymarmotteebc.com
  • www.dirtymarmotteebc.com
  • www.dirtymarmotte3bc.com
  • www.dirtymarmottewbc.com
  • www.dirtymarmottesbc.com
  • www.dirtymarmotte#bc.com
  • www.dirtymarmottedbc.com
  • www.dirtymarmottefbc.com
  • www.dirtymarmotte&bc.com
  • www.dirtymarmotterbc.com
  • www.urlw4ebc.com
  • www.dirtymarmotte4bc.com
  • www.dirtymarmottec.com
  • www.dirtymarmottebc.com
  • www.dirtymarmottevc.com
  • www.dirtymarmottevbc.com
  • www.dirtymarmottevc.com
  • www.dirtymarmotte c.com
  • www.dirtymarmotte bc.com
  • www.dirtymarmotte c.com
  • www.dirtymarmottegc.com
  • www.dirtymarmottegbc.com
  • www.dirtymarmottegc.com
  • www.dirtymarmottejc.com
  • www.dirtymarmottejbc.com
  • www.dirtymarmottejc.com
  • www.dirtymarmottenc.com
  • www.dirtymarmottenbc.com
  • www.dirtymarmottenc.com
  • www.dirtymarmottehc.com
  • www.dirtymarmottehbc.com
  • www.dirtymarmottehc.com
  • www.dirtymarmotte.com
  • www.dirtymarmottec.com
  • www.dirtymarmottex.com
  • www.dirtymarmottexc.com
  • www.dirtymarmottex.com
  • www.dirtymarmottef.com
  • www.dirtymarmottefc.com
  • www.dirtymarmottef.com
  • www.dirtymarmottev.com
  • www.dirtymarmottevc.com
  • www.dirtymarmottev.com
  • www.dirtymarmotted.com
  • www.dirtymarmottedc.com
  • www.dirtymarmotted.com
  • www.dirtymarmottecb.com
  • www.dirtymarmottecom
  • www.dirtymarmotte..com
  • www.dirtymarmotte/com
  • www.dirtymarmotte/.com
  • www.dirtymarmotte./com
  • www.dirtymarmottencom
  • www.dirtymarmotten.com
  • www.dirtymarmotte.ncom
  • www.dirtymarmotte;com
  • www.dirtymarmotte;.com
  • www.dirtymarmotte.;com
  • www.dirtymarmottelcom
  • www.dirtymarmottel.com
  • www.dirtymarmotte.lcom
  • www.dirtymarmotte com
  • www.dirtymarmotte .com
  • www.dirtymarmotte. com
  • www.dirtymarmotte,com
  • www.dirtymarmotte,.com
  • www.dirtymarmotte.,com
  • www.dirtymarmottemcom
  • www.dirtymarmottem.com
  • www.dirtymarmotte.mcom
  • www.dirtymarmotte.ccom
  • www.dirtymarmotte.om
  • www.dirtymarmotte.ccom
  • www.dirtymarmotte.xom
  • www.dirtymarmotte.xcom
  • www.dirtymarmotte.cxom
  • www.dirtymarmotte.fom
  • www.dirtymarmotte.fcom
  • www.dirtymarmotte.cfom
  • www.dirtymarmotte.vom
  • www.dirtymarmotte.vcom
  • www.dirtymarmotte.cvom
  • www.dirtymarmotte.dom
  • www.dirtymarmotte.dcom
  • www.dirtymarmotte.cdom
  • www.dirtymarmottec.om
  • www.dirtymarmotte.cm
  • www.dirtymarmotte.coom
  • www.dirtymarmotte.cpm
  • www.dirtymarmotte.cpom
  • www.dirtymarmotte.copm
  • www.dirtymarmotte.cim
  • www.dirtymarmotte.ciom
  • www.dirtymarmotte.coim
  • www.dirtymarmotte.ckm
  • www.dirtymarmotte.ckom
  • www.dirtymarmotte.cokm
  • www.dirtymarmotte.clm
  • www.dirtymarmotte.clom
  • www.dirtymarmotte.colm
  • www.dirtymarmotte.c0m
  • www.dirtymarmotte.c0om
  • www.dirtymarmotte.co0m
  • www.dirtymarmotte.c:m
  • www.dirtymarmotte.c:om
  • www.dirtymarmotte.co:m
  • www.dirtymarmotte.c9m
  • www.dirtymarmotte.c9om
  • www.dirtymarmotte.co9m
  • www.dirtymarmotte.ocm
  • www.dirtymarmotte.co
  • dirtymarmotte.netm
  • www.dirtymarmotte.con
  • www.dirtymarmotte.conm
  • dirtymarmotte.netn
  • www.dirtymarmotte.col
  • www.dirtymarmotte.colm
  • dirtymarmotte.netl
  • www.dirtymarmotte.co
  • www.dirtymarmotte.co m
  • dirtymarmotte.net
  • www.dirtymarmotte.cok
  • www.dirtymarmotte.cokm
  • dirtymarmotte.netk
  • www.dirtymarmotte.co,
  • www.dirtymarmotte.co,m
  • dirtymarmotte.net,
  • www.dirtymarmotte.coj
  • www.dirtymarmotte.cojm
  • dirtymarmotte.netj
  • www.dirtymarmotte.cmo
 Afficher toutes les erreurs  Cacher toutes les erreurs