Menu

Blog

Blog

 Les projets en cours. Episode 1

Je m'éparpille un peu ...

Les projets en cours. Episode 1 Rédigé par ookamy le 10 décembre 2024

Je m'éparpille un peu ...

Je m'éparpille un peu ... Ou beaucoup... Quand on trouve cela divertissant ou encore super intéressant de faire quelque chose, on ne voudrait avoir que le temps de faire cela. Seulement, c'est impossible, la vie est faite d'événements et de conditions qui ne sont pas toujours compatibles avec nos envies : fêtes de fin d'année, familles, travail, chat... Quand j'écris ses quelques lignes, mon chat est dans mes bras, ou plutôt au creux de mes bras, à se laisser bercer par les mouvements de mes avant-bras entraînés par le tapotement délicat de mes doigts sur mon clavier. Il semble très confortable... Jusqu'à ce qu'un élément de mon bureau le transforme en chat chasseur de stylo et tapoteur de touches ! 

Mais je divague...

Il y a quelques semaines, je me suis donné un challenge pour l'année 2025 : passer au moins une certification python présente sur le site de France compétence. Après deux tests techniques a 65 % et 67 %, il faut reconnaître que ma connaissance du langage est limitée par son utilisation quotidienne, mon environnement professionnel ne donne pas l'occasion d'utiliser pleinement les possibilités de ce langage et donc, ne donne pas l'occasion d'utiliser certaines fonctionnalités voir même de prendre connaissance de celle-ci.

L'achat d'un livre d'exercices, python me semble compatible avec mon envie d'apprendre, et surtout la pédagogie de celui-ci est compatible avec ma façon d'apprendre. De la théorie, de la pratique et des blagues... La perfection. J'ai choisi ce livre précisément, car il est dans le top 5 des livres les plus utiles, il nous entraîne dans le langage en douceur et nous présente certains points de façon plus compréhensible pour mon vieux cerveau, et puis, il nous offre un éventail de sujet, du simple 'print', à la création de jeu, en passant par le débogage et des test automatisés.

Cela fait du bien de revoir des concepts connue et d'apprendre des petites conseils en plus.

Alors pourquoi je m'éparpille ? Simplement parce que mon cerveau me dit : "ok, c'est cool, on apprend des trucs, 'MAIS' regarde là, tu pourrais faire un truc encore plus cool..."

C'est comme cela que je me retrouve avec :

  • projet de sudoku en procédurale console, objet console puis en version bureau pour finir une version web...
  • Tien un ordinateur portable qui ne fait plus rien : Aller op un serveur Ubuntu avec nginx
  • si on utilisait enfin ce bot discord développer il y a quelques années ! Bonne idée
  • Hey, on ajoute une application Flask pour l'accès web a mon serveur ? Yeah!

J'ai tendance à partir dans tous les sens quand je commence un projet. Par exemple, l'application Flask, son but, retourner l'information du bon fonctionnement du bot discord sans avoir besoin de me connecter a mon discord. Il va être enrichi, avec le module d'authentification que j'ai développé il y a quelques mois, retourner d'autre process en cours d'exécution, avoir les logs, peut-être même pouvoir relancer les process grâce à une interface sans nécessairement se connecter en SSH.

Bref impossible pour moi de rester sur une seule ligne directrice et j'aime ça. Cela me fait penser qu'il faut aussi que j'avance sur le tutoriel Django. Tout cela a combiné avec ma vie IRL. 

Il n'y aura pas de conclusion dans ce post, juste j'aime faire plein de choses avec mes devs, avec mes ordis, avec mon cerveau. J'ai la chance de pouvoir apprendre et testé dans un domaine qui me plaît ! Et ça, c'est cool

Aller, des bisous 👋 ! Ma vie pro m'appelle 🧐.
Bonne journée o>

 

 


Blog

 Le retour des MEDIA FILES!

Protocole S3 et configuration acharnée !

Le retour des MEDIA FILES! Rédigé par ookamy le 22 octobre 2024

