GOOGLE CHROME : Activer WebGL

D’abord, activer l’accélération matérielle :

  • Ouvrir la page chrome://settings
  • tout en bas, « Afficher les paramètres avancés »
  • dans « Système », cocher « Utiliser l’accélération matérielle (le cas échéant) »

 

Activer WebGL :

  • Ouvrir la page chrome://flags
  • Vérifier que « Disable WebGL » n’est pas activé – il faut redémarrer Chrome ensuite – il le propose en bas.

 

Vérifier que c’est OK :

  • Ouvrir la page chrome://gpu
  • Dans « Graphics Feature Status », vérifier le dernier « WebGL ». 

Le statut doit être un parmi :

  • « Hardware accelerated » => OK
  • « Software only, hardware acceleration unavailable » => OK
  • « Unavailable » => ça ne fonctionne pas

 

Tous les codes de réponse HTTP

HTTP Status 2xx – OK/SUCCESS

200 OK – Standard response for successful HTTP requests
201 Created – Request has been fulfilled; new resource created
202 Accepted – Request accepted, processing pending
203 Non-Authoritative Information – Request processed, information may be from another source
204 No Content – Request processed, no content returned
205 Reset Content – Eequest processed, no content returned, reset document view
206 Partial Content – Partial resource return due to request header
207 Multi-Status –  XML, can contain multiple separate responses
208 Already Reported – Results previously returned
226 IM Used – Request fulfilled, reponse is instance-manipulations

HTTP Status 3xx – REDIRECTION

300 Multiple Choices – Multiple options for the resource delivered
301 Moved Permanently – This and all future requests directed to the given URI
302 Found – Temporary response to request found via alternative URI
303 See Other – Permanent response to request found via alternative URI
304 Not Modified – Resource has not been modified since last requested
305 Use Proxy – Content located elsewhere, retrieve from there
306 Reserved – Subsequent requests should use the specified proxy
307 Temporary Redirect – Connect again to different URI as provided
308 Permanent Redirect – Resumable HTTP requests

HTTP Status 4xx – CLIENT ERROR

400 Bad Request – Request cannot be fulfilled due to bad syntax
401 Unauthorized – Authentication is possible but has failed
402 Payment Required – Payment required, reserved for future use
403 Forbidden – Server refuses to respond to request
404 Not Found – Requested resource could not be found
405 Method Not Allowed – Request method not supported by that resource
406 Not Acceptable – Content not acceptable according to the Accept headers
407 Proxy Authentication Required – Client must first authenticate itself with the proxy
408 Request Timeout – Server timed out waiting for the request
409 Conflict – Request could not be processed because of conflict
410 Gone – Resource is no longer available and will not be available again
411 Length Required – Request did not specify the length of its content
412 Precondition Failed – Server does not meet request preconditions
413 Request Entity Too Large – Request is larger than the server is willing or able to process
414 Request-URI Too Long – URI provided was too long for the server to process
415 Unsupported Media Type – Server does not support media type
416 Requested Range Not Satisfiable – Client has asked for unprovidable portion of the file
417 Expectation Failed – Server cannot meet requirements of Expect request-header field
422 Unprocessable Entity – Request unable to be followed due to semantic errors
423 Locked – Resource that is being accessed is locked
424 Failed Dependency – Resource that is being accessed is locked
426 Upgrade Required – Client should switch to a different protocol
428 Precondition Required – Origin server requires the request to be conditional
429 Too Many Requests – User has sent too many requests in a given amount of time
431 Request Header Fields Too Large – Server is unwilling to process the request

HTTP Status 5xx – SERVER ERROR

500 Internal Server Error – Generic error message
501 Not Implemented – Server does not recognise method or lacks ability to fulfill
502 Bad Gateway – Server received an invalid response from upstream server
503 Service Unavailable – Server is currently unavailable
504 Gateway Timeout – Gateway did not receive response from upstream server
505 HTTP Version Not Supported – Server does not support the HTTP protocol version
506 Variant Also Negotiates (Experimental) – Content negotiation for the request results in a circular reference
507 Insufficient Storage – Server is unable to store the representation
508 Loop Detected – Server detected an infinite loop while processing the request
509 Unassigned – Bandwidth limit exceeded
510 Not Extended – Further extensions to the request are required
511 Network Authentication Required – Client needs to authenticate to gain network access

