Du Python, du Blender, un futur let’s play Factorio moddé et Linux

La semaine du 8 au 13 janvier 2018, toujours le même projet. J’ai continué le montage de la vidéo sur mon Inktober. Je vous mets une capture d’écran du moment où j’ai fais un peu se script Python, appris plus de trucs en animations, fait du texte 3D. J’adore apprendre de nouvelles choses en créant mes idées 🙂 Sur l’image, on ne voit pas le script Python, mais la tête de mon Blender pour le montage. Oui j’ai besoin de plusieurs écrans, c’est maintenant devenu une évidence 😀

Montage complexe Inktober 2017Depuis cette image, j’ai bien sûr ajouté des trucs. Et ce n’est pas tout pour cette semaine. J’ai aussi préparé et tourné le premier épisode d’une série let’s play sur Factorio avec des mods. Malgré ce qui est arrivé avec le let’s play sur Lethis, ça ne me semblait pas une bonne chose d’en rester là. Avec une meilleure organisation et l’acceptation de mes imperfections, ainsi que mon nouvel environnement de création et de jeu, Linux, je peux essayer une approche différente. Peut-être que je retenterai Lethis un jour, mais en attendant, je prends plaisir à jouer à Factorio, et plus encore avec tout les mods que j’ai décidé d’associer ensemble. L’objectif de cette série est de m’amuser sous vos yeux et de vous parler, tout en prenant tout mon temps pour bâtir une megabase comme on en trouve dans les vidéos anglophones 🙂 Je sortirai cette série courant ou fin printemps. C’est la grande différence avec Lethis. Je joue, fais des montages simples sous Blender, utilise un script Linux que je vais coder pour copier un projet Blender de base avec le début et la fin déjà en place pour accélérer la production, et une fois toute une saison prête, je diffuse une ou deux fois par semaine, dans le calme 😀

Tout à l’heure, j’ai commencé le montage du prochain épisode de Tetris. Je suis à la moitié, et je reprendrai un peu lundi. En m’y prenant à raison d’une demi-heure tout les deux jours, je devrai réussir à finir de publier cette série avec une sortie d’épisode une fois par semaine. Je verrai bien, mais en tout cas, vous n’aurez plus trop à attendre pour la suite des épisodes dorénavant 🙂 Aussi, je devrai me remettre au développement de TFL, Demiurge Mini, etc… dans une semaine ou une semaine et demi, le temps de bien finir proprement la vidéo du Inktober. Vous l’avez sûrement compris, en ce moment les semaines ne se limite qu’à ma casquette de vidéaste. Bien que dans Factorio, je joue les ingénieures et que dans mes montages sous Blender, il y a un peu d’infographie et de programmation avec Python :p

Ah oui, et j’ai enfin pu mettre à jour mon OS, en réduisant la partition /temp qui était bien trop grande (contenu qui ne dépassait jamais 1%) et ainsi agrandir la partition /var. J’ai aussi agrandit la partition /boot que j’avais limité à 496 Mo, croyant au départ que ça suffisait. La raison est qu’avant d’installer Xubuntu, si vous vous souvenez bien, j’avais testé FreeBSD. Seulement voilà, FreeBSD est Unix, alors que Linux n’est pas Unix. Sur un système Unix comme FreeBSD, le /boot doit être exactement de 496 Mo, ce qui est totalement faux sous Linux qui du coup de nos jours à besoin de bien plus. C’est ce qui provoquait l’incapacité à mettre à jour mon système et même d’installer de nouveaux logiciels. Enfin bref, c’est de l’histoire ancienne maintenant 🙂