Et Voilà !

Après avoir écumé les forums et différentes configurations, j'ai réussi à faire de n0c storage la destination des fichiers média uploader a travers le site.
Cela a mis du temps, car j'ai communiqué avec le support de PlanetHoster. Nous avons échangé entre le Niveau 1 et le Niveau 2. J'ai trouvé la configuration qui colle bien avec Django, django-storage et l'hébergeur PlanetHoster.

Je commence une série de tutoriels pour Django, en local et en production. Cela sera sûrement imparfait, je tiens juste à aider des développeurs ou curieux.  La partie « astuces » sera enrichie au fur et à mesure, ainsi que les projets. Actuellement, le site est pauvre en information. Le choix de repartir à zéro me donne un peu de travail.

D'ailleurs, pour illustrer le tuto sur Django, je vais créer un dépôt GitLab public et mettre en place l'application sur un serveur vitrine (dev.ookamy.fr) . 

Le programme dans les grandes lignes :

  • Création d'un projet django sur une machine local
  • Gestion des fichiers statics et medias en local
  • Déploiement sur un server heberger PlanetHoster
  • Gestion des fichiers statics et medias avec N0c Storage et le protocole S3

 

Have Fun !

Ookamy 😸


Blog

 Django et MEDIA_ROOT

Sécurité avant tout

Django et MEDIA_ROOT Rédigé par ookamy le 12 octobre 2024

Salutation !

Quand j'ai créé le premier projet web, concernant mon développement d'un bot discord, je me suis dit que j'allais m'attaquer au problème des images qui ne s'affiche pas immédiatement après la validation du formulaire. 

Par naïveté, j'utilisais le "static" pour déposer les fichiers que j'uploadais. NON! SACRILÈGE ! FAQUIN ! Ce n'est pas bien ! Il ne faut pas ! C'est dangereux... Apparemment

Je lis la documentation de Django et modifié le variable media_root. Puis je remplace tout les {% static '/media/' %} par {{ MEDIA_ROOT }}. Résultat impeccable cela fonctionne parfaitement bien ... EN DEBUG MODE !!! Évidement en développement, c'est bien, mais pas en production. En lisant la doc, j'ai loupé cette "petite" information.

Il faut que je trouve une solution viable. Il est possible de changer la configuration apache/nginx ou peut-être placer les fichiers dans un dossier accessible, ou utiliser le service N0C storage de mon hebergeur avec le protocole S3 et le paquet Django-Storages

Pour le moment pas d'images autre que dans les articles (tinymce est pratique pour cela). 


Bon, j'ai de la documentation à manger ! 🤣

~ Ookamy

 


Blog

 Ookamy project Nouvelle version

On reprend tous depuis le début !

Ookamy project Nouvelle version Rédigé par ookamy le 9 octobre 2024

C'est terminé ! 
La migration de la version 1 a la version 2 est faite !
On recommence à zéro pour le contenu du site. J'espère avoir du temps pour alimenter plus souvent le site !

Le processus a fonctionné à merveille :
- duplication de la base de données actuelle pour avoir une sauvegarde viable et fonctionnelle.
- le site en production fonction de paire avec git, donc, dans un terminal et a l'aide une connexion SSH, on met à jour la branche en corrigeant les conflits puis un petit "checkout" pour passer sur la branche de la version 2.
- Mise a jours des paquets python avec "pip install -r requirements.txt".
- Migration de la nouvelle architecture de la base "manage.py migrate".
- Création d'un utilisateur administrateur pour moi, car l'ancienne base n'est pas compatible avec la nouvelle structure. "manage.py createsuperuser".
- Comme on utilise maintenant TinyMCE alors il faut collecter les fichiers statiques "manage.py collecstatics".
- Et enfin, on relance l'application avec un restart.txt (spécifique à mon hébergement).

D'ailleurs pour django-tinymce, j'ai modifié "l'interclassement" de utf8 à utf8mb4 pour avoir les émoticones

Belle journée à vous ! 🥰

  • 1