WORDPRESS : les chmod que j’applique pour une sécurité maximale

Aucun dossier ou fichier ne doit être en 777. Jamais. Nulle part.

Tous les fichiers et dossiers doivent appartenir à l’utilisateur correspondant au serveur web. Avec Apache, c’est souvent www-data.

Les dossiers

  • Tous les dossiers doivent être en 755
  • Tous les dossiers des thèmes peuvent être en 775

Les fichiers

  • Tous les fichiers doivent être en 644
  • .htaccess (seulement si on a Apache) doit être en 644
  • sitemap.xml doit être en 666
  • robots.txt en 755
  • wp-config.php doit être en 640, voire 400 si tu es parano et que tu sais quand et comment le modifier (c’est mon cas)

 

Consulter un site en Flash depuis un terminal Android

Contre toute attente, on PEUT tout à fait afficher une animation Flash SWF ou un site web en Flash sur un terminal Android, comme une tablette ou un téléphone. C’est juste un peu de manipulations, mais rien de méchant.

  1. Installer Dolphin Browser, disponible dans Google Play Store
  2. Lancer Dolphin Browser sur le terminal Android
  3. Aller sur l’icone « dauphin », puis « Settings » pour activer le Dolphin Jetpack
  4. Plus bas dans « Settings » toujours, activer « Flash Player »
  5. Vous pouvez maintenant afficher un site web en flash ou votre propre animation !

A noter que Dolphin Browser permet également du fullscreen.

4 outils pour contrôler un ordinateur à distance

ANYDESK

Le plus pratique pour moi. Il est gratuit. Sa taille de téléchargement est toute petite (1,5mo) et il s’installe très vite. Existe également en version standalone.

A noter qu’on peut travailler à 2 souris sur 1 seul PC et ça c’est génial.

Bizarrement, alors qu’il est entièrement gratuit, c’est le plus rapide que j’ai testé. Très pratique pour travailler sur des PC situés à des endroits où les connexions sont compliquées, comme en Afrique.

TEAMVIEWER

Très complet et pratique. Il permet les conférences. Mais je ne l’utilise plus.

2 inconvénients à mon avis :

1. Le prix. Il est très cher par rapport à Anydesk et ne propose guère plus d’options pour une utilisation « de base », quand depuis un PC on prend la main sur un autre PC.

2. La gestion des versions. Ainsi j’ai acheté la version 10, version complète max à 2000 euros. Géniale pour une société car on peut être plusieurs à utiliser le même compte en même temps. Et on peut installer et utiliser ce compte depuis un nombre illimité de postes. Quand j’ai du déployer un parc de plusieurs dizaines de PC dont je garde le contrôle auprès de ma clientèle, tout va bien. Mais lorsque la version 11 sort, on se retrouve baisé car la version 10 ne peut pas se connecter si le PC cible a la version 11.

Je n’ai jamais compris ce modèle commercial. J’aurais continué à utiliser Teamviewer si la société proposait un abonnement mensuel accessible avec suivi des mises à jours. Mais là 2000 euros pour se voir refuser systématiquement la connexion à chaque nouvelle version, c’est me prendre pour un con (par rapport à la concurrence, j’entends).

VNC

Plus spartiate, je m’en sers sur des réseaux locaux, en interne pour tester des PC sans écrans.

Il existe une version payante plus commerciale.

C’est selon moi celui permet de transférer des fichiers le plus facilement d’un PC à l’autre.

GOOGLE CHROME DESKTOP

C’est celui qui s’installe le plus facilement car c’est juste un plugin Google Chrome. Idéal pour donner un coup de main à la famille.

Simple d’utilisation. Je ne l’utilise pas simplement parce que Google a pour moi l’image de la société qui regarde et stocke tout ce que tu fais.

Des sauts de lignes responsive

Pour couper les lignes de texte à l’endroit où on le souhaite lorsque l’écran devient trop petit en largeur, j’utilise 2 solutions qui sont assez similaires.

Balise <br />