Capture d’écran_2018-01-12_19-29-04Du coup, je me suis amusée à créer des lanceurs pour Factorio sous Linux. Un lanceur dans mon répertoire Jeux-vidéo de ma grosse partition personnelle, et un autre dans le start menu, catégorie Jeux. Les lanceurs utilisent une icône du jeu que j’ai pioché sur Internet car il n’y en a pas par défaut dans la version pour Linux. D’où pourquoi je l’ai ajouter pour agrémenter et aussi j’ai ajouté une option de commande pour dimensionner la fenêtre du jeu à 1600×900. Un format 16:9 qui me permet de filmer ma partie sous OBS en qualité correct pour mon let’s play, en toute simplicité. La version du jeu que j’ai installé (0.15.40) ne contient pas d’option pour changer la résolution du jeu dans le menu. Mais, je suis sous Linux 😀 Je sens qu’avec cet OS, je vais me facilité la vie pour créer, apprendre des trucs et simplement rendre mon ordinateur plus confortable :p

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

recaptcha/recaptchalib.php at 1.0.0 · google/recaptcha · GitHub
Skip to content
Permalink
Switch branches/tags
Find file
8a45f9d Dec 1, 2014
141 lines (129 sloc) 4.47 KB
<?php
/**
* This is a PHP library that handles calling reCAPTCHA.
* - Documentation and latest version
* https://developers.google.com/recaptcha/docs/php
* - Get a reCAPTCHA API Key
* https://www.google.com/recaptcha/admin/create
* - Discussion group
* http://groups.google.com/group/recaptcha
*
* @copyright Copyright (c) 2014, Google Inc.
* @link http://www.google.com/recaptcha
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* A ReCaptchaResponse is returned from checkAnswer().
*/
class ReCaptchaResponse
{
public $success;
public $errorCodes;
}
class ReCaptcha
{
private static $_signupUrl = "https://www.google.com/recaptcha/admin";
private static $_siteVerifyUrl =
"https://www.google.com/recaptcha/api/siteverify?";
private $_secret;
private static $_version = "php_1.0";
/**
* Constructor.
*
* @param string $secret shared secret between site and ReCAPTCHA server.
*/
function ReCaptcha($secret)
{
if ($secret == null || $secret == "") {
die("To use reCAPTCHA you must get an API key from <a href='"
. self::$_signupUrl . "'>" . self::$_signupUrl . "</a>");
}
$this->_secret=$secret;
}
/**
* Encodes the given data into a query string format.
*
* @param array $data array of string elements to be encoded.
*
* @return string - encoded request.
*/
private function _encodeQS($data)
{
$req = "";
foreach ($data as $key => $value) {
$req .= $key . '=' . urlencode(stripslashes($value)) . '&';
}
// Cut the last '&'
$req=substr($req, 0, strlen($req)-1);
return $req;
}
/**
* Submits an HTTP GET to a reCAPTCHA server.
*
* @param string $path url path to recaptcha server.
* @param array $data array of parameters to be sent.
*
* @return array response
*/
private function _submitHTTPGet($path, $data)
{
$req = $this->_encodeQS($data);
$response = file_get_contents($path . $req);
return $response;
}
/**
* Calls the reCAPTCHA siteverify API to verify whether the user passes
* CAPTCHA test.
*
* @param string $remoteIp IP address of end user.
* @param string $response response string from recaptcha verification.
*
* @return ReCaptchaResponse
*/
public function verifyResponse($remoteIp, $response)
{
// Discard empty solution submissions
if ($response == null || strlen($response) == 0) {
$recaptchaResponse = new ReCaptchaResponse();
$recaptchaResponse->success = false;
$recaptchaResponse->errorCodes = 'missing-input';
return $recaptchaResponse;
}
$getResponse = $this->_submitHttpGet(
self::$_siteVerifyUrl,
array (
'secret' => $this->_secret,
'remoteip' => $remoteIp,
'v' => self::$_version,
'response' => $response
)
);
$answers = json_decode($getResponse, true);
$recaptchaResponse = new ReCaptchaResponse();
if (trim($answers ['success']) == true) {
$recaptchaResponse->success = true;
} else {
$recaptchaResponse->success = false;
$recaptchaResponse->errorCodes = $answers [error-codes];
}
return $recaptchaResponse;
}
}
?>
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Fatal error: Class 'ReCaptcha' not found in /homepages/39/d436294224/htdocs/clickandbuilds/TheeDonistMonk/index.php on line 29