Engineering complex quantum system out of elementary quantum objects such as atoms or photons can boost the speed of some computations, help transmitting confidential information safely, or enhance the precision of measurement devices. Among existing elementary quantum bricks, photons are the only ones that can be transmitted over large distances, but they cannot efficiently interact with each other to form a complex system, which hampers their use in many applications. Our project circumvented this issue by combining tecniques from several branches of quantum engineering. We designed and built a new platform where photons can strongly interact with each other in a controlled way, enabling many applications in quantum communications, logic and simulations.