Parlons de votre projet

Blog PartITech

Blog technologique

Analyses techniques, guides pratiques et retours d’expérience pour concevoir, moderniser et maintenir des applications durables.

221 articles Page 11

Configurer Exim pour envoyer les emails avec Gmail

Nous allons voir comment configurer Exim4 pour envoyer des emails système avec Gmail. Cela permettrait que vos emails envoyés avec vos CRON soient correctement routés et n’atterrissent pas dans les spams. Installons Exim4 apt-get install exim4 Configuration dpkg-reconfigure exim4-config Choisissez : mail sent by smarthost; no local mail Ensuite répondez aux questions comme suit : System mail nam...

Sonata Admin : DataMapper et autowiring

Si vous avez un besoin spécifique de transformation de données entre le formulaire et l’enregistrement de votre entité et que vous pensez que ce code de transformation devrait se trouver dans un service, car cela vous semble plus logique, vous pouvez utiliser le dataMapper en utilisant l’injection de dépendances fournie par Symfony. Mais alors comment le mettre en oeuvre ? Un petit rappel sur le DataMapper. Si on s’accorde à la documentati...

SF6 / Sonata 5 : Gérer une interface OneToMany dans un CRUD avec CollectionType de Sonata

Dans cet exemple nous allons prendre le cas concret d’une interface simple qui comprend des éléments multiples. Nous avons choisis d’utiliser une table « Projets » dans laquelle nous allons affecter des documents. Donc pour un projet, nous pouvons affecter plusieurs documents. Et pour faciliter l’administration, nous allons faire en sorte de pouvoir gérer notre interface imbriquée directemen...

PHP FFI : utiliser une bibliothèque Kotlin Multiplatform — partie 4

Avec Stéphane Péchard https://www.linkedin.com/in/stephanepechard/, expert Android et guru KMP, on s’est demandé si développer un algorithme sous KMP et l’exécuter directement en PHP serait réalisable. Le cahier des charges était simple : le dev Android (Stéphane donc) me fournit un header file, un .so et je me débrouille. Avec le header file, l...

PHP FFI : callbacks — partie 3

Le CallBackJ’ai pu remarquer pendant la préparation de cet article que pas mal de ressources sur le net utilisent la libc directement pour faire leurs exemples. Vous trouverez facilement des exemples assez démonstratifs et simples. Mais pour faire cool et original, je me suis dit “allez moi aussi je vais trouver un truc à montrer avec cette libc”. M’enfin… si c’est juste passer une structure comme le font la pl...

PHP FFI : passage de paramètres — partie 2

Appeler directement la librairie php ?Et si on s’amusait à réaliser un bout de code qui ne sert à rien ? Allez !!! Allez !! Allez !!!Bon OK. Je vous propose comme truc inutile d’utiliser PHP pour appeler une lib en C qui utilise le Zend Engine.En réalité ce paragraphe n’est pas aussi inutile que cela. Son but est de vous montrer un comportement particulier 🙂PHP-ffi a quelques limitations ...

PHP FFI : introduction — partie 1

IntroductionDepuis la version 7.4 de PHP nous avons enfin accès aux fonctions d’interopérabilité entre les différents langages et PHP: le FFI ou Foreign function interface.FFI c’est quoi ? C’est tout simplement la possibilité d’utiliser une librairie externe (.dll ou .so) directement dans PHP, et ce, sans avoir à créer un module PHP. Oui oui, juste avec un script PHP !&nb...

Symfony 6 / Sonata 5 : Installation de SonataClassification.

Nous avons vu dans les article précédents comment initialiser un projet Symfony 6 + Sonata 5 avec les médias et les utilisateurs dans un admin sécurisé. Nous avons vu ensuite comment gérer les localisations de l’utilisateur.Nous allons voir maintenant comment installer et gérer les classifications. On procède à l’installation de la dernière version en date. php8.1 composer...

Symfony 6 / Sonata 5 : Lier les locales et le fuseau horaire aux préférences utilisateur.

Nous avons vu dans un article précédent comment installer Symfony 6 + Sonata Admin 5 avec une gestion d’utilisateurs et de médias. Nous allons poursuivre cette installation avec la configuration des langues et des fuseaux horaires. Nous allons installer intlBundle qui permet de gérer l’affichage localisé. php8.1 composer.phar require sonata-project/intl-bundle On en profite pour ajouter un champs timezone et...

Symfony 6 / Sonata 5 : Initialiser un projet Symfony 6 + Sonata admin 5 + UserBundle + MediaBundle

Voici les commandes pour initialiser un projet Symfony avec un admin sécurisé. Pour faire tourner Symfony 6 nous devrons installer php8.0 ou php8.1 Pour php8.0 sudo apt-get install php8.0-cli libapache2-mod-php8.0 php8.0-common php8.0-opcache php8.0-igbinary php8.0-imagick php8.0-msgpack php8.0-readline php8.0-memcached php8.0-xml php8.0-mbstring php8.0-gd php8.0-mysql php8.0-curl php8.0-intl php8.0-memcache php8.0-memcached memcached libapache2-mod-php8...

Installer Dropbox headless sur un serveur Linux

Dropbox est un service de stockage et de partage de copies de fichiers locaux en ligne proposé par Dropbox Inc. Via un agent installé sur votre ordinateur ou mobile, il est capable de synchroniser une arborescence sur le cloud et permet ainsi une sauvegarde et un versionning de celui-ci.L’usage classique de Dropbox est d’utiliser un outil sur votre Desktop. Un usage moins évid...

Créer un token sur la Binance Smart Chain

Nous allons voir comment créer un Token (Smart Contract) sur la Binance Smart Chain (BSC) et le déployer afin de permettre à tout le monde de le trader.Nous partons du principe que vous connaissez déjà les principes de la crypto monnaie, que vous en avez déjà acheté, et que savez comment fonctionne les portefeuilles (wallets).Les Smart Contracts sont des programmes qui contrôlent directement des a...