Utiliser la balise <br /> avec un display à none ou block, en @media queries, selon la taille de l’écran.

Ici, au dessus de 768px de large, la balise <br /> est désactivée. En dessous, elle sera active.

<style>
    @media screen and (min-width: 768px){ 
        .br-responsive { display: none; } 
    }
</style>
<p>blabla <br class="br-responsive">blibli</p>

Balise <span></span>

Même idée, mais ici, la valeur de « display » est « block » sous la taille souhaitée, et « inline » au dessus.

<style>
    .br-responsive { display:block; }
    @media screen and (min-width: 768px){ 
        .br-responsive { display: inline; } 
    }
</style>

<span class="rwd-line">ligne 2</span>

A toi de voir selon le cas quelle est la meilleure méthode !

JAVA : « Build path > No actions available » dans Eclipse

J’ai un projet dans Eclipse, mais quand j’ouvre le menu contextuel, sur « Build Path », il n’y a que « No actions available »

SOLUTION 1

Fermer Eclipse,

Ouvrir le fichier « .project »

Remplacer par :


<projectDescription>
    <name>MON_PROJET</name>
     <comment></comment>
     <projects>
     </projects>
     <buildSpec>
         <buildCommand>
             <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
             </arguments>
         </buildCommand>
     </buildSpec>
     <natures>
         <nature>org.eclipse.jdt.core.javanature</nature>
     </natures>
</projectDescription>

Sauvegarder

Redémarrer Eclipse

Tous langages : hiérarchiser ses commentaires

Quand je commence à avoir beaucoup de lignes de codes, j’ai besoin de hierarchiser un minimum mon fichier code. Un peu comme un article de blog a besoin d’un titre, de sous-titres et de paragraphes, ou comme un article de journal a besoin d’une structure.

Pour cela, aucun code ne propose de solutions.
Ma solution, c’est d’utiliser des titres dans les commentaires. Par exemples « METHODES PUBLIQUES » puis « METHODES PRIVEES ».

Pour cela, j’utilise ce site : http://patorjk.com/software/taag/

Qui me permet de générer des mots utilisant les caractères ASCII, dans une taille supérieure.

Exemple :

  ____  ____  _____     ___  _____ _____ 
 |  _ \|  _ \|_ _\ \   / / \|_   _| ____|
 | |_) | |_) || | \ \ / / _ \ | | |  _|  
 |  __/|  _ < | |  \ V / ___ \| | | |___ 
 |_|   |_| \_\___|  \_/_/   \_\_| |_____|

(ça rend mieux dans Eclipse ou tout éditeur standard)

Ainsi lors que je parcours rapidement un fichier, je peux en 2 secondes me faire une idée de la structure et où chercher mon info.

Je te recommande des polices simples à la lecture.

Polices recommandées :

  • Standard
  • Varsity
  • ANSI Shadow => plus contrastée

BONUS : Si tu vas dans « More options », tu peux ajouter à l’avance les // ou /* */

As-tu d’autres trucs pour t’y retrouver dans les pages de codes ? Si oui, partage-le en commentaires !

JAVA : transformer un byte ou tableau de byte[] en chaine lisible

Voici un code pour transformer soit un byte, soit un tableau de bytes (byte[]) en une chaine lisible de type hexa 00 01 02 03 04 05 FA FB FC FD FE FF

  final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
  
  // Un tableau de bytes => une chaine lisible de type 00FF003C3A
  public static String bytesToHex(byte[] bytes) {
      char[] hexChars = new char[bytes.length * 2];
      for ( int j = 0; j < bytes.length; j++ ) {
          int v = bytes[j] & 0xFF;
          hexChars[j * 2] = hexArray[v >>> 4];
          hexChars[j * 2 + 1] = hexArray[v & 0x0F];
      }
      return new String(hexChars);
  }
  
  // Un byte => 2 charactères hexa lisibles de type 3A
  public static String byteToHex(byte bytes) {
   char[] hexChars = new char[2];
   int v = bytes & 0xFF;
   hexChars[0] = hexArray[v >>> 4];
   hexChars[1] = hexArray[v & 0x0F];
      return new String(hexChars);
